Skip to main content
AI戦略

RAG評価の方法:AIの回答が正しいかを確かめる指標と手順

RAGの評価方法を解説します。実際の質問を使ったテストセットの作り方、検索と回答を分けて測る評価指標、LLM評価者の校正、リリース前の合格基準まで、実務で使える手順をまとめました。

著者:Jayson Hao7 分で読めます
RAG評価の方法:AIの回答が正しいかを確かめる指標と手順をテーマにした紙と金属のエディトリアル作品
エディトリアル・フィールドノートITL / № 22

この記事のポイント

  • RAGでもハルシネーションはなくなりません。スタンフォード大学の検証では、検索拡張を安全策としてうたう商用の法務リサーチツール2製品が、17%を超える割合で誤った情報を返しました。
  • 検索と生成は別々に採点します。そうしないと、誤答の原因が検索なのかモデルなのか判断できません。
  • LLMによる自動評価は人間に近い一致率に達し得ますが、人手のラベルで校正し、提示順や回答の長さによる偏りを抑えることが前提です。
  • 合格基準はテスト前に決め、プロンプト、モデル、チャンク分割、インデックスを変えるたびにテストセット全体を実行します。

RAGでも回答が間違う理由

RAG(検索拡張生成)は「社内文書から答えるので、AIが話をでっち上げない」とハルシネーション対策として紹介されることが多い技術です。しかし実際のデータはそう単純ではありません。2024年、スタンフォード大学のRegLabとHAIは、検索拡張を安全策としてうたい、なかには「ハルシネーションのない引用」を掲げていた法務AIリサーチツールを検証しました。その結果、Lexis+ AIとAsk Practical Law AIは17%を超える割合で誤った情報を返し、Westlaw AI-Assisted Researchは34%を超える割合でハルシネーションを起こしました。

企業のチームにとって参考になるのは、この調査の定義です。回答が「誤り」(事実と異なる内容)である場合と、「根拠不一致」(内容は正しいが、引用した出典がそれを裏付けていない)である場合の両方を失敗として数えています。どちらも、利用者が信頼して使うシステムでは許されない失敗ですが、デモで都合のよい質問を10件試す程度では表に出ません。測定するには、テストセット、採点方法、事前に合意した合格基準が必要です。

検索と生成を分けて評価する

RAGの回答は、失敗の仕方が異なる2つの段階を通ります。検索段階では、答えを含む文書を取りこぼしたり、関係のないチャンクの下に埋もれさせたりします。生成段階では、良い文脈を無視したり、モデル自身の知識から事実を付け足したり、出典に書かれた内容の一部を落としたりします。総合スコア1つでは、どちらの段階で壊れたのかが分からず、改善が当てずっぽうになります。

MicrosoftのFoundryのドキュメントは、この分け方を明確にしています。検索のチェックを「プロセス評価」、回答のチェックを「システム評価」と呼び、回答については分かりやすい整理を示しています。グラウンデッドネス(根拠性)は適合率の側面で、回答に根拠文書以外の内容が含まれていないかを測ります。回答の完全性は再現率の側面で、期待される回答から重要な情報が抜けていないかを測ります。両方が必要です。短い回答は完全に根拠に基づいていても、役に立たないことがあります。

実際の質問からRAGのテストセットを作る方法

OpenAIの評価ガイドは、本番ログ、過去データ、人がまとめた事例など複数のデータ源を組み合わせることを推奨し、実際のトラフィックの傾向を再現しないテストデータを避けるよう注意しています。Anthropicのガイドも、手作業で丁寧に採点した少数の質問より、多少ノイズのある自動採点でも質問数が多い方がよいとしています。社内アシスタントなら、最適な素材はすでに手元にあることがほとんどです。問い合わせ履歴、営業が受ける質問、新入社員の質問、社内チャットで社員同士が尋ね合っている内容などです。

質問ごとに、内容の責任者が作成または承認した正解と、取得されるべき文書や章を記録します。この2つがあれば、正解データを必要とする指標を使えるようになります。そのうえで、RAGが失敗しやすい次のケースを必ず含めます。

  • 答えが特定の1か所にある質問(基本的な検索性能を測る)。
  • 規程とその地域別の例外など、複数の文書を組み合わせないと答えられない質問。
  • 文書に答えがない質問。正しい動作は推測で答えず、答えがないと伝えること。
  • 内容が改訂されたのに、古い版がインデックスに残っているテーマの質問。
  • 略語、誤字、社内用語、製品の通称など、実際の利用者が書く言い回し。
  • 多言語で運用する企業では、言語をまたぐ質問。たとえば日本語でしか公開されていない規程について英語で尋ねるケース。

検索段階のRAG評価指標

オープンソースのRagasライブラリにある2つの指標で、検索に関する問いの大半をカバーできます。コンテキスト再現率(Context Recall)は、必要な情報をどれだけ取得できたかを測ります。Ragasは正解の回答を主張単位に分け、そのうち取得文書で裏付けられる割合を計算するため、正解データが必ず必要です。コンテキスト適合率(Context Precision)は、関連するチャンクを無関係なものより上位に並べられたかを、各順位での適合率の平均として測ります。再現率が低ければ、そもそも答えがモデルに届いていません。適合率が低ければ、答えは届いていてもノイズに埋もれています。

質問ごとにどの文書が関連するかをラベル付けしておけば、NDCGなどのランキング指標も使えます。Microsoftは、これをパラメータスイープに使うことを勧めています。検索方式(ベクトル検索やセマンティック検索)、top-kの値、チャンクサイズを変えて検索結果を生成し、最も点数の高い設定を採用する方法です。本当の問題がインデックス側にあるのにプロンプトを調整し続けるより、はるかに低コストです。

回答段階のRAG評価指標

回答の中心となる指標は忠実性(Faithfulness)です。Ragasは回答に含まれる主張をすべて抽出し、それぞれが取得文書から導けるかを確認します。スコアは裏付けのある主張の数を主張の総数で割ったもので、0から1の値を取ります。主張が2つで、そのうち1つだけが裏付けられていれば0.5です。これに、正解と比べた完全性のチェックと、質問に正面から答えているかという関連性のチェックを組み合わせます。

これらを組み合わせると、テストが失敗したときにどこを見るべきかが分かります。

  • コンテキスト再現率が低い:答えがモデルに届いていない。取り込み、チャンク分割、検索設定を直す。
  • 再現率は高いが忠実性が低い:モデルが自分の知識で内容を付け足している。指示を厳しくし、引用を必須にし、別のモデルも試す。
  • 忠実性は高いが完全性が低い:文脈の一部しか使われていない。関連チャンクの順位が低すぎないか、途中で切れていないかを確認する。
  • 答えのない質問に自信を持って回答している:回答を控える仕組みが機能していない。明示的な指示を加え、答えのない質問をテストセットに増やす。

LLM-as-a-Judgeで自分をだまさないために

大量の回答を人が読むのは現実的でないため、これらの指標の多くは、あるモデルの出力を別のモデルが採点する仕組みに頼っています。この方法には研究の裏付けがあります。2023年のMT-BenchとChatbot Arenaの研究では、高性能なLLM評価者が人間の判断と80%を超える一致率を示し、人間同士の一致率と同じ水準でした。一方で同じ論文は、提示順、回答の長さ、自己優遇による偏りも報告しています。

各社のガイドは、これを実務の手順に落とし込んでいます。OpenAIは、自由な点数付けより合否判定やペア比較の方が信頼性が高いこと、規模を広げる前に人のフィードバックで評価者を校正すること、回答の長さの影響を抑えることを挙げています。Anthropicは、詳細な採点基準を用意すること、「正解・不正解」のように出力形式を固定すること、採点前に推論させること、回答を生成したモデルとは別のモデルで採点することを推奨しています。実務では、内容の責任者に一部の回答を採点してもらい、評価モデルの判定と比べ、両者が一致してから評価モデルを信用します。

リリース基準と継続的なRAG評価

スコアは、何かを判断するために使われてはじめて意味を持ちます。OpenAIのガイドは、文書に基づく質問応答の目標例として、コンテキスト再現率0.85以上、コンテキスト適合率0.7超、肯定的に評価された回答70%以上を挙げています。こうした数値はリスクに応じて調整する出発点と考え、最初のテストを実行する前に自社の基準を決めておきます。結果を見てから基準を動かさないためです。人事規程の質問に答えるツールには、社内向け要約の下書きツールより厳しい忠実性の基準が必要です。

OpenAIはさらに、変更のたびに評価を実行し、すべてを記録し、テストセットを継続的に増やすことを推奨しています。RAGに当てはめると、次のチェックリストになります。

  • プロンプト、モデル、埋め込みモデル、チャンク分割のルール、インデックスのいずれかを変えたら、CIでテストセット全体を実行し、基準を下回ればリリースを止める。
  • 指標ごとに結果を報告し、平均だけでなく最も悪かった失敗例も一覧にする。
  • 本番の質問、取得したチャンク、回答を記録し、新しい失敗を再現できるようにする。
  • 本番で確認された失敗は、修正した正解とともにすべてテストセットへ追加する。
  • 評価モデルや採点基準を変えたときは、新しい人手のラベルと照らし合わせて評価モデルを再確認する。

著者

Jayson Hao

Innovation Trigger Lab創業者。トロント大学コンピュータサイエンス(AI/ML)出身。RAG、AIチャットボット、Web・モバイルプロダクトの設計と本番導入に携わっています。

プロフィールを見る

よくある質問

RAG評価で最も重要な指標は何ですか?

検索ではコンテキスト再現率とコンテキスト適合率、回答では忠実性と完全性から始めます。そのうえで、文書に答えがない質問への回答を控えられるかも確認します。

正解データがなくてもRAGを評価できますか?

一部は可能です。忠実性、関連性、LLMによる検索結果の関連性判定は正解データなしで使えますが、コンテキスト再現率と完全性には正解が必要です。重要な質問については正解を用意する価値があります。

RAGASとは何ですか?

RAGASは、LLMアプリケーションを評価するためのオープンソースのPythonライブラリです。忠実性、コンテキスト適合率、コンテキスト再現率、回答の関連性などのRAG評価指標を実装しており、その多くはLLMを使って採点します。

RAGはどのくらいの頻度で評価すべきですか?

プロンプト、モデル、チャンク分割、インデックスを変更するたびに実行し、本番でも記録した質問を使って継続的に評価します。本番で見つかった失敗はテストセットに追加します。

出典・参考資料

  1. 1.
  2. 2.
    生成AI向けのRAG評価ツールMicrosoft Learn, 2026年6月2日
  3. 3.
  4. 4.
  5. 5.
  6. 6.
    MT-BenchとChatbot ArenaによるLLM-as-a-Judgeの検証Zheng et al., NeurIPS 2023 (arXiv), 2023年12月24日