RAGの回答が間違うとき、検索と生成を分けて調べる
出典リンクがあっても、内容が正しいとは限らない。
仕組みを整理 / 基礎文献:2020年
RAGで追加されるもの
RAGは、外部から取り出した資料を生成に利用する考え方です。2020年の原論文は、学習済みの生成モデルと、外部の文書を検索する仕組みを組み合わせた方法を示しました。[1] 現在RAGと呼ばれるシステムの細部は多様なので、原論文の構成がそのまま全製品に当てはまるわけではありません。
理解の入口は、「答えを作る前に、何を根拠として渡したか」を観察できる点にあります。外部資料を与えても、資料自体が古い、必要な箇所が取れていない、モデルが条件を読み違えるといった問題は残ります。
まず三つの失敗を分ける
検索漏れでは、正しい回答に必要な資料が候補に入っていません。生成側だけを調整しても、存在しない根拠を補うことはできません。質問の言い換え、文書の区切り方、検索対象の更新状況を調べます。
文脈の取り違えでは、必要な文書は見つかっています。ただし、別の年度や対象集団、製品版についての記述を答えに使っています。似た単語があるだけでなく、質問の条件と一致しているかを確かめます。根拠のない生成では、取得した文章にない説明が追加されています。出典へのリンクが付いていても、この問題は起こり得ます。
大学の規程を調べる例
たとえば「今年度の申請期限」を答える仕組みを考えます。過年度の規程が検索で上位に出ると、その文書に忠実な回答でも利用者には誤答です。検索結果に更新日と対象年度を付け、現行版を判断できる情報を用意します。資料に期限が書かれていない場合は、別の数字を推測せず、確認先を示す設計にします。
この例では、質問ごとに「正しい資料が候補にある」「対象年度が一致する」「回答の期限が資料と一致する」「根拠不足なら保留する」を採点します。一つの総合点だけで評価するより、修正すべき箇所を見つけやすくなります。
導入前に残しておきたい小さな評価セット
実際に多い質問、似た条件を取り違えやすい質問、資料から答えられない質問を分けて保存します。各質問に正解だけでなく、その根拠となる文書と位置を付けます。検索の設定を変えるときは、回答だけでなく、取り出された資料も比較します。
RAGの価値は「絶対に間違えない」ことではありません。参照する情報を更新し、どこで間違えたかを調べるための構造を作れることにあります。機密資料を扱う際は、モデルに送る情報とアクセス権の設計も別に確認が必要です。
一つの誤答を、修正先まで分解する
架空の資料で確認方法を具体化します。資料Aは「2025年度の締切:4月10日」、資料Bは「2026年度の締切:4月20日」とします。質問は「2026年度の締切は」です。どちらも制度を説明する語句は似ていますが、正しい根拠は資料Bです。実在する大学の期限ではありません。
資料Aしか検索されなければ、取り込みや検索条件を調べます。資料Bを渡したのに4月10日と答えたなら、年度の取り違えを調べます。資料Bから4月25日と答えたなら、その数字の根拠を調べます。答えられない質問も加え、資料がないときに保留できるかを確認します。
| 取得資料 | 回答 | 最初に調べる場所 |
|---|---|---|
| 2025年度のAのみ | 4月10日 | 検索対象・年度フィルター |
| 2026年度のB | 4月10日 | 年度・文脈の取り違え |
| 2026年度のB | 4月25日 | 回答と根拠の不一致 |
| 該当資料なし | 未確認と答える | 保留動作の確認 |
参考資料・出典
- Lewis et al. — Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- NeurIPS Proceedings — Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- HELM — Transparent evaluation framework
資料確認日:2026年9月16日。参照先の内容・提供条件は変更される場合があります。
更新・訂正履歴
2026年9月16日:記事固有の図解と確認例を追加。初回公開日は変更していません。
2026年9月16日:日本語表現を見直し、長い説明と命令形を減らしました。内容上の結論は変更していません。