開発解説
RAGの回答に出典があれば十分?主張ごとに根拠を確認する方法

目次
RAGの回答に文書名や出典が付いていると、それだけで信頼できそうに見える。
しかし、出典が表示されたことと、その出典が回答の内容を本当に支えていることは別だ。
正しい文書を検索できていても、生成モデルが原文より強い表現へ言い換えることがある。逆に、回答に近そうな出典が表示されていても、重要な条件が原文に書かれていない場合もある。
図: 処理や設定の流れを1枚に整理。実際の操作条件は本文で確認する。
まず回答を小さな主張へ分ける
一つの文章に複数の事実が含まれているなら、まとめて○×を付けない。
たとえば、
「製品Aは2026年に発売され、16GBのVRAMを搭載し、用途Bに最適です」
という回答なら、少なくとも次の3点は別に確認する。
- 2026年に発売された
- VRAMは16GBである
- 用途Bに最適である
最初の2つが原文に書かれていても、3つ目の評価まで出典が支えているとは限らない。
表示された出典の原文を直接読む
各主張について、引用先の文書や検索された文書片を開き、該当箇所を直接確認する。
判定は3段階程度に分けると扱いやすい。
| 判定 | 意味 |
|---|---|
| 支持する | 原文がその主張を直接支えている |
| 一部だけ支持する | 一部は合っているが、条件や範囲が足りない |
| 根拠なし | その主張を支える記述が見つからない |
関連する単語が同じ文書にあるだけでは、「支持する」にしない。
検索の失敗と回答生成の失敗を分ける
答えに必要な原文自体が検索結果へ出ていない場合は、検索側を確認する。
たとえば、埋め込みモデル、チャンクの分け方、質問文などが原因になり得る。
一方、必要な原文は正しく検索できているのに回答内容が違うなら、生成側の問題として切り分ける。
この二つを混ぜると、生成モデルを変えるべき場面で埋め込みモデルを変えたり、その逆をしたりしやすい。
「文書に答えがない質問」も試す
評価するときは、文書内に答えがない質問も一つ入れる。
そこで、根拠がないのにもっともらしい回答を作らないかを見る。
記録は次の程度でもよい。
質問:
回答中の主張:
出典の原文:
判定: 支持する / 一部だけ支持する / 根拠なし
メモ:
数問だけでも、回答と出典のずれが見つかることがある。
出典は「見た目」ではなく対応関係を見る
RAGの出典機能は、原文へ戻る手掛かりとして役立つ。しかし、出典番号や文書名が付いているだけで回答内容まで自動的に正しくなるわけではない。
回答の主張ごとに、表示された原文がその内容をどこまで支えているかを見る。
RAGの仕組み自体を先に整理したい場合は、ローカルRAGと学習の違いから確認できる。表が多いPDFで原文抽出自体が崩れる場合は、表が多いPDFをRAGで扱う前の確認方法も確認できる。
まとめ
- 出典が表示されたことと、その出典が回答の主張を支えていることは別に確認する
- 必要な原文を検索できたか、出典表示が正しいか、回答が原文を言い過ぎていないかを分けて見る
- 回答を小さな主張に分け、それぞれを「支持する・一部だけ支持する・根拠なし」で記録する
- 文書内に答えがない質問で、根拠のない回答を作らないかも確認する