マガジン

引用が付いているのに答えが違う:RAGの出典と回答のズレを見つける確認手順

AIを使いこなす

Claudeで執筆し、GPTで自動校閲・修正しています。

回答用紙と出典資料の対応箇所を指で照合する手元
記事の内容をもとに制作したAI生成イメージです。実際の製品画面や検証結果の写真ではありません。

出典リンクが付いていても、回答が正しいとは限りません。引用は「この資料を使った」という印であり、「この文がその資料で裏付けられる」という証明ではないからです。見つけるには、回答を1つの事実ごとの主張に分け、各主張に付いた引用の原文を開いて、数値・条件・時点・主語を1つずつ照合します。 この記事では、そのための確認シートと、ズレの典型パターン、原因を検索側・生成側・資料側に切り分ける表を紹介します。

この記事の目次
  1. 引用の仕組みが保証することと、しないこと
  2. 確認シートの使い方
  3. ズレの典型パターン集
  4. 主張の分解をAIに手伝わせる依頼文
  5. ツールによる半自動チェックの位置づけ
  6. 原因の切り分け表

引用の仕組みが保証することと、しないこと

主要なサービスの引用機能は、どの資料や箇所を参照したかを返すものです。たとえば OpenAI のファイル検索ツールでは、回答文に file_citation が付き、file_id、filename、回答文中の位置を示す index が含まれます。検索で実際に返った内容は、既定では含まれず、include に file_search_call.results を指定して取得する仕様です(2026年10月27日に確認)。Anthropic のCitationsも、主張を支える箇所を返して回答を検証しやすくする機能と説明されています。

どちらも「どの資料か」「どこか」を示す仕組みです。引用された文章が主張の全要素を支えているかは、人か別の検証が確かめる必要があります。以降の手順は、この前提に立った編集上の提案です。

確認シートの使い方

手順

  1. 回答を主張に分けます。 1文に数値・条件・対象が複数あれば分割します。
  2. 各主張の引用先を開きます。 要約や資料タイトルではなく、検索で返った本文(チャンク)か元ファイルの該当箇所を使います。
  3. 要素を照合します。 主語、数値、単位、条件(例外・対象範囲)、時点・版、肯定か否定か、を原文と比べます。
  4. 判定を付けます。 支持/一部支持/不支持/引用先違い(別の資料にはある)/根拠なし、の5択です。
  5. ズレの型を書きます。 次章のパターン名を記録すると、傾向が見えます。

確認シート(コピーして使えます)

  • 1、主張(1事実):、付いた引用:、根拠原文(貼り付け):、数値:○/×、条件:○/×、時点・版:○/×、判定:、ズレの型:、次の対応:

記入例(説明用の例。実在の規程や実測ではありません)

質問:「国内出張の宿泊費の上限は?」

回答:「宿泊費は1泊1万5千円までです[1]。部長以上は2万円までです[1]。事前申請は不要です[2]。」

説明用の引用[1]:「国内出張の宿泊費は1泊1万2千円まで。東京23区は1万5千円まで。」説明用の引用[2]:「出張は原則、事前申請を要する。日帰りは不要。」

  • 1、主張:宿泊費は1泊1万5千円まで、判定:一部支持、ズレの型:条件の脱落(東京23区のみ)
  • 2、主張:部長以上は2万円まで、判定:根拠なし、ズレの型:原文にない補完
  • 3、主張:事前申請は不要、判定:不支持、ズレの型:例外と原則の逆転

回答は一見整っていて引用も3か所付いていますが、3主張のうち完全に支持されるものはありません。

ズレの典型パターン集

  • 条件の脱落、起きること:「東京23区は」などの適用範囲が消える、見分け方:原文の但し書き・括弧を読む
  • 例外と原則の逆転、起きること:例外を一般則として述べる、見分け方:「ただし」「除く」を探す
  • 原文にない補完、起きること:もっともらしい内容が足される、見分け方:主張の固有語(役職・金額)を原文内検索
  • 数値・単位の取り違え、起きること:近くの別項目の数値を使う、見分け方:表の行と列を目で追う
  • 古い版の採用、起きること:改定前の資料から答える、見分け方:版・施行日・更新日を比べる
  • 引用先違い、起きること:正しい内容だが別資料に引用が付く、見分け方:他の候補資料で原文検索
  • 複数資料の混ぜ合わせ、起きること:別々の規程を1つの結論にする、見分け方:1主張が複数引用にまたがるかを見る
  • 断片の文脈欠落、起きること:チャンクの前後を読まないと意味が逆になる、見分け方:引用箇所の前後数段落を開く

主張の分解をAIに手伝わせる依頼文

分解と下書きの突き合わせはAIに任せられますが、最終判定は人が行います。次の依頼文は説明用で、お使いの環境で試してから運用してください。

以下の「回答」を、1文1事実の主張に分解してください。
数値・条件・時点・主語が複数ある文は分けてください。
各主張について、「資料」の中から根拠になる原文を一字一句そのまま抜き出し、
見つからなければ「根拠なし」としてください。言い換えや推測は不可です。
出力は表(ID/主張/引用番号/抜き出した原文/数値・条件・時点の一致)にしてください。

# 回答
(ここに回答を貼る)

# 資料
[1] (引用[1]の本文)
[2] (引用[2]の本文)

AIが抜き出した原文が、実際の資料に存在するかは、検索で必ず確認してください。ここでの「一字一句」は、確認を楽にするための指示です。

ツールによる半自動チェックの位置づけ

  • Google Cloud のCheck grounding:回答候補と事実のリストを渡すと、全体の支持スコア、根拠チャンク、文ごとの引用が返ります。enableClaimLevelScore を有効にすると主張ごとのスコアも得られます。回答は最大4096トークン、事実は最大200件という制限が記載されています(閲覧日同じ)。主張単位の一次スクリーニングに向きます。
  • Microsoft Foundry のRAG評価:Groundedness は、回答が与えたコンテキストの外の内容を含まないか(精度の側面)を測り、1〜5点で、既定のしきい値は3です。Retrieval は、取得チャンクが質問に関連するかを見ます。

注意点として、これらは回答がコンテキスト全体に照らして裏付くかを見るものです。「[1]という番号の引用が、その文を支えているか」までは、この記事の確認シートで人が見る必要があります(編集上の見解で、各ツールの個別設定は未検証です)。点数が良くても抜き取りで原文を確認する運用が安全です。

原因の切り分け表

ズレが見つかったら、直す場所を決めるために原因を分けます。

  • 検索結果に正しい根拠は入っていたか、結果:入っていない、疑う場所:検索、対応の例:チャンク分割、検索件数、メタデータ絞り込みの見直し
  • 入っていたが回答が別の内容、結果:入っている、疑う場所:生成、対応の例:「資料にない場合は答えない」「条件も書く」を指示、抜粋の長さを調整
  • 資料の版が複数ある、結果:古い版が上位、疑う場所:資料管理、対応の例:版・施行日の付与、旧版の除外
  • 引用の表示位置がずれる、結果:文と番号が対応しない、疑う場所:表示・後処理、対応の例:主張ごとに引用を付ける出力形式に変更

最初の確認用に、10件ほどの質問で確認シートを埋め、ズレの型を数えてください。最も多い型が最初の改善対象です。

出典・参考資料