文書検索(RAG)機能を使っても、期待する回答が得られなかったり誤った箇所を参照して出力される場合、生成AIに与えるプロンプト(指示文)を工夫することで、参照精度が向上します。
以下に、そのためのプロンプト設計のポイントと活用例をご紹介します。
1. プロンプト内に正確なファイル名を明記する
質問文中に参照したいファイル名を明確に含めることで、システムがそのファイルを特定しやすくなります。
参照したいファイル名「人事規定_2024年度版.pdf」
改善の余地がある例: 規定から有給休暇の取得条件について教えてください。
良い例: 人事規定_2024年度版.pdfから、有給休暇の取得条件について教えてください。
【注意点】
- 似たような名前のファイルが複数存在する場合や、ファイル名と同じ単語が本文内に多く含まれる場合は期待通りの動作にならない可能性があります。
ユニークなファイル名を設定するなど、ファイル名も工夫することにより、アップロードしたファイルから必要な情報を的確に引き出すことができます。 - 複数のファイルがアップロードされている場合、一部のみが参照されることがあります。
- ファイル内容の一部に同じ単語が頻出する場合、意図しない箇所を参照する場合があります。
2. 段階的な質問で回答精度を高める
AIはRAGにアップロードされたファイルを参照して回答を作成しますが、その情報検索・生成プロセスが確率に基づいているため、検索で得られる断片が矛盾したり重複したりすることがあります。
そのため、一度に複雑な質問をするよりも、質問を段階的に分解して段階ごとにフィルタをかけるほうが、より正確な回答を得られる可能性が高くなります。
改善の余地がある例: 特徴Aを持つ商品の平均価格を教えてください。
良い例:
【質問1】特徴Aを持つ商品を教えてください。
→ 【回答1】 商品A1,A2,A3
【質問2】商品A1,A2,A3の価格をそれぞれ教えてください。
→ 【回答2】 XX,YY,ZZ
【質問3】XX,YY,ZZの平均価格を計算してください。
→ 【回答3】平均価格は◯◯円です。
同じテクニックは、複雑なタスクをこなす場合も有効です。
複雑な指示を一度に出すのではなく、タスク遂行に必要なステップを一つずつ指示することで、ファイルを参照して取得した正確な情報に基づいて処理を進めることができます。
3. 長文および多量データを扱う際は、具体的に指示する
生成AIには一度に処理できる情報量に上限があるため、会話が長くなると過去分から参照されなくなる場合があります。直前の指示が参照されていない、もしくはアップロードしたファイルの内容が反映されていないと感じた場合は、重要な前提条件や指示を再度プロンプトの中に具体的に含めて入力してください。
改善の余地がある例: その手法の成功例と失敗例を教えてください。
→ “その手法”が何を指すのか、AIが文脈を見失っていると正しく回答できません。
良い例: XXの建設において、工法Aを用いた場合の成功例と失敗例を教えてください。
→主語や前提条件を省略せずに書くことで、過去の文脈が途切れていても正確な回答が得られます。
まとめ
文書検索(RAG)機能を最大限に引き出すために、プロンプトを記述する時は、
- 正確なファイル名の明記
- 段階的な質問の活用
- 具体的な指示
という3つのポイントを意識するようにしましょう。