RAG 效果评估:从检索命中率到端到端体验指标
本课程讲如何搭建完整的 RAG 评估体系:检索层指标(命中率、MRR)、生成层指标(忠实度、相关性、引用准确率)、端到端业务指标与线上用户信号。你将学会分层归因定位问题,理解 RAGAS 等自动化评估工具的用法与局限。
📖 本页目录
RAG 评估要分层做
RAG 是流水线系统,只看“最终回答好不好”无法定位问题。正确姿势是三层评估:检索层、生成层、端到端。每层有独立指标、独立数据、独立负责人,问题才能归因到具体环节。
用户问题
│
├─ 检索层:该找到的材料找到没?排得靠前吗?
├─ 生成层:给的材料用好了没?有没有编?
└─ 端到端:用户满意吗?任务完成了吗?
检索层指标
需要一份“问题 → 应命中文档块”的标注集(50-200 条即可起步):
| 指标 | 含义 | 产品解读 |
|---|---|---|
| Recall@K | 前 K 个结果包含正确块的比例 | 有多少问题的“原料”齐了 |
| MRR | 正确结果平均排位倒数 | 原料齐不齐之外,还要排得靠前 |
| 命中率(Hit Rate) | 至少命中一个正确块的比例 | 最粗但最直观的底线指标 |
实践要点:
- K 的取值要与线上真实取用的 top-K 一致。离线测 Recall@10、线上只取 top 3,指标就是自欺。
- 按场景分组看指标。整体命中率 85% 可能掩盖“价格类问题只有 60%“的事实,分组才能定位到该补的语料或该调的分块。
产品决策提示:检索指标是内容运营的指南针。Recall 低的场景先查语料覆盖,语料有了仍低才是检索算法问题——多数“检索差”其实是“内容缺”。
生成层指标
材料给对了,模型可能仍答不好。生成层看三件事:
- 忠实度(Faithfulness):回答中的论断是否都能在检索材料中找到支撑。这是幻觉的直接度量,权重最高。
- 答案相关性(Answer Relevance):回答是否切题,有没有答非所问或堆砌无关信息。
- 引用准确率:标注的引用编号是否真的支撑对应论断。做段落级引用的产品必测,标错引用比没有引用更糟。
自动化评估工具(如 RAGAS)用 LLM 自动拆解回答为论断、逐条比对材料,可以低成本算出这三个指标。注意两点局限:LLM 判断本身有噪声,需要抽样人工校准;自动分数适合看趋势和对比版本,不适合当作绝对真相。
端到端指标
离线指标再漂亮,最终要看用户侧:
- 任务完成率:用户问完这个问题后,是否不再重复追问、不再转人工;
- 采纳率:回答被复制、点赞、引用的比例;
- 修正率:用户重述问题、手动换关键词重查的比例——这是不满意的强信号;
- 拒答率:结合降级策略看,过高说明语料或检索有缺口。
归因流程:把 bad case 变成修复动作
建立一个标准归因流程,每个 bad case 走一遍:
- 查检索日志:正确材料有没有被召回?
- 没召回 → 语料缺失 / 分块切断 / 查询改写失败 → 走内容或检索优化。
- 召回了但排太后 → 重排序 / 融合权重问题。
- 材料在前排但回答错 → Prompt 约束不足 / 上下文拼装问题 / 模型能力上限。
- 回答对但用户不满 → 表达、格式、引用展示的产品问题。
产品决策提示:把归因结果做成周报仪表盘——“本周 47 个 bad case:语料缺失 22、排序问题 11、生成问题 9、产品体验 5”。它直接决定下一周内容团队和工程团队的优先级,是 RAG 产品最核心的管理工具。
评估节奏建议
- 每次迭代:跑检索标注集 + RAGAS 自动评估,10 分钟出结果;
- 每次大改(换模型、换分块策略、换 embedding):加人工精评抽样;
- 上线后:端到端指标 + bad case 归因周报,持续运转。
本节要点
- RAG 评估必须分三层:检索层(Recall@K、MRR)、生成层(忠实度、相关性、引用准确率)、端到端(完成率、采纳率、修正率)。
- 检索指标分组看才能定位内容缺口,K 值要与线上真实配置一致,避免指标自欺。
- 忠实度是幻觉的直接度量、生成层第一指标;RAGAS 类工具适合看趋势和版本对比,需定期人工校准。
- 建立标准归因流程,把每个 bad case 转化为“语料 / 排序 / 生成 / 体验”四类修复动作之一。
- 归因周报是内容与工程团队的共同优先级来源,是 RAG 产品最核心的管理工具。
章节小测
3 道题 · 检验一下刚学的内容
Q1.离线测 Recall@10 而线上只取 top 3,为什么被称为指标自欺?
Q2.生成层权重最高的指标是什么,为什么?
Q3.对 RAGAS 类自动评估工具的正确定位是?
答题后显示结果
完成这一节了?
打卡记录保存在你的浏览器本地,方便追踪学习进度。
学习留言
写下你的疑问或心得 —— 仅你自己和站长可见
登录 后可发布私密留言,向站长提问。