直接答案
RAG 评估必须分两层:检索层指标(召回率@K、MRR、NDCG)衡量"能不能找到",生成层指标(忠实度、答案相关性、正确性)衡量"答得好不好"。只测其中一层都会误判——检索满分但答案跑偏,或答案碰巧对但引用错误,都是常见的隐性故障。标准做法:构建评测集,用 RAGAS 等框架自动化评估,每次改动跑回归。
检索层三指标
召回率@K(Recall@K):正确文档出现在前 K 个结果里的比例,衡量"找到没",是 RAG 检索的第一指标;MRR(平均倒数排名):正确文档排得越靠前分越高,衡量"排序质量";NDCG:考虑相关程度的分级排序指标,适合标注了"部分相关"的数据集。三者都可以离线计算,前提是你有"问题→正确块"标注的评测集——从真实用户提问里抽 100-300 条人工标注,是最值得的前期投入。
生成层三指标
| 指标 | 问题 | 理想值 |
|---|---|---|
| 忠实度(Faithfulness) | 答案是否只基于检索内容,有没有编造 | >0.9 |
| 答案相关性 | 答案是否回应了用户的问题 | >0.85 |
| 正确性 | 与标准答案比对是否事实正确 | 按业务定 |
忠实度是 RAG 特有的关键项:大模型有强烈的"补全欲",检索内容不够时它会用自己的参数知识填空,而这恰是幻觉的主来源。忠实度低说明检索供给不足或提示词约束不够。
把评估做成回归
团队协作中最重要的不是单次分数,而是"每次改动后分数可对比":换 Embedding 模型、调分块大小、加 Rerank,都应在同一评测集上跑分,确认提升再上线。RAGAS、TruLens 等框架已把上述指标工具化,配合 LangSmith/LangFuse 可做全链路追踪。
小结
没有评估的 RAG 优化是盲调。先花两天建一个 200 条的评测集,之后的每一次优化都有据可依——这是 RAG 项目里复利最高的一笔投入。
常见问题快答
评测集要多少条才可信?
50 条能看方向,100-200 条足够指导迭代,更重要的是覆盖典型问题类型与难度分层。
忠实度低怎么办?
两个方向:检索侧补充上下文(加大 K、改分块),生成侧强化提示词约束(「仅根据给定资料回答,资料不足请说明」)。
线上怎么持续监控?
抽样真实提问做人工复核 + 用户点赞点踩信号,月度把新 case 补进评测集,形成闭环。
最后更新于 2026-07-22。本文持续修订,重大更新会标注日期。
