RAG评估与优化
RAG 系统必须评估,否则很难知道问题出在检索、重排、上下文还是生成。RAG 优化的核心是把失败样本定位到具体链路。
# 1. RAG 评估链路
问题集
-> 检索结果评估
-> 上下文质量评估
-> 生成答案评估
-> 引用准确性评估
-> 失败归因
-> 优化切分 / 检索 / 重排 / Prompt
# 2. 检索指标
| 指标 | 说明 |
|---|---|
| Recall@K | 正确资料是否出现在 Top K 中 |
| Precision@K | Top K 中有多少是真相关 |
| MRR | 正确结果排名是否靠前 |
| 命中率 | 是否至少召回一个可用证据 |
检索评估要有标注好的问题和正确资料来源。
# 3. 生成指标
| 指标 | 说明 |
|---|---|
| 正确性 | 答案是否符合资料 |
| 完整性 | 是否覆盖问题要点 |
| 忠实性 | 是否只基于给定资料 |
| 引用准确性 | 引用是否真的支持结论 |
| 拒答合理性 | 资料不足时是否拒答 |
# 4. 失败归因
| 失败表现 | 可能原因 |
|---|---|
| 没找到资料 | 文档缺失、切分差、Embedding 不合适 |
| 找到但排名靠后 | 重排不足、查询改写差 |
| 找到资料但答错 | Prompt 约束弱、上下文冲突 |
| 答案无引用 | 拼接缺少来源或 Prompt 未要求 |
| 回答过期 | 版本过滤缺失 |
| 泄露内容 | 权限过滤缺失 |
# 5. 优化顺序
建议按证据链优化:
- 先确认知识库是否有正确资料。
- 再确认切分是否保留完整语义。
- 再看检索是否召回正确 Chunk。
- 再看重排是否把正确 Chunk 放前面。
- 最后优化 Prompt 和生成参数。
不要一上来就换大模型。很多 RAG 问题本质是数据和检索问题。
# 6. 评估集建设
评估集应包含:
- 高频问题。
- 边界问题。
- 多版本问题。
- 权限隔离问题。
- 资料不足问题。
- 容易混淆的相似问题。
- 真实线上失败问题。
# 7. 线上反馈闭环
用户点踩 / 转人工 / 搜索无结果
-> 收集问题和上下文
-> 标注失败原因
-> 加入评估集
-> 优化链路
-> 回归测试
# 8. Tips 快问快答
Q:RAG 效果差应该先换模型吗?
A:不一定。先看正确资料是否存在、是否被召回、是否排在前面。很多问题换模型也解决不了。
Q:如何判断是检索问题还是生成问题?
A:如果正确资料没进上下文,是检索问题;如果正确资料已进上下文但答案错,是生成或 Prompt 问题。
Q:RAG 评估能完全自动化吗?
A:可以自动化一部分,但关键业务和边界问题仍需要人工标注和复核。
上次更新: 2026/06/25, 17:53:09