RAGの評価方法とは?必要な指標・フレームワーク・Ragasでの実践検証を解説

- RAGの評価方法は、参照データ・検索・回答生成を分けて確認することが基本
- 検索精度と回答品質は別の指標で測り、失敗した箇所を切り分ける
- 実運用では、少数の正解付きテストから始め、変更前後を同じ条件で比較する
RAGを業務で使うなら、もっともらしい回答だけで判断してはいけません。必要な文書を取得できているか、回答が検索結果に根拠づけられているかを分けて確認することが重要です。
本記事では、RAG評価の指標と方法、代表的なフレームワークを解説します。後半では、架空の社内サポート文書を使ったRagasの検証結果を紹介します。社内RAGのPoC設計を検討する際に役立ててください。
\生成AIを活用して業務プロセスを自動化/
そもそもRAGとは
RAG(Retrieval-Augmented Generation)は、質問に関連する外部情報を検索し、その内容をLLMへ渡して回答を生成する仕組みです。LangChainのRetrieval公式ドキュメントでも、検索によって実行時に外部知識を取得し、生成と組み合わせる構成がRAGの基礎として説明されています。
社内規程、製品マニュアル、FAQなどを回答の根拠にできる一方で、検索対象の文書が古い、または検索結果がずれている場合は、回答も不正確になり得ます。導入時から評価用の質問と正解を準備しておくことが大切です。
LLM・ファインチューニングとの違い
LLMは文章を生成するモデル、ファインチューニングはタスクに合わせて追加学習でモデルの振る舞いを調整する方法、RAGは外部情報を検索して回答時に参照させる方法です。社内ルールの更新を反映したい場合、RAGでは検索対象の文書を更新する運用を取りやすい点が特徴です。
| 項目 | LLM | ファインチューニング | RAG |
|---|---|---|---|
| 主な役割 | 文章の生成・処理 | モデルの振る舞いや知識を調整 | 外部文書を検索し、回答の根拠として渡す |
| 情報更新 | モデルの学習内容に依存 | 再学習の計画が必要 | 検索対象の文書を更新 |
| 向く課題 | 要約、文章作成、分類 | 特定形式の出力、専門タスクへの適応 | 社内規程、FAQ、製品情報の参照 |
| 主な評価観点 | 出力品質、指示追従 | タスク精度、再現性 | 検索品質、根拠との整合性、回答品質 |
RAGの基本的な仕組みや導入時の注意点を確認したい方は、次の記事も参考にしてください。

RAGに評価が必要な理由
RAGでは、もっともらしい回答でも、必要な根拠を取り逃していたり、関係のない文書を混ぜていたりすることがあります。利用者の満足度だけを見ると、どこに問題があるのか分かりません。
たとえば、回答が誤っている原因は、文書の登録漏れ、チャンク分割、検索クエリ、検索件数、プロンプト、LLMの推論などにあります。原因ごとに評価軸を分けると、改善対象を一つに絞れます。
また、モデルや検索方式を変更するたびに同じ評価セットで比較すれば、変更が本当に改善につながったかを確認できます。PoCでは少数の代表質問でも構いませんが、運用に進むほど、問い合わせ傾向や失敗例を反映した評価セットを増やす必要があります。
RAG評価は参照・検索・生成それぞれで行う
| 評価対象 | 確認すること | 代表的な確認例 |
|---|---|---|
| 参照データ | 回答の根拠になる文書が最新で、権限や版が適切か | 失効した規程、重複文書、閲覧権限外の文書が混ざっていないか |
| 検索 | 必要な文書を取り逃さず、上位に関係文書を出せるか | Context Precision、Context Recall、Hit@k |
| 生成 | 検索文書に基づき、質問へ答えられているか | Faithfulness、回答の関連性、人手による正確性確認 |
RAGの評価は、回答だけでなく、回答に至るまでの流れを追うことが重要です。特に業務利用では、「正しい文書を取れたか」と「取れた文書だけで答えたか」を分けて確認します。
RAGの評価方法の種類
RAG評価は、部品ごとの性能を測るコンポーネント評価と、利用者の質問から最終回答までを通して測るパイプライン評価に大別できます。部品と全体の両方を測ることで、問題の発生箇所を特定しやすくなります。
コンポーネント評価
コンポーネント評価では、文書の前処理、チャンク分割、Embedding、Retriever、回答生成などを個別に確認します。検索が悪いのか、検索後の回答生成が悪いのかを切り分けやすいため、改善作業の起点になります。
たとえば、正解文書IDを付けた質問セットがあれば、RetrieverがそのIDを取得できた割合を測れます。検索の失敗を先に直すことで、プロンプトだけを調整し続ける遠回りを避けられます。
パイプライン評価
| 比較項目 | コンポーネント評価 | パイプライン評価 |
|---|---|---|
| 対象 | 検索、リランキング、生成などの個別処理 | 質問から最終回答までの一連の流れ |
| 強み | 原因を切り分けやすい | 利用者視点の品質を確認しやすい |
| 代表的な確認 | 正解文書を取得できたか、上位に出たか | 回答が質問に答え、根拠から外れていないか |
| 実施タイミング | 実装・改善のたび | PoC、リリース前、変更後の回帰確認 |
パイプライン評価では、質問、検索結果、最終回答を一連の体験として確認します。利用者が期待する質問に答えられたか、回答の根拠を追えるか、回答すべきでない質問で適切に保留できたかを評価します。
コンポーネント単体が良くても、複数の処理をつないだ際に文脈が欠けたり、不要な文書が回答を乱したりすることがあります。リリース判断には、実際の利用場面に近いパイプライン評価が欠かせません。
具体的なRAGの評価方法
RAG評価は、人が内容を読む人手評価と、同じ条件を繰り返し測る自動評価を組み合わせる方法が現実的です。自動スコアと業務上の確認を分けるために、人が確認すべきリスクを明確にしましょう。
人手評価
人手評価では、業務に詳しい担当者が質問、取得文書、回答を見比べます。正誤だけでなく、回答に必要な前提が抜けていないか、言い切るべきでない場面で保留できているか、出典を追えるかを確認できます。
はじめは、頻出問い合わせ、誤答時の影響が大きい問い合わせ、表現が似ていて取り違えやすい問い合わせを選びます。評価基準を事前に文章化し、複数人で判断が割れた例を残すと、後の自動評価にも使えます。
自動評価
自動評価は、正解文書IDや参照回答を付けた評価データを用意し、検索・回答の変化を同条件で比較する方法です。検索にはPrecisionやRecall、回答には根拠との整合性や関連性を使います。
RAG評価における代表的なフレームワーク
| フレームワーク | 主な特徴 | 向く場面 |
|---|---|---|
| Ragas | RAG向けの検索・生成指標を提供 | 正解付きテストセットで検索と回答を比較したい |
| TruLens | フィードバック関数を組み合わせて評価 | 実行ログと評価を結び付け、評価軸を調整したい |
| ARES | 合成データ、分類器、PPIを用いた自動評価 | ラベル付き・未ラベルの評価データを使い、より大きな評価を行いたい |
フレームワークとは、評価データの形式、指標の計算、記録や可視化などを一定の手順で扱うための基盤です。ゼロから採点ロジックを作るよりも、評価を継続しやすくなります。
ただし、フレームワークを導入しても、正解データや合格基準がなければ業務に合う品質は判断できません。自社の失敗例を評価セットへ反映する運用が前提になります。
Ragas
Ragasは、RAGやエージェント型ワークフロー向けの指標を提供する評価フレームワークです。Ragas公式の指標一覧には、Context Precision、Context Recall、Faithfulness、Response Relevancyなどが整理されています。
検索結果と正解文書IDがある場合は、IDベースのPrecisionとRecallでRetrieverを評価できます。参照回答や生成回答もある場合は、LLMを用いた指標を追加できます。まずは評価対象を検索だけに限定しても、改善の手掛かりは得られます。
TruLens
TruLensは、LLMアプリケーションの実行結果に対し、フィードバック関数で評価を組み立てるフレームワークです。TruLensのFeedback Functions公式ガイドでは、正解データが少ない場合でも、フィードバック関数でアプリケーションの実行を評価する考え方が説明されています。
RAG向けテンプレートには、Groundedness、Context Relevance、Answer Relevanceなどが含まれます。評価の理由を実行ログと照らし合わせたい場合や、ランタイムでのガードレールも検討したい場合に選択肢になります。
ARES
ARESは、RAGのContext Relevance、Answer Faithfulness、Answer Relevanceを対象にするフレームワークです。合成データ、分類器、Prediction-Powered Inference(PPI)を組み合わせて評価します。ARES公式GitHubリポジトリでは、人手ラベル付きの検証セット、few-shot例、より大きい未ラベルの評価セットを用いる構成が示されています。
比較的多くの評価データを扱う場面に向きますが、準備するデータや運用の設計も必要です。小規模PoCでは、評価セットを先に整え、必要に応じて高度な自動評価へ広げるほうが進めやすいでしょう。
評価結果をどのようにRAG改善に活用するべきか
スコアが低かったときは、モデルをすぐに変えるのではなく、失敗した質問、取得文書、期待する根拠、実際の回答を一件ずつ確認します。数値と失敗ログをセットで見ることが、RAG改善の基本です。
1. 合格条件を決める
業務ごとに、検索漏れを避けるのか、不要な文書を減らすのか、根拠のない回答を防ぐのかを決めます。高リスクの手続きでは、スコアだけでなく人の確認を必須にします。
2. 失敗を分類する
文書が存在しない、正解文書を検索できない、不要文書が上位に出る、文書は取れたのに回答が外れる、といった形で記録します。
3. 変更は一度に一つにする
チャンクサイズ、メタデータフィルター、検索件数、リランキング、プロンプトを同時に変えると、改善理由が分かりません。一つずつ変更し、評価セットで再測定します。
4. 評価セットを育てる
実運用で出た質問やレビューで判明した失敗例を追加します。問い合わせの傾向が変われば、評価対象も更新します。
【実践】RagasでRAG評価を検証してみた
ここでは、架空の社内サポート文書8件と質問3件を使い、RAGの検索から回答生成、Ragasによる評価までをローカルで実行しました。各質問には参照回答を用意し、個人情報や顧客データは使用していません。
検索では文字n-gramで上位3件を取得し、gpt-5.4-miniで検索結果だけを根拠に回答を生成しました。続いて、gpt-4.1-miniを評価モデルとして使い、回答が検索結果に裏付けられているか、検索結果が参照回答に役立つか、必要な情報を検索できているかを確認します。

検証用スクリプトは、ragas_full_rag_evaluation.pyに保存しています。OpenAIのAPIキーは実行環境の環境変数としてだけ設定し、コード、出力JSON、画像には含めていません。
コード
クリックで表示
from langchain_openai import ChatOpenAI
from openai import AsyncOpenAI
from ragas.llms.base import llm_factory
from ragas.metrics.collections import (
ContextRecall,
ContextPrecisionWithReference,
Faithfulness,
)
generation_model = ChatOpenAI(model="gpt-5.4-mini", temperature=0)
evaluator_llm = llm_factory("gpt-4.1-mini", client=AsyncOpenAI())
faithfulness = Faithfulness(llm=evaluator_llm)
context_precision = ContextPrecisionWithReference(llm=evaluator_llm)
context_recall = ContextRecall(llm=evaluator_llm)
async def evaluate_case(question, context, reference, retrieved_contexts):
response = await (PROMPT | generation_model).ainvoke(
{"context": context, "question": question}
)
faithfulness_score = await faithfulness.ascore(
user_input=question,
response=str(response.content),
retrieved_contexts=retrieved_contexts,
)
precision_score = await context_precision.ascore(
user_input=question,
reference=reference,
retrieved_contexts=retrieved_contexts,
)
recall_score = await context_recall.ascore(
user_input=question,
reference=reference,
retrieved_contexts=retrieved_contexts,
)
return faithfulness_score.value, precision_score.value, recall_score.value記事内のコードは、回答生成と評価指標の初期化・計算部分を抜粋しています。実行用ファイルでは3件の質問を繰り返し評価し、各質問の生成回答とスコア、平均スコアを表示したうえでJSONファイルへ保存します。

実行結果は次のとおりです。今回の評価セットでは、Context PrecisionとContext Recallは全3件で1.000でした。取得した文脈は、参照回答に対して有用であり、必要な情報を含むと評価されました。
| 質問 | Faithfulness | Context Precision | Context Recall |
|---|---|---|---|
| VPN接続で最初に確認することと復旧しない場合の連絡先 | 1.000 | 1.000 | 1.000 |
| ソフトウェア購入の申請手順 | 0.750 | 1.000 | 1.000 |
| 個人情報に関係する可能性があるインシデントの報告方法 | 1.000 | 1.000 | 1.000 |
| 平均 | 0.917 | 1.000 | 1.000 |

一方で、ソフトウェア購入の質問ではFaithfulnessが0.750でした。スコアが下がったケースは回答と検索結果を確認し、質問、参照回答、検索対象文書のどこに改善余地があるかを切り分けます。
よくある質問
RAGの評価方法を運用に組み込み、回答品質を高めよう
RAGの評価方法では、参照データ、検索、生成を切り分け、どの工程で失敗したかを確認します。小さな評価セットを継続して回すことが、改善を続ける近道です。最初から大量のデータや複雑な指標を用意する必要はありません。
検索結果を正しく取れても、最終回答の根拠との整合性や、業務上の判断に使えるかは別に確認する必要があります。RAGの評価設計、社内データの整理、PoCの進め方に迷う場合は、WEELの無料相談をご活用ください。自社の業務とリスクに合う評価範囲から、導入方針を整理できます。

最後に
いかがだったでしょうか?
RAGの評価設計や社内データの整理、PoCから運用までの進め方に迷ったら、WEELの無料相談へお気軽にご相談ください。自社の業務やリスクに合わせて、評価範囲や導入方針を一緒に整理します。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、通勤時間に読めるメルマガを配信しています。
最新のAI情報を日本最速で受け取りたい方は、以下からご登録ください。
また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

