跳到正文

RAG 线上效果评估

线上任务成功、用户反馈、延迟、成本和业务指标

原题:请详细说明检索增强生成(RAG)系统的评估方法和指标体系。

评估与监控 · 淘天真题

30 秒回答

  1. 区分检索评估和生成评估两个层面
  2. 掌握经典指标如Recall@K、MRR、BLEU、ROUGE、Faithfulness
  3. 了解端到端评估框架RAGAS的核心指标
  4. 理解人工评估与自动评估的权衡

回答与解析

答案要点

  • 区分检索评估和生成评估两个层面
  • 掌握经典指标如Recall@K、MRR、BLEU、ROUGE、Faithfulness
  • 了解端到端评估框架RAGAS的核心指标
  • 理解人工评估与自动评估的权衡
  • 知道业务场景下的实用评估策略

RAG评估要分检索层生成层两个维度,最后才是端到端评估。

一、检索质量评估

经典指标

  • Recall@K:正确答案在Top-K检索结果中的比例,RAG最核心指标
  • MRR(平均倒数排名):正确答案的排名倒数,关注排序质量
  • Hit Rate:任意位置命中的比例
  • NDCG:考虑相关度分级的精细排序指标

评估方式:需要人工标注query对应的黄金文档集,或用合成数据自动验证。

二、生成质量评估

传统NLP指标(参考意义有限)

  • BLEU、ROUGE:n-gram重叠,对RAG不太适用

RAG专用指标

  • Faithfulness(忠实度):生成内容是否被检索文档支持,用NLI模型或LLM判断
  • Answer Relevance:答案与问题的相关性
  • Context Relevance:检索文档与问题的相关性

三、端到端框架:RAGAS

主流开源方案,用LLM做裁判:

Faithfulness = 生成claims中被上下文支持的比例
Context Precision = 有用上下文在检索结果中的密度
Answer Correctness:与标准答案的语义相似度

四、实践要点

场景 推荐做法
快速迭代 RAGAS自动评估 + 少量人工抽检
上线前 构建领域测试集,分维度打标
线上监控 用户反馈(点赞/点踩)+ 埋点分析检索为空率

关键认知:RAG评估没有银弹,Faithfulness比Answer Correctness更关键——宁可答得少,不能瞎编。

口语版讲法(约4分钟)

  • RAG评估本质是两段式质量博弈
  • 检索层:Recall@K最核心,但别迷信
  • 生成层:Faithfulness是底线,宁可少说别乱说
  • 端到端RAGAS框架:用LLM当裁判,但前提是裁判靠谱
  • 落地取舍:没有银弹,我更倾向按场景分层决策

这道题问的是RAG评估,但我觉得它真正在问的是:你怎么在检索和生成这两段之间做质量博弈,并且落地时不被指标骗了。

我会把评估拆成两个层面,先检索层,再生成层,最后看端到端,但每个层面都有坑。

先说检索层。最核心的指标是 Recall@K,就是正确答案在Top-K里被召回的比率,这个直接决定了生成环节的素材上限。但这里有个常见误区:很多人上来就追Recall@K到95%以上,其实没必要。比如客服退款场景,用户问“退款到哪了”,你召回3篇文档,只要有一篇包含退款状态信息就够了,剩下的两篇是噪声,但Recall已经100%了。所以我会把Recall@K和MRR搭配看,MRR关注正确答案排在第几位,更能反映排序质量。如果MRR低,说明正确答案虽然召回了但排在很后面,生成模型可能压根没用到它,那就需要优化排序。

再就是生成层。传统NLP指标像BLEU、ROUGE,在RAG里参考意义有限,因为答案可以措辞不同但意思对。我更关注Faithfulness,也就是忠实度,说白了就是生成内容有没有被检索文档支持。这个指标比Answer Correctness更关键,因为RAG最大的风险就是Hallucination。宁可答得少,不能瞎编。比如企业SOP合规场景,员工问“报销流程”,模型如果编一个不存在的审批节点,那就是事故。所以我会用NLI模型或者LLM做裁判,逐句检查生成内容能否从上下文里找到依据。

然后是端到端,主流框架是RAGAS,用LLM当裁判。它有几个指标:Faithfulness、Context Precision、Answer Correctness。但这里有个前提:裁判LLM本身要靠谱。如果裁判模型能力不够,它可能分不清哪些是忠实哪些是编的。所以我会先用一批人工标注的测试集校准裁判的准确率,低于90%就换模型或调prompt。

说到这,其实还有一个更隐蔽的问题:RAGAS的Context Precision指标,它假设检索结果里有用的文档排在前面就好,但现实里,如果检索结果里混入了和问题高度相关但误导性的文档,这个指标反而会骗人。所以落地时,我会额外关注检索结果的“有害相关”比例。

最后说落地策略。没有银弹,我更倾向按场景分层:快速迭代时用RAGAS自动评估加少量人工抽检;上线前必须构建领域测试集,分维度打标;线上监控则靠用户反馈和埋点。我会把Faithfulness视为底线指标,上线前必须过,Recall@K是效率指标,达到业务可接受的阈值就行,别过度优化。

这就是我对RAG评估的理解,核心是分层看、抓底线、用工具但不盲信。

关键一句:RAGAS的Context Precision指标可能被“有害相关”文档欺骗,需要额外关注检索结果中的误导性内容。

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做电商客服,用户问‘我的订单到哪了’,系统先检索知识库再生成回答。你怎么知道检索到的文档对不对、生成的内容有没有瞎编?具体用什么指标来衡量?

  2. 问法 2 · 层层追问

    RAG效果好不好,你一般怎么评估?……光看生成回答够吗?……检索部分怎么量化?有没有一个统一的框架把检索和生成都管起来?

  3. 问法 3 · 直球架构

    请设计RAG系统的评估方案,分检索和生成两个层面,列出具体指标,再给一个端到端的自动化评估框架。实际项目中你会怎么平衡自动评估和人工抽检?

同模块相关题目