Ch13 RAG修订于 二〇二六年七月二日

13.13 RAG 评估

你搭了一个 RAG 系统,改了分块策略,换了重排序模型——你怎么知道它变好了还是变差了?RAG 评估就是回答这个问题的。

13.13.1 为什么 RAG 评估这么难

评估一个聊天机器人相对容易——你问一个问题,看它回答得好不好。但 RAG 系统有两层:检索层和生成层。答案不好,可能是检索没找到相关文档,也可能是找到了但 LLM 没用好。你需要分别评估这两层。

而且,RAG 的”好答案”很难定义。对于”苹果公司成立于哪一年”,正确答案只有一个。但对于”如何提高团队效率”,不存在唯一正确答案——你需要评估的是”答案是否基于检索到的文档”、“是否全面”、“是否有编造”。

13.13.2 RAGAS:RAG 评估标准框架

RAGAS(RAG Assessment)是 2024 年出现的最流行的 RAG 评估框架。它定义了四个核心指标:

忠实度(Faithfulness):LLM 生成的答案中有多少是能从检索到的文档中推导出来的。如果答案里有一句话在文档中找不到依据,那就是”不忠实”的——也就是幻觉。忠实度 = 有依据的陈述数 / 总陈述数。这是 RAG 最重要的指标,因为 RAG 的核心价值就是”凭证据回答”。

答案相关性(Answer Relevancy):答案是否直接回答了用户的问题。如果用户问”苹果公司成立于哪一年”,答案说”苹果公司是一家伟大的科技公司,成立于 1976 年……”——后半句是相关的,前半句是冗余的。答案相关性衡量答案的”信息密度”。

上下文相关性(Context Relevance):检索到的文档是否与用户问题相关。如果检索到了 10 个文档,但只有 3 个与问题有关,上下文相关性就低。这个指标衡量的是检索质量。

上下文召回率(Context Recall):所有应该被检索到的相关文档中,有多少被实际检索到了。这个指标很难自动评估(因为你需要知道”应该被检索到的文档”是什么),通常需要人工标注或使用合成数据。

13.13.3 其他评估工具

  • TruLens:提供了 RAG 评估的”三连”指标——答案相关性、上下文相关性、基础性(答案是否基于上下文)。支持可视化追踪,能看到每次查询的详细评估结果。
  • DeepEval:开源评估框架,支持 RAGAS 指标,也支持自定义指标。可以集成到 CI/CD 流程中,每次代码变更后自动跑评估。
  • LangSmith:LangChain 的商业平台,提供了 RAG 实验跟踪和评估功能。适合已经使用 LangChain 生态的团队。

13.13.4 人工评估:什么时候需要

自动评估指标可以告诉你”系统变好了还是变差了”,但不能告诉你”用户满意不满意”。以下场景需要人工评估:

  • 系统上线前的最终质量把关
  • 自动评估指标和用户反馈不一致时(指标好了但用户投诉多了)
  • 评估”答案的有用性”(自动指标衡量不了”这个答案对用户有没有实际帮助”)
  • 评估”语气和风格”(自动指标衡量不了”这个回答听起来像不像一个靠谱的专家”)

13.13.5 RAG 评估的挑战

挑战一:评估本身的成本。 用 LLM 评估 LLM 的答案(LLM-as-Judge),评估一次也需要调用 LLM API,成本不低。而且”裁判”LLM 本身也可能有偏见——它可能更喜欢跟自己风格相似的答案。

挑战二:评估数据和真实数据的分布差异。 你用来评估的测试集可能跟用户实际问的问题不一样。测试集上指标好看,但用户真实使用时效果差——这是”评估集过拟合”。

挑战三:指标之间的权衡。 忠实度和答案相关性有时是冲突的。高度忠实(只严格复述检索结果)可能导致答案不够”有用”(用户真正需要的不是原文复述,而是综合理解)。你需要根据场景定义”好”的标准。

2026 年建议:RAGAS 是评估的起点。用 RAGAS 的四个指标建立基线,每次改策略后跑评估,看指标变化。上线前做一轮人工评估。不要追求”所有指标都最高”——根据你的场景(客服 vs 学术研究 vs 法律咨询),定义什么指标最重要。


← 上一节:13.12 RAG 高级技术 | 下一节:13.14 RAG vs 微调 vs 长上下文 →

关联5

知识图谱

局部图谱 · 点节点跳转