AI・機械学習
中級

RAG Faithfulness(RAGAs)(ラグフェイスフルネスラガス)

RAGシステムが生成した回答の各文が、検索された参照文書によって支持されているかを測定する評価指標。RAGAsフレームワークの中核指標の一つ。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
RAG評価
忠実性
RAGAs
ハルシネーション
コンテキスト整合

RAG Faithfulness(RAGAs)

概要

RAG Faithfulness(忠実性)は、Retrieval-Augmented Generation(RAG)システムの評価フレームワークであるRAGAs(Es, James, Anke, Schockaert, 2023年9月)の中核指標の一つである。RAGシステムが生成した回答の各文が、検索された参照文書(コンテキスト)によって論理的に支持されているかを測定することで、RAG固有のハルシネーション問題を定量化する。

RAGAsフレームワークの全体構成

指標測定内容対象
Faithfulness回答が検索コンテキストに忠実か生成品質
Answer Relevancy回答が質問に関連しているか生成品質
Context Precision検索結果に無関係な文書が混入していないか検索品質
Context Recall正解に必要な情報が検索で取得できているか検索品質

Faithfulness の計算手順

Step 1: 原子的事実の抽出

生成回答をLLMで原子的事実の集合 S = {s₁, s₂, ..., sₙ} に分解する。

Step 2: コンテキスト検証

各原子的事実sᵢについて、検索されたコンテキスト C をもとにLLM-as-Judgeが「支持される(1)」か「支持されない(0)」かを判定。

Step 3: スコア算出

Faithfulness = 支持された事実数 / 総事実数

スコア解釈と実用目安

スコア評価意味
0.90 以上優秀ほぼ全文がコンテキストに基づく
0.75〜0.89良好一部コンテキスト外情報あり
0.60〜0.74要改善生成モデルの事前知識が混入
0.60 未満危険大規模なハルシネーション

実装

from ragas import evaluate
from ragas.metrics import faithfulness
from datasets import Dataset

data = {
    'question': ['東京タワーはいつ建設されましたか?'],
    'answer': ['東京タワーは1958年に建設されました。高さは333メートルです。'],
    'contexts': [['東京タワーは1958年12月に完工した電波塔。']],
}
dataset = Dataset.from_dict(data)
result = evaluate(dataset, metrics=[faithfulness])
print(result['faithfulness'])  # 0.5(「333メートル」はコンテキスト外)

2025年の状況

  • RAGAs v0.2以降でデフォルトLLMがGPT-4o-miniへ移行
  • Notion・Salesforce等のエンタープライズRAGで本番監視指標として採用
  • 医療RAGでは Faithfulness ≥ 0.95 を社内基準とする事例あり

Faithfulnessが低い原因と対策

原因:

  • LLMが事前知識でコンテキスト外情報を補完
  • Context Recall問題(必要な情報が検索で取得できていない)

対策:

  • システムプロンプトに「コンテキスト外の情報は述べない」と明示
  • ハイブリッド検索(Dense + Sparse)でContext Recallを向上
  • Rerankerでコンテキスト品質を向上させてからLLMに渡す

まとめ

RAG Faithfulnessは、RAGシステム固有のハルシネーション(コンテキスト外情報の生成)を定量化する中心的な評価指標である。原子的事実分解 + LLM-as-Judgeの2段階で0〜1のスコアを算出し、0.9以上が実用的な目標値とされる。2025年時点でエンタープライズRAGの本番監視指標として広く採用されている。

この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/7