本文探讨了如何系统性地量化RAG(检索增强生成)系统的效果,强调不能仅依赖用户投诉或人工抽查。文章提出了分层的指标评估体系:检索层使用Hit@K和MRR评估召回质量,生成层利用RAGAs框架中的Faithfulness、Answer Relevancy和Context Recall评估答案质量。同时,线上指标如用户点踩率、追问率和转人工率是最终验收标准。通过结合离线评估和线上观测,形成完整的评估闭环,指导RAG系统优化方向,避免主观判断和问题定位困难。


👔面试官:你们线上跑了 RAG,那你怎么衡量它的效果好不好?

🙋‍♂️我:我主要看用户反馈,有人投诉就说明效果不好,没人投诉就还行。

👔面试官:靠用户投诉来评估?那你等到用户投诉的时候,已经有多少人被错误答案坑过了?你这叫亡羊补牢,不叫效果评估。再说,用户不投诉不代表效果好,可能人家直接就不用了。

🙋‍♂️我:那我可以抽查几十条问答,人工看看质量怎么样。

👔面试官:几十条样本能代表什么?而且人工抽查主观性太强,不同人标准不一样,你换个人来评估结论可能完全不同。我问的是你怎么系统性地、可量化地评估 RAG 的效果,能定位到具体哪个环节出了问题。

咱们还是来看一下怎么用指标体系来量化 RAG 效果。

💡 简要回答

我评估 RAG 效果是分两层来看的。

检索层看该召回的有没有召回到,我用 Hit@K 和 MRR 来衡量。生成层看答案对不对、有没有幻觉、和问题相不相关,我主要用 RAGAs 框架,里面的 Faithfulness、Answer Relevancy 和 Context Recall 这三个指标是最核心的。

我的建议是一定要在自己的业务数据上跑,不能只看通用排行榜,那个不能代表你的场景。

另外线上指标,就是用户的点踩率、追问率、转人工率这些,才是最终的衡量标准,离线指标只是辅助。

📝 详细解析

什么是 RAG 评估?

RAG 评估,就是用一套可量化的指标体系,持续测量 RAG 系统「回答得好不好」,并且能把「好不好」这个笼统的感受,拆解成具体是哪个环节出了问题。

你可能会问,为什么非得强调「持续」?

因为 RAG 系统不是搭完就一劳永逸的。知识库在更新,用户的提问方式在变化,Embedding 模型可能要换,Chunking 策略可能要调,每一次改动都可能让效果变好或者变坏。没有评估体系,你就是在盲飞,不知道自己的优化到底有没有用,甚至不知道改完之后系统是变好了还是变差了。

为什么需要 RAG 评估?

很多团队早期不做系统性评估,靠「人工抽查几条觉得还行」就上线了。

这种方式的问题很明显。

首先,靠感觉调优没有方向。改了 Chunking 策略、换了 Embedding 模型,系统效果有没有提升?抽查几条根本说明不了问题,样本太少,结论不可靠。

其次,出了问题不知道该查哪里。用户反馈「AI 回答错了」,你不知道是检索没召回到正确内容,还是召回了但 LLM 编造了额外信息,还是 Prompt 设计有问题。没有分层指标,排查就靠猜。

再者,优化后无法验证收益。你花了时间调优,但到底优了多少?没有数字说话,技术决策缺乏说服力,也无法判断下一步该在哪里继续投入。

RAG 评估的本质,是把「这套系统好不好用」这个主观感受,转化成一组可以追踪、可以对比、可以指导决策的客观数字。

为什么 RAG 评估很难

说完为什么需要,你可能会想:评估嘛,不就是对答案吗,有什么难的?事实上,RAG 评估比想象中难做得多。

普通分类任务评估很简单,有标准答案对比就行。RAG 的评估难在几个地方:答案是自然语言,没有唯一标准答案;出了问题不知道是检索层的锅还是生成层的锅;人工标注成本高,难以大规模持续做。

正确的做法是把评估拆成两层,分别衡量检索质量和生成质量,定位问题更精准。先看检索层。

第一层:检索层评估

不管 LLM 生成什么,先单独评估检索有没有把正确的 chunk 召回来。需要准备一批「问题 + 对应的正确 chunk ID」的测评数据(可以从历史问答里标注,也可以让领域专家整理)。

这一层主要有两个指标。

Hit@K 的直觉是:我把 Top-K 的检索结果摆在你面前,你要找的那个在里面吗?如果在,这次就算命中(Hit)。Hit@5 就是说,把前 5 个结果给你,能不能命中,最终统计命中率。

这个指标回答的是「找到没」的问题,不关心找到的是第几名。一般 Hit@5 低于 0.7 就说明检索层有问题,需要考虑换 Embedding 模型或者优化 Chunking 策略;高于 0.8 说明检索层 OK,如果答案还不好,问题在生成层。

MRR(Mean Reciprocal Rank,平均倒数排名)更进一步,关心的是「你要找的东西排在第几名」。计算公式也很直观,就是对每个问题算 1 / 排名,然后对所有问题求平均。所以第一名找到得 1 分,第二名找到得 0.5 分,第三名得 0.33 分,第五名得 0.2 分,排名越靠后得分越低。MRR 越高,说明正确内容排名越靠前,用户越早看到它。这个指标回答的是「多快找到的」。MRR 低于 0.5 通常说明 Rerank 效果不够好,正确内容召回了但没排到前面。

很多人容易混淆这两个指标,觉得差不多。简单来说:Hit@K 是「找到没」,MRR 是「多快找到的」。Hit@5 等于 0.9,说明 90% 的问题都能在前 5 个结果里找到相关内容;但 MRR 只有 0.3,说明相关内容虽然找到了,但排得很靠后,可能第 4、第 5 才出现。配合起来用能精确定位检索层的问题出在哪一步。

第二层:生成层评估(RAGAs 框架)

检索层评估回答了「找没找到」的问题,但找到之后 LLM 有没有好好利用这些内容?这就需要生成层评估。RAGAs(Retrieval Augmented Generation Assessment)是目前使用很广泛的 RAG 端到端评估框架,它的核心思路叫做「LLM-as-a-Judge」,意思是用 LLM 来当裁判,自动给答案打分,不需要人工标注每一条,大幅降低评估成本。

它有四个核心指标,分别是 Faithfulness、Answer Relevancy、Context Recall 和 Context Precision,每个都有直观的理解方式,下面挨个讲。

Faithfulness(忠实度):答案里说的每件事,在检索到的 chunk 里有没有出处?这个指标衡量的是幻觉程度。你可以把它理解为「LLM 裁判」在逐句问:「这句话你从哪条资料里找到的依据?」没有依据的句子越多,分越低。目标值是 > 0.8。

Answer Relevancy(答案相关性):答案有没有回答用户问的那个问题?注意这个指标和 Faithfulness 是两回事,很多人会把它们搞混。Faithfulness 是问「说的是不是真的」,Answer Relevancy 是问「说的是不是用户想要的」。一个答案可以字字有据、但完全跑题,Faithfulness 高、Answer Relevancy 低。

打个比方,你问「北京天气怎么样」,AI 回答了一篇关于北京历史的资料,内容全是对的,但和天气没有半毛钱关系,这就是 Faithfulness 高、Answer Relevancy 低。目标值是 > 0.8。

Context Recall(上下文召回率):要回答这个问题,所需要的信息有多少比例在检索结果里覆盖到了?这个指标需要有「标准答案」作为参照,衡量的是检索层有没有「漏掉该找到的内容」。目标值是 > 0.7。

Context Precision(上下文精确率):这个指标和 Context Recall 配对出现,衡量的是检索结果里「有用的内容」排名是否靠前。也就是说,如果你召回了 10 个 chunk,相关的那几个有没有被排在前面,而不是混在无关内容的后面。它同样需要 ground_truth 作为参照计算。Context Recall 关注「该找的有没有找全」,Context Precision 关注「找到的里面相关的是不是排在前面」,两个配合能完整刻画检索质量。

需要注意的是,RAGAs 本质上是「LLM-as-a-Judge」,每次评估都要调用 LLM 来打分。如果测试集有几千条,全量跑一遍的 token 消耗和时间成本相当可观。工程上通常有两种缓解方式:一是对核心测试集抽样评估,只跑最有代表性的 200~500 条;二是把评判者模型从 GPT-4o 降级到 GPT-4o-mini,成本降低 10 倍,精度损失在可接受范围内。

通过指标定位问题

有了这些指标,怎么用它们来定位问题?不同指标低说明不同的问题,指导优化方向。

Context Recall 低,你可以把它理解为「检索结果里缺少了答好这道题必要的信息」,说明检索层没召回到正确内容,优化方向是换更强的 Embedding 模型、调整 Chunking 策略、或者加多路召回来补充覆盖面。

Context Precision 低,说明检索召回了太多噪音,相关内容是找到了,但不相关的内容也混进来了,把 LLM 的注意力稀释掉了,优化方向是加强 Rerank 模型、调低最终送给 LLM 的 chunk 数量。

Faithfulness 低,说明 LLM 在编造,幻觉问题多,你回答里说的东西在参考资料里找不到依据,优化方向是加强 Prompt 约束、引入引用核查、或者做检索质量门控,防止低质量上下文进入生成阶段。

Answer Relevancy 低,说明答案跑题了,没有聚焦在用户问的问题上,通常是 Prompt 的指令不够明确,告诉 LLM「请严格回答问题本身,不要展开无关内容」往往就能改善。

线上指标:最终衡量标准

上面说的都是离线指标,但离线指标再好,最终还是要看线上用户的反应。毕竟离线跑得再漂亮,用户不满意也是白搭。

几个实用的线上指标,每一个都能反映 RAG 系统的某个方面。

踩率(thumbs_down_rate)是最直接的信号,用户主动点踩,说明这次回答让他不满意,是最真实的负反馈。

追问率(followup_rate)反映的是「答非所问」的程度,用户紧接着说「你没回答我的问题」或者追问同一个问题,通常意味着上一次回答没用。

转人工率(escalation_rate)衡量的是「RAG 放弃回答」的频率,这个比例太高说明知识库覆盖不足;但如果这个比例因为加了质量门控而上升,不一定是坏事,宁可转人工也不要给用户错误答案。

空回答率(answer_empty_rate)就是系统主动说「我不知道」的比例,过高说明知识库亟需扩充。

会话解决率(session_resolution_rate)是最综合的指标,衡量「一次对话能不能解决用户的问题」,是最贴近用户体验的衡量维度。

离线评估(Hit@K + RAGAs)用来快速迭代和定位问题,线上指标(踩率、转人工率)是最终验收标准。两者结合,形成「离线测评 -> 上线 -> 线上观测 -> 发现问题 -> 离线复现 -> 修复 -> 再上线」的完整评估闭环。

这里还要提醒一点:离线指标好不代表线上一定好,反过来也一样。常见的情况是离线测试集不能完整代表真实用户分布,或者离线指标优化过头反而损害了线上体验(比如为了 Faithfulness 把 Prompt 收得太死,结果模型回答过于保守、用户觉得不好用)。所以两者要定期交叉对照,发现偏差时往往是测试集需要更新或者指标权重需要调整。

把几个核心指标和它们的含义整理成表,方便对照排查:

指标 属于哪层 衡量什么 低了说明什么
Hit@K 检索层 正确 chunk 是否被召回 Embedding 或 Chunking 有问题
MRR 检索层 正确 chunk 的排名是否靠前 Rerank 效果差
Context Recall 生成层输入 检索内容覆盖了多少正确信息 多路召回不足
Context Precision 生成层输入 检索内容里噪音多不多 Rerank 没过滤掉无关内容
Faithfulness 生成层 答案有没有幻觉 Prompt 约束不足或检索质量差
Answer Relevancy 生成层 答案和问题相不相关 Prompt 写法问题
踩率 / 转人工率 线上 用户实际满意度 整体系统效果,综合反映

结语:抓住大模型时代的职业机遇

AI大模型的发展不是“替代人类”,而是“重塑职业价值”——它淘汰的是重复性、低附加值的工作,却催生了更多需要“技术+业务”交叉能力的高端岗位。对于求职者而言,想要在这波浪潮中立足,不仅需要掌握Python、TensorFlow/PyTorch等技术工具,更要深入理解目标行业的业务逻辑(如金融的风险控制、医疗的临床需求),成为“懂技术、懂业务”的复合型人才。

无论是技术研发岗(如算法工程师、研究员),还是业务落地岗(如产品经理、应用工程师),大模型都为不同背景的职场人提供了广阔的发展空间。只要保持学习热情,紧跟技术趋势,就能在AI大模型时代找到属于自己的职业新蓝海。

最近两年大模型发展很迅速,在理论研究方面得到很大的拓展,基础模型的能力也取得重大突破,大模型现在正在积极探索落地的方向,如果与各行各业结合起来是未来落地的一个重大研究方向

大模型应用工程师年包50w+属于中等水平,如果想要入门大模型,那现在正是最佳时机

2025年Agent的元年,2026年将会百花齐放,相应的应用将覆盖文本,视频,语音,图像等全模态

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

扫描下方csdn官方合作二维码获取哦!

在这里插入图片描述

给大家推荐一个大模型应用学习路线

这个学习路线的具体内容如下:

第一节:提示词工程

提示词是用于与AI模型沟通交流的,这一部分主要介绍基本概念和相应的实践,高级的提示词工程来实现模型最佳效果,以现实案例为基础进行案例讲解,在企业中除了微调之外,最喜欢的就是用提示词工程技术来实现模型性能的提升

img

第二节:检索增强生成(RAG)

可能大家经常会看见RAG这个名词,这个就是将向量数据库与大模型结合的技术,通过外部知识来增强改进提升大模型的回答结果,这一部分主要介绍RAG架构与组件,从零开始搭建RAG系统,生成部署RAG,性能优化等

img

第三节:微调

预训练之后的模型想要在具体任务上进行适配,那就需要通过微调来提升模型的性能,能满足定制化的需求,这一部分主要介绍微调的基础,模型适配技术,最佳实践的案例,以及资源优化等内容

img

第四节:模型部署

想要把预训练或者微调之后的模型应用于生产实践,那就需要部署,模型部署分为云端部署和本地部署,部署的过程中需要考虑硬件支持,服务器性能,以及对性能进行优化,使用过程中的监控维护等

img

第五节:人工智能系统和项目

这一部分主要介绍自主人工智能系统,包括代理框架,决策框架,多智能体系统,以及实际应用,然后通过实践项目应用前面学习到的知识,包括端到端的实现,行业相关情景等

img

学完上面的大模型应用技术,就可以去做一些开源的项目,大模型领域现在非常注重项目的落地,后续可以学习一些Agent框架等内容

上面的资料做了一些整理,有需要的同学可以下方添加二维码获取(仅供学习使用)

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐