✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

如何评估一个 RAG 系统的效果?检索阶段和生成阶段分别应该看哪些指标?没有标注数据时怎么办?

创建时间:2026-10-19 更新时间:2026-10-19 阅读次数:1066 次 分类:Agent与RAG应用

1、先给一个核心原则

RAG 评估不能只看最终答案,必须分层拆解:

  • 检索层:有没有找到正确文档?
  • 生成层:答案是否忠于检索内容、是否回答了问题?
  • 端到端:整体体验如何?

而且有一个重要的工程原则:先看检索,再看生成。如果检索没召回正确文档,后面生成再好也没用。

2、检索阶段看哪些指标

检索阶段的评估需要“标注数据”——知道哪些文档对某个 query 是相关的。有了这个,可以算:

(1)Recall@K(召回率)

定义:正确答案是否出现在 Top-K 检索结果中。

公式:Recall@K = 检索到的相关文档数 / 所有相关文档总数。

意义:最重要的检索指标。Recall 低说明相关内容根本没被找到,后面全白搭。

工程判断:Recall 低于 70% 通常说明检索有严重问题。

(2)Precision@K(精确率)

定义:Top-K 结果中,相关文档的比例。

意义:衡量“找到的内容有多少是相关的”,Precision 低说明上下文噪声多。

(3)MRR(平均倒数排名)

定义:第一个相关文档排名的倒数,对所有 query 取平均。

意义:衡量“最相关的结果排得够不够靠前”。

注意:MRR 描述排序,不描述“有没有找到”。

(4)NDCG@K(归一化折损累积增益)

定义:考虑排序位置和相关度等级的综合排序质量。

意义:比 MRR 更细,适合有分级相关度的场景。

(5)Context Precision / Context Recall(RAGAS 风格)

Context Precision:检索到的上下文中有多少是真正有用的(LLM 判定)。

Context Recall:生成答案所需的信息是否都在检索上下文中(LLM 判定)。

这两个不需要人工标注,可以用 LLM 做 judge。

检索层总结:Recall@K 是第一道防线,Precision 看噪声,MRR/NDCG 看排序质量。

3、生成阶段看哪些指标

生成阶段评估答案质量,核心指标:

(1)Faithfulness(忠实度)

定义:答案中的信息点是否都能从检索上下文中推断出来。

公式:可被上下文支持的答案信息点 / 答案信息点总数。

意义:RAG 安全性的核心,衡量有没有幻觉。

如果 Faithfulness 低,说明模型没忠实地用检索内容,在编。

(2)Answer Relevance(答案相关性)

定义:答案是否真正回答了用户的问题。

意义:防止“答非所问但看起来合理”的输出。

(3)Answer Correctness(答案正确性)

定义:答案是否事实正确。

需要 ground truth 或人工判断。

可以用 LLM judge 辅助。

(4)Context Relevance / Context Precision

定义:检索到的上下文对回答问题是否有用。

衡量“上下文窗口的 token 花得值不值”。

(5)Hallucination Rate / Citation Accuracy

幻觉率:有至少一个不被支持声明的答案比例。

引用准确率:引用的文档是否真的支持被引用的内容。

生成层总结:Faithfulness 是核心,其次是 Answer Relevance 和 Answer Correctness。

4、没有标注数据时怎么办

这是这道题最有区分度的部分。没有人工标注的 query-doc 相关性或标准答案时,有几种办法:

(1)用 LLM 做 Judge(最主流)

用强 LLM 来判定 Faithfulness、Answer Relevance、Context Relevance。

代表框架:RAGAS、TruLens、DeepEval。

原理:给 LLM 一个 prompt,让它判断答案是否被上下文支持、是否回答了问题。

优点:不需要人工标注,可自动化。

缺点:LLM judge 有偏差。研究显示 RAGAS 指标与人工评估的相关性调和平均只有约 0.55,远不够可靠。LLM judge 存在位置偏差、冗长偏差、自我增强偏差等。

所以:LLM judge 适合快速迭代和回归测试,不适合作为唯一质量依据。

(2)合成评估集(Synthetic Eval Set)

用 LLM 从文档中生成问题和答案对,作为“伪标注”。

方法:给 LLM 一段文档,让它生成 3~5 个 QA 对。

优点:快速、便宜、可覆盖新领域。

缺点:合成数据会“美化”结果。有研究发现,在“复制问题”上 Recall@1 可以达到 1.00,但在“用户用自己的话问同样事实”时只有 0.38。所以合成集要尽量模拟真实用户表达。

建议:合成集必须经过人工抽样校验,不能直接用。

(3)用公开 Benchmark(如果有匹配的)

BEIR、MTEB 用于检索评估。

HotpotQA、NaturalQuestions 用于 QA。

问题:公开数据集可能和你的领域不匹配,而且存在数据污染风险。BEIR 已经不再是真正的 zero-shot benchmark,因为很多模型训练时已经包含了它。

(4)人工抽查(不可替代)

每周抽一批线上 query,人工看检索结果和生成答案。

这是最可靠的方式。

有经验的团队强调:没有人工阅读系统输出,就没有真正的评估。

(5)线上指标

用户点击、满意度、答案采纳率、转人工率。

不需要标注,但需要产品埋点。

适合验证“效果是否真的提升了”。

没有标注数据时的推荐策略:

  • 先用 LLM judge + RAGAS 做快速 baseline,跑起来。
  • 合成一批评估集,但人工校验 20~50 条,确保质量。
  • 每周人工抽查线上 bad case 和 good case。
  • 逐步积累真实标注,替换合成数据。
  • 不要只信 LLM judge 的分数,它只是信号,不是真相。

5、一句话总结

RAG 评估分检索和生成两层。检索看 Recall@K(第一防线)、Precision、MRR、NDCG;生成看 Faithfulness(核心)、Answer Relevance、Answer Correctness。没有标注数据时,用 LLM judge(RAGAS)做快速迭代,用合成集做冷启动,但必须配合人工抽查。LLM judge 有偏差,不能作为唯一依据。

6、这道面试题的质量点评

优点

  • 结构完整:检索指标 → 生成指标 → 无标注怎么办,三层递进。
  • 区分度很好:
    • 初级:能说 Recall、Faithfulness。
    • 中级:能说 RAGAS、LLM judge、合成集。
    • 高级:能说 LLM judge 的偏差、合成集的“美化效应”、人工抽查不可替代。
  • 贴近工程:没有标注数据是真实项目最常见的困境。
  • 有追问空间:可以追问 RAGAS 的局限性、合成集怎么构建、线上指标怎么设计。

缺点

  • 第三问偏难:没有标注数据时的评估是进阶话题,初级候选人可能答不上。
  • 容易背框架名:可能只答“用 RAGAS”,说不清原理和局限。
  • 缺少场景:没问“你实际项目怎么建立评估体系的?”
  • 没覆盖端到端评估:如用户满意度、A/B 测试,题目没提。

总体评价

质量:上。 适合中高级岗位,能有效区分“知道几个指标”和“真正建立过 RAG 评估体系”的人。建议追问:

“RAGAS 的 Faithfulness 具体怎么算?”

“LLM judge 有什么偏差?你怎么缓解?”

“合成评估集有什么风险?”

“你实际项目怎么平衡评估成本和覆盖率?”

“线上指标怎么设计?”

7、怎么回答才是最好的

回答原则

  • 先给分层框架:检索层、生成层、端到端。
  • 检索指标说清用途:Recall 是第一防线,MRR/NDCG 看排序。
  • 生成指标突出核心:Faithfulness 防幻觉。
  • 无标注时给策略:LLM judge + 合成集 + 人工抽查,但要说清局限。
  • 主动提偏差和风险:LLM judge 不可靠、合成集会美化。
  • 结合实践:说“我们先用 RAGAS 跑 baseline,每周人工抽查”。

推荐回答结构

“RAG 评估要分层,不能只看最终答案。先看检索,再看生成。”

“检索层核心是 Recall@K,正确答案有没有出现在 Top-K 里。Recall 低说明检索没找到,后面生成再好也没用。还有 Precision 看噪声,MRR 和 NDCG 看排序质量。”

“生成层核心是 Faithfulness,答案是否忠于检索上下文,有没有幻觉。还有 Answer Relevance 看是否答非所问,Answer Correctness 看事实正确性,Context Precision 看上下文利用率。”

“没有标注数据时,常用 LLM judge,比如 RAGAS 的 Faithfulness、Answer Relevance。但 LLM judge 有偏差,RAGAS 和人工评估的相关性只有 0.55 左右,不能全信。合成评估集可以用 LLM 从文档生成 QA 对,但会美化结果,必须人工校验。最可靠的是每周人工抽查线上 bad case。”

“我们实际的做法是:先用 RAGAS 跑 baseline 和回归测试,合成一批评估集但抽样校验,每周人工看 20~50 条线上 case,同时监控用户满意度。LLM judge 是信号,不是真相。”

加分点

  • 提到 Recall@K 是第一防线、Faithfulness 是核心。
  • 提到 MRR、NDCG、Context Precision、Answer Relevance。
  • 提到 RAGAS、LLM judge 的偏差、合成集的美化效应。
  • 提到 人工抽查不可替代、线上指标。
  • 结合真实评估体系建设经验。

减分点

  • 只说“看召回率和准确率”,不展开。
  • 不知道 Faithfulness。
  • 说“用 RAGAS 就够了”。
  • 不知道 LLM judge 有偏差。
  • 不提人工抽查。

📌 面试天下网:一款服务于大一新生的口袋书,让大家在无聊的公共课上可以学习大模型技术!
📌 网站公告:【悬赏 200 元/篇】寻找“大模型面试战场”的一手回忆录
📌 网站公告:【大模型/Agent面试陪练1V1指导】正式启动......

评论专区

评论加载中...