・
「DifyでAIアプリを作ってみたけど、思ったような回答が返ってこない…」
「プロンプトの書き方が難しくて、結局チャットボットが使い物にならない」
そんな悩みをお持ちではありませんか?
Difyはノーコードで簡単にAIアプリを構築できる強力なツールですが、その真価を発揮するためには、AIへの指示出しである「プロンプト」の設計が非常に重要。
特に、Dify独自の機能である「変数」や「プロンプト生成器」を使いこなせるかどうかが、アプリの品質を大きく左右します。
この記事では、実際に筆者が試した3つの検証結果とDifyのプロンプト作成術を詳しく解説。
さらに、記事後半ではコピペでそのまま使える3つの「実務特化型テンプレート」も公開!
ぜひDifyアプリの作成にお役立てください。
Difyを使えば高度なAIアプリを作成できますが、作成したコンテンツをSlackに通知したり、Googleドキュメントに保存するといった「業務フロー全体の自動化」には、手間がかかることも...
そこでおすすめなのが「Yoom」。
YoomはDifyやClaudeなどのAIと普段使っているSaaS(Slack、kintoneなど)を連携させ、ノーコードで業務を自動化できるツールなんです!
例えば、「フォームの情報をもとにDifyで文章を生成してメールを送る」「特定のレコードが登録されたら、Difyで要約して更新」といったフローも、Yoomならテンプレートを選ぶだけで簡単に実現できます。
■概要
Googleフォームで受け付けた問い合わせやアンケートへの返信は、一件ずつ内容を確認して文章を作成する必要があり、手間がかかる業務ではないでしょうか?このワークフローを活用すればGoogleフォームに回答が送信された際、その内容をもとにDifyが最適な文章を自動で生成し、Outlookから返信メールを送信するといった一連の流れを自動化できます。
■このテンプレートをおすすめする方
■このテンプレートを使うメリット
■フローボットの流れ
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
■注意事項
■概要
kintoneに日々登録される大量のレコード情報、その内容を把握し、要点をまとめて更新する作業に手間を感じていませんか。手作業での対応は時間もかかり、他の重要な業務を圧迫することもあります。このワークフローを活用すれば、kintoneに特定のレコードが登録された際に、Difyが自動で内容を要約し、その結果をkintoneの該当レコードに更新するため、これらの課題を解消し業務の効率化を実現します。
■このテンプレートをおすすめする方
■このテンプレートを使うメリット
■フローボットの流れ
※「トリガー」:フロー起動のきっかけとなるアクション、「オペレーション」:トリガー起動後、フロー内で処理を行うアクション
■このワークフローのカスタムポイント
■注意事項
まずは、Difyでプロンプトを書く上で知っておくべき3つの基本機能を押さえておきましょう。
AIモデルは、Markdown形式で整理された指示を好むので、だらだらと文章で書くのではなく、「役割」「制約条件」「出力形式」といった見出しをつけて情報を区切ることで、AIの理解度が格段に向上します。
Difyの最大の特徴が「変数」。
プロンプト内に{{input}}や{{context}}と記述することで、ユーザーが入力した内容や前の手順(検索結果など)で得た情報を動的にプロンプトに埋め込むことができます。
「どんなプロンプトを書けばいいかわからない」という人のために、DifyにはAIがプロンプトを代筆してくれる機能【プロンプト生成器】があります。やりたいことを簡潔に「指示」に書くだけで、変数を含めた高難度なプロンプトが短時間で生成されるんです!
「ポイントを押さえるべきところはどこか」「変数はどんなものを設定すればいいのか」と悩んだ時には、まずこのツールを試して見ることをお勧めします。
それでは早速、AIに投稿するためのプロンプトのコツを押さえて検証を進めてみましょう。
作成するアプリはいずれも「エージェント」機能を選択しています。
最後に、AIの回答形式や口調(キャラ設定)を安定させるためのテクニック「プロンプトによる具体指示」を検証しました。
ただ「関西弁で話して」と指示するだけでなく、具体的な会話例を与えた場合と与えなかった場合で、出力がどう変わるか比較します。
まずは例示なしの場合。
「あなたはフレンドリーなAIアシスタントです。関西弁で元気に挨拶して」とだけ、プロンプトを設定し、アプリを公開します。
出力されたのは「まいど!ワイ、フレンドリーなAIアシスタントやで!」といった返答。
必要なことだけを出力している印象を受けますね。
では、例示ありの場合はどうでしょうか?
・役割
あなたはフレンドリーな関西のおっちゃん風AIアシスタントです。
いつも明るく冗談まじりに話し、相手のことを気遣うのが得意です。
・会話のトーンと口調
一人称は「ワイ」を使ってください。
語尾は「〜やで」「〜やな」「〜やん」「〜で〜」などを自然に使ってください。
標準語はできるだけ使わず、関西弁で話してください。
相手をリラックスさせる、やわらかい話し方にしてください。
・会話例
〜(省略)〜
結果は以下のとおりです!
例示を与えた方は、「へへっ」「どんな話聞かせてくれる?」というように感情表現が豊かで、例示なしバージョンと比較してもこちらの方が【関西のおっちゃんらしさ】がよく表現されています。
『相手をリラックスさせる、やわらかい話し方』とキャラクターの口調を固定させることも重要で、この点が曖昧だと会話のトーンも安定しない可能性があります。
また、『会話例』を提示してすることで、どの形式で出力するのかを明確にすることも可能。
このように、言葉で説明するよりも「例」を見せる方が、AIは指示を正確に理解できるんです!
特に口調やJSON形式などの特殊なフォーマットを出力させたい場合は、必ず「出力例」を含める必要があることを念頭においておきましょう。
続いては、変数の活用!
「ユーザー入力によって回答が変化する」仕組みがどういったものかを「学習プラン提案ボットの作成」で検証してみました。
入力した「学習したい言語(例:Python)」と「確保できる時間(例:1日1時間)」を変数として受け取るため、プロンプトに埋め込みます。
Difyは入力項目として設定した内容を、プロンプト内で{{}}を使って呼び出すことができるんです!
設定プロンプト
・役割
あなたはプログラミング学習のコーチです。
・前提
ユーザーはプログラミングの基礎をこれから学びたい、または基礎を復習したいと考えています。
学習の継続が苦手な人でも、無理なく続けられるようなプランを提案してください。
・ユーザー入力(変数)
学習したい言語:{{language}}
1日に確保できる学習時間:{{time}}
このように学習言語と学習時間を変数として設定してみました。
ちなみに、プロンプトに変数を組み込む以外にも『変数』項目の「+追加」をクリックすれば、好きなフォーマットで変数を設定できます。
では、この内容でアプリを公開して情報を入力してみましょう!
入力:「Python」「1日30分」の場合
出力:「環境準備や基礎文法を中心とした、無理のないスモールステップのプラン」が提案されました。
ただ機械的にプランを提供するのではなく、励ましの言葉も含めて結果が出力されているのが印象的です。
入力:「JavaScript」「1日3時間」の場合
出力:「1.2週間で基礎を終え、3週目からアプリ開発に着手する集中プラン」を提案。
曜日毎にタスクが振り分けられているので、適度に段階を踏みながら自分のペースで学習できるような内容になっていました。
いずれの提案プランも、変数に応じた適切な内容となっていました!
このように変数を活用することで、汎用性の高い「自分専用のアドバイザー」が簡単に作れます。
固定のプロンプトでは実現できない、Difyならではの強みです!
最後に、Difyの「プロンプト生成器」がどれくらい使えるのかを検証してみました。
これを使えば、プロンプトエンジニアリングの知識がなくても高品質な指示が出せるはず!
さっそく、Difyのプロンプト入力欄にある「自動」アイコンをクリックし、「指示」に以下のざっくりとした指示を入力しました。
プログラミング初心者向けのブログ記事を書く