RAGにおけるプロンプト合成の設計パターンとは?文脈統合で生成精度を高める方法|LLM入門 6.3

6.3 Retrieval後のプロンプト合成パターン
Retrieverによって意味的に関連する文書チャンクを取得したとしても、それらを適切に生成モデル(LLM)に渡す方法を誤れば、出力される回答は不正確で曖昧なものになってしまいます。
RAGにおける真の“要所”は、むしろこの部分──Retrieverの出力をどのようにプロンプトとして合成するか、という「文脈統合と構文設計」にあります。
このセクションでは、Retrieverで取得された情報(Context)をどのような構造・順序・表現でプロンプトに組み込むべきか、その代表的なパターンを具体例とともに紹介します。
プロンプト合成の3要素
プロンプトにおける合成設計では、以下の3つの要素を分けて考えることが基本です:
-
System指示(Instruction)
モデルに対する全体的な行動指針
例:「以下の文書にのみ基づいて、質問に対する正確な回答を生成してください。」 -
Context(Retrieverの出力)
回答の参考にすべき関連文書チャンク
例:「【文書1】退職後は健康保険の資格を喪失します…」 -
User Input(質問文)
ユーザーからの問い合わせそのもの
例:「退職後も保険は使えますか?」
この三層を明示的に構造化してモデルに与えることが、LLMの挙動を安定・制御する鍵となります。
パターン①:明示構造型(Structured Prompt)
最も広く使われている形式が、Retrieverの出力を文書ごとに見出しで区切り、質問と一緒にLLMへ与えるスタイルです。
フォーマット例:
特徴:
-
文書と質問の対応関係が明確になる
-
モデルが「何を参考にすべきか」を誤解しづらい
-
文書数が多いとトークンを圧迫しやすい
パターン②:リスト型要約+QA
文書をそのまま渡すのではなく、Retriever出力を文単位の要約形式に変換して構造的に整理する方法です。
フォーマット例:
特徴:
-
トークン節約効果が大きい
-
要約処理を別途行う必要がある(自動 or 人手)
-
モデルへの伝達精度はプロンプトの質に依存する
パターン③:文書スコア順にプレーン連結
Retrieverがスコア付けした順にチャンクを連結し、明示構造はあえて与えず「モデルに読み解かせる」パターン。
フォーマット例:
特徴:
-
実装が簡単で高速
-
モデルの推論に依存するため不安定になる可能性あり
-
セマンティック的な整合性が高い場合には効果的
ベストプラクティス:生成品質を高める設計指針
-
文書の順序を制御する:信頼度やスコア順で配置、優先度を明示
-
タイトルや文書名を明記する:参照元の信頼性を伝える効果がある
-
質問との関連性を可視化する:文書のどこが質問に関係するかが明確になると、モデルの出力精度が上がる
-
「参照のみで回答すること」を強調:幻覚を防ぐには出典制限が有効
トークン制限との戦い
次のセクション「6.4 入力長・トークン制限との戦い」では、Retrieverやプロンプトで用意した情報が増えてくる中で避けて通れない「入力長制限」との付き合い方、すなわちどこまで詰め込み、どこで省略・圧縮するかという設計的な駆け引きに焦点を当てます。

下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。カテゴリー
検索履歴
チーム

任 弘毅
株式会社レシートローラーにて開発とサポートを担当。POSレジやShopifyアプリ開発の経験を活かし、業務のデジタル化を促進。

下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。