プロンプトはDifyのアプリケーションにおいて、必須かつ重要な項目です。
プロンプトの書き方により、応答のパターンが幾通りにも分化します。
この記事では、アプリケーションにおいてのプロンプトの書き方を、具体例とともに解説します。
文章が苦手な人でも、記載したプロンプト例をもとにアプリの構築を実践していただける記事になっています。

生成AI活用の教科書
生成AIの専門家として、1000人以上が参加するAIセミナーを100回以上開催した実績を持つ。国会議事堂衆議院会館や三井物産株式会社などの一流機関でのAIセミナー主催、生成AIタスクフォースへの参画、Shift AIでの講師活動など幅広く活躍。5000名を超える「人生逃げ切りサロン」のAI講座監修や、上場企業におけるAI顧問・システム開発・研修なども手がける。総フォロワー数32万人を誇るAI情報発信アカウントを運営し、過去には3つの事業のM&A経験を持つなど、AIと経営の両面で豊富な知識と経験を有している。
Difyにおけるプロンプトの基本構成

Difyにおいては、プロンプトは次の4つの要素から成立します。
プロンプトは、AIが行う処理の命令となる文章です。
AIの操作や論理的思考力、そして文章力が必要です。
プロンプトの基礎事項を理解して作成しましょう。
プレフィックスプロンプト (System Prompt / Instruction)

AIが必須で行う動作を定義するのが、プレフィックスプロンプトです。
ここでは、アプリケーションの目的やAIが最終的に出力する結果の概要や、回答作成の手順を記します。
後述しますが、AIに出力する回答の形式や口調や書き方を具体的に指示します。
チャットボットやエージェントにおいては、オーケストレーション、手順、ワークフローではLLMノードのSYSTEM、USER、ASSISTANTの部分で定義します。
ユーザーインプット (Query)

ユーザーからのインプットは、アプリケーションにおけるトリガーとなり、インプットをもとにAIは処理を開始します。
インプットはほとんどがAIに対する問いかけとなり、知りたいことを解決するのが目的です。
インプットは自由記述となりますが、内容により対応を柔軟に変更させることも可能です。
変数 (Variables)

AIアプリケーションにおいては、変数の受け渡しを扱うパターンが多いです。
変数といっても、難しい設定は必要ありません。
変数名を定義するだけで、「こんにちは○○(ユーザーの名前)さん。」とAIの応答に変数を利用することができます。
プロンプト内での扱いも候補から選べるなど、難しくないのがDIfyのプラットフォームの使いやすいところです。
変数を活用することは、Difyのアプリケーション開発のステップアップにつながります。
コンテキスト (Context)
DifyのAI機能はコンテキストを利用することによって利便性が高まります。
コンテキストとは外部文書や特定のサイトの情報のことで、専門的な情報を扱うことが可能です。
プロンプトにて、コンテキストを直接指定して検索することができるのが特徴です。
社内独自の情報のスペシャリストという役目を負わせることもできるので、コンテキストを活用することをおすすめします。
会話履歴 (Conversation History)
チャット形式の場合、会話履歴を記憶することが可能です。
記憶しながら聞かれたことに返事を行い、自然な流れで相手とコミュニケーションを行えるのがAIアプリの特徴です。
一方通行にならず、会話の履歴から再度振り返りを行い、「○○と言いましたよね。」という利用方法もあります。
それまでの内容により、次の処理の分岐を行うことも1つの活用方法です。
Difyで効果的なプロンプトを作成するテクニック

Difyのアプリケーション開発において、効果的なプロンプトを作成するテクニックをお伝えします。
プロンプトは、AIの動作を決定するもっとも重要な項目です。
想定する回答を導くために、明確で正確な指示を作成することでAIを巧みに活用できます。
テクニック1:明確な役割を与える
プロンプトでは、まずはAIに自分の役割を指示します。
具体的には、以下のような形です。
あなたはビジネスマナーの専門家です。質問された内容に対して真摯に回答してください
プロンプトの所見の方には馴染みがないと思われますが、この定型文は重要なウェイトを占めます。
AIに自分のポジションや責務を自覚させることで、回答の口調、知識レベル、視点が固定となります。
理想通りの回答を出力するアプリケーションを作成するためのペルソナ設定をしたら、次は具体的な指示です。
テクニック2:具体的な指示を出す
AIに具体的な指示を出します。
ポイントは箇条書きで、手順を踏んで指示を出すことです。
具体的な例を挙げます。
1.キーワードからWEBで必要な情報を収集する
2.ユーザーにとって有益かつ求める項目をまとめてください
3.重要な項目から見出しをつけて出力してください
テクニック3:出力形式を指定する
出力形式を詳しく記述します。
形式と言っても、数値、テキスト、HTML形式という形式をはじめ細かい書き方まで指定ができます。
例を1つあげます。
出力形式の例です。
34歳の女性の方にハイキングにおすすめの服装ですね。
動きやすいスウェットや、ランニングスタイルのジャージなどがいいです。
途中の寒さ対策のため上着やTシャツの着替えを用意するといいでしょう。
靴は、転んでも足を守るためにスニーカーが最適です。
テクニック4:具体例を示す
具体的な例を示します。
ユーザーの入力から出力結果の流れを示すことで、AIが全体像を把握できます。
応答パターンの例を示すことで、予期しない回答が出て困ることもありません。
以下は、指示としてプロンプトに記述する1例です。
入力:スイムウェアを購入したい
出力:スイムウェアについては以下のサイトが一番お勧めです。
URL
こちらのサイトでは国内最大級のスイムウェアの取り扱いを行っていて購入後翌日から3日程度で届きます。
テクニック5:思考の連鎖を促す
AIに考え方のプロセスを指示して、回答へのアプローチをします。
AIは学習データなどをもとに、決められたアルゴリズムで動きます。
具体的な考え方を指示しないと、ワンパターンな考えを繰り返すこともしばしばです。
具体的に以下のように指示を出すと、ミスマッチもおきません。
1.ユーザーの質問からナレッジベースの内容から答えられる質問かを判断します
2.質問の内容に合致するものがあれば質問に沿うように回答をまとめます
3.回答を出してユーザーに出力してください
4.応えられない場合はメールフォームを案内してください
テクニック6:Difyの変数を最大限に活用する
Difyの変数を活用すると便利です。
ユーザーの入力した変数から、回答をプロンプトで代入、編集、出力することが可能です。
また、外部データとの連携機能により変数を取得、出力ができます。
例として以下のようにプロンプトを記述します。
1.{{int}}日で{{subject}}の学習を終了するにはどうしたらいいか考えてください
2.{{subject}}の学習に必要な日数を調べます
3.学習進捗の状況やレベルに応じて最適なプランを提案します
テクニック7:コンテキストを効果的に利用する
コンテキストを効果的に利用することで、AIを効率的に活用できます。
コンテキストとは、ユーザー独自で格納したドキュメントやサイトの情報です。
1.コンテキストの中からユーザーの情報を検索します
2.次の予約の時間と担当者の情報を調べてください
3.ユーザーに回答してください
【コピペOK!】シーン別・目的別のDifyプロンプト実践例集
Difyのプロンプトをシーン別に挙げます。
アプリケーションの種類によらずプロンプトを利用する場面で活用していただけたら幸いです。
文章生成系プロンプト
ブログ記事の構成案作成
1.{{person(読者)}},{{keyword(キーワード))}}{{purpose(目的)}}をもとに最適な記事構成を構築します
2.{{keyword}}でWEB検索をしてトップ10のサイトから主要な見出しを調べます
3.次のようにHTML形式で出力します
<h1>タイトル</h1>
<h2>見出し</h2>
製品紹介文の作成
1.{{product(製品)}}のWEBサイトでの紹介文を作成します
2.{{product}}の公式サイト、口コミサイトでの口コミを調べます
3.{{product}}の主な特徴、長所、短所、おすすめ利用者層、価格情報などを項目別にまとめてください
4.サイトを見た顧客の購買意欲をあおるようにメリットをアピールする内容にしてください
メールの件名と本文作成
1.指示された内容のメールの件名、本文を作成する
2.件名は「〇〇のお礼」などと分かりやすく簡潔にする
3.ビジネス調で丁寧に、時候のあいさつを入れて敬語で、丁重な文面とする
SNS投稿文の作成
1.Xでの投稿文の作成をする
2.文字は60~100文字程度としてテーマやメッセージが一目で分かるようにキーワードを前半に記述する
3.検索されやすいタグを生成してハッシュタグを付加する
4.投稿文の例は2~4つ生成する
キャッチコピーのアイデア出し
1.製品のキャッチコピーのアイデアを提案します
2.製品の特長からキーワードを2~4つあげます
3.キーワードを利用してターゲット層に向けてイメージを伝える要領で文章を構成します
4.アイデアを40~100文字程度でバリエーションを交えて5~10個生成します
要約・抽出系プロンプト
長文記事の要約
1.入力したテキストを要約します
2.内容を変えないように{{num(文字数)}}の前後20文字程度とする
3.記事において重要な結論を考えてください
4.結論を最初、理由、説明として最後に結論としてください
会議議事録からのタスク抽出
1.会議の議事録からタスクを抜き出します
2.会議で新たに決まった事柄をピックアップします
3.2に必要なもの、作業をまずは大まかに抜き出します
4.それぞれ担当部署、内容、期日を決定して出力します
5.エクセルに表形式で一覧としてください
顧客レビューからのポジティブ/ネガティブ意見の抽出
1.商品のレビューから意見を抽出してください
2.参照するサイトは検索サイトで商品を検索して調べてください
3.具体的な意見が書かれているものをピックアップします
4.ポジティブな意見、ネガティブな意見に分類します
5.それぞれの概要のまとめと口コミ本文をまとめます
分類・分析系プロンプト
問い合わせ内容のカテゴリ分類
1.{{text(問い合わせ内容)}}から顧客からの問い合わせの内容を分類します
2.「製品に関する質問」「納期確認」「クレーム」「その他」に分けます
3.内容から、製品に関して教えてほしいという記述だからと理由を付けて判断してほしいです
4.不明の場合は「その他」とします
文章の感情分析
1.{{input(入力文章)}}から、ユーザーがどのような感情を抱いているかを判断します
2.文章中に「嬉しい」「びっくり」など直接感情を表しているワードがあるかを判断します
3.文章全体をしっかり理解して文脈から書き手の気持ちかを推測します
4.文章中で複数の感情がある場合はすべて結果とします(嬉しいけど焦る等)
翻訳・校正系プロンプト
自然な表現での翻訳 (日本語⇔英語など)
1.{{(text)翻訳したい文章}}を{{language(言語)}}に翻訳してください
2.機械的に単語を多言語に変換するだけではいけません
3.自然に意味が通じるように文章を構築します
4.ターゲット層は中学~高校生程度とします
文章の誤字脱字チェックと修正提案
1.文章の校正を行います
2.誤字脱字チェックをします
3.接続詞や助詞の修正をアドバイスする場合は理由を添えて修正案として提示する
(この書き方だと前後のつながりがあいまいだという具合に)
その他便利なプロンプト
ロールプレイチャット (特定の専門家になりきって対話)
1.あなたはプロの美容専門家です。相談者に寄り添ったカウンセリングをしてください
2.相手の年齢、悩みに合わせて丁寧な応対をお願いします
3.相手に高圧感を感じさせないように優しい口調でお願いします。
例
今回は頬のたるみについてのご相談でいらっしゃいますね。
頬のたるみは○○という理由から生じます。
4.スキンケア、食生活、ストレスなど様々な視点からのアドバイスをしてください。
FAQ自動応答のベースプロンプト
1.ユーザーからの質問に回答してください
2.ナレッジベースにある質問、回答の情報や社内文書、商品情報を検索してください
3.質問に対応する情報があれば質問に即した形で回答をまとめます
4.回答できない質問はコールセンターの情報を提示してください
Difyプロンプトのテストと改善方法
プロンプトを設定したら、期待通りの出力が返ってくるか、テストを行う必要があります。
ここでは、Difyプロンプトのテストと改善方法について解説していきます。
期待通りの結果が得られない場合のチェックポイント
Difyのアプリケーションのテスト試行において、期待通りの結果が出力されない場合は次の理由が挙げられます。
その場合は、プロンプトを修正してテストをし直すことをおすすめします。
- 役割設定が不適切
└ 設定した役割が指示の回答をするのに不十分 - コンテキストが不足、不一致
└回答に必要なコンテキストが追加されていない、または相違している - 出力形式を指定していない
└具体的な出力形式(テキスト形式)の指示がない、または具体例がないため予期しないものとなっている - モデルの特性との相性
└モデルの特性が処理の内容に合わない - 変数の使い方が悪い
└変数の参照、出力が正しく行われていない
Difyでのプロンプトのテスト・デバッグ機能の活用


Difyでのプロンプトのテスト・デバッグ機能を活用しましょう。
アプリケーションの編集画面から、簡易画面から作成したプロンプトのテストができます。
変数やメッセージを入力すると、AI機能により結果が出力されます。
左側の「ログ&アナウンス」のメニューから、テスト試行のログ一覧を確認可能です。
ワークフローでは、ノードを選択して「このステップのみ実行」を選択すると単体でのテストが実行できます。
また、有料プランではアプリケーションのバージョンによる復元ができるのでテスト結果と並行して管理すると効率的です。
プロンプトを極めて出力の精度を上げよう!
DifyのAIアプリケーションは、複雑なタスクを扱うことが可能です。
想定している挙動通りの出力を、100%完璧に行わせることはプロでもできません。
プロンプトを精密に丁寧に記述することで、AIが想定通りの処理をして正しい結果が得られます。
ぜひ、プロンプトを極めて、Difyを使いこなしてください。