RAG Evaluation / RAGAS:检索指标与发布门禁
本文把 RAGAS 作为一组重要启发,而不是唯一标准。企业评估必须结合业务 gold set、权限测试、版本测试、人工专家复核和生产监控。
RAG Evaluation / RAGAS / Retrieval Metrics 解读
面向对象: AI PM / AI BA / AI Architect / EvalOps / AI Platform PM。 核心问题: 企业 RAG 不是“能回答几个样例”就能上线,而是要证明检索、证据、引用、权限、版本、拒答和成本都达到可运营标准。 学习目标: 能把 RAG 需求转换成 eval dataset、retrieval metrics、answer metrics、release gate、failure triage 和持续改进闭环。
Source Anchors
| Source | Link | 用途 |
|---|---|---|
| RAG paper | https://arxiv.org/abs/2005.11401 | 理解 retriever + generator 的基本系统结构 |
| RAGAS | https://arxiv.org/abs/2309.15217 | 理解 reference-free RAG evaluation 的指标框架 |
| LLM-as-Judge / G-Eval | https://arxiv.org/abs/2303.16634 | 理解开放式输出如何用 rubric 和 LLM judge 扩展评估 |
| NIST GenAI Profile | https://www.nist.gov/publications/artificial-intelligence-risk-management-framework-generative-artificial-intelligence | 把 eval 放进 govern / map / measure / manage 风险闭环 |
本文把 RAGAS 作为一组重要启发,而不是唯一标准。企业评估必须结合业务 gold set、权限测试、版本测试、人工专家复核和生产监控。
为什么 RAG Evaluation 是 AI PM / BA / 架构师的硬技能
很多 RAG demo 的判断方式是:
- 上传几份 PDF。
- 问几个问题。
- 看回答像不像。
- 如果答案流畅,就认为可以 pilot。
这种方式无法支撑金融零售上线,因为它不能回答七个关键问题:
- 正确资料有没有被检索出来。
- 检索出来的资料是否聚焦,而不是塞满无关段落。
- 答案是否忠实于资料,而不是夹带模型猜测。
- 引用是否真的支撑关键断言。
- 用户是否只看到了有权限访问的资料。
- 系统是否使用了当前有效版本,而不是旧政策或草案。
- 失败以后能不能定位是 query、chunk、embedding、metadata、rerank、prompt 还是模型的问题。
AI PM 要用 eval 判断是否继续投资、是否扩大 pilot、是否停止。 AI BA 要把业务质量要求写成可验收样例和 failure tags。 AI Architect 要设计可以回放、比较、监控、回滚的评估链路。
RAG evaluation 的核心不是“给答案打一个分”,而是把 RAG 拆成可诊断的系统:
Question
-> Query interpretation
-> Retrieval candidates
-> Permission / metadata filtering
-> Rerank
-> Context packing
-> Generation
-> Citation
-> User / expert feedback
-> Eval report
-> Release or remediation decision
从 RAGAS 学到的核心框架
RAGAS 的重要贡献是把 RAG 评估拆成多个维度,而不是只评最终回答。它强调 RAG 系统由检索模块和生成模块组成,评估时要同时看 context 是否相关、答案是否忠实、答案是否覆盖问题。
对企业来说,可以把 RAGAS 思路翻译成三层:
| 层 | 关键问题 | 典型指标 | 谁负责 |
|---|---|---|---|
| Retrieval | 检索出的 context 是否相关、完整、聚焦 | context recall、context precision、hit rate、MRR、nDCG | Architect / Data |
| Generation | 答案是否基于 context、是否完整、是否可用 | faithfulness、answer relevancy、completeness、format adherence | PM / EvalOps |
| Governance | 权限、版本、引用、拒答是否可审计 | permission pass rate、current-version rate、citation support、safe refusal | BA / Risk / Compliance |
RAGAS 原论文讨论 reference-free evaluation 的价值,即不总是依赖人工标注参考答案。企业可以吸收这个思路,用 LLM judge 辅助评估 faithfulness 和 answer relevancy。但金融零售不能完全 reference-free,因为高风险业务需要 gold source、policy owner 和专家复核。
更稳妥的做法是:
- 对低风险 FAQ: RAGAS + spot-check 足够形成迭代信号。
- 对内部运营助手: RAGAS + gold source + 人工抽检。
- 对 AML/KYC/信贷/合规: RAGAS 只能做辅助,必须有专家标注、引用验证、权限测试和 release gate。
Evaluation Dataset 不是“测试题”,而是产品资产
Dataset 的四类样本
| 样本类型 | 目的 | 例子 |
|---|---|---|
| Gold answer | 验证系统能回答高频核心问题 | 某产品提前还款费用 |
| Gold source | 验证系统能召回正确资料 | 政策第 3.2 节、版本 2026-04 |
| Challenge case | 验证边界和失败行为 | 地区差异、客户类型差异、冲突条款 |
| Negative case | 验证拒答、权限和安全 | 用户无权访问、知识库无答案、问题要求越权承诺 |
Query Set 的设计
不要只从 FAQ 抽题。企业 RAG 的 query set 应覆盖:
- 高频直问: “这个产品手续费是多少?”
- 术语变体: “提前还款罚金”和“prepayment fee”。
- 多条件问题: “广东地区小微企业开户需要哪些 KYC 文件?”
- 冲突问题: “旧政策说可以,新政策说不可以,以哪个为准?”
- 无答案问题: “竞争对手的内部审批规则是什么?”
- 权限问题: “请给我看内部审计处罚案例原文。”
- 合规诱导: “能不能帮我写一段保证收益的话术?”
- 多跳问题: “某商户风险评分升高是否会触发限额调整和额外尽调?”
Dataset Metadata
每条 eval case 至少应记录:
| 字段 | 说明 |
|---|---|
| case_id | 稳定 ID,便于回归比较 |
| user_role | 角色和权限 |
| question | 用户问题 |
| intent_type | 查找、解释、比较、流程指导、风险判断、拒答 |
| gold_sources | 应被召回的文档、章节、版本 |
| expected_behavior | 回答、澄清、拒答、升级人工 |
| risk_tier | low / medium / high / critical |
| failure_tags | 检索失败、引用错配、过期资料、越权、幻觉 |
| owner | 业务或政策 owner |
Retrieval Metrics: 不要只看 top-k 命中
Hit Rate
Hit Rate 看 top-k 中是否包含至少一个 gold source。
适合回答:
系统有没有大概率把正确资料找出来?
局限:
- 只要命中一个就算成功,不能说明排序好不好。
- 不能说明 context 是否聚焦。
- 不能处理多个 gold source 都必须召回的情况。
Recall@K
Recall@K 看 top-k 中召回了多少应召回资料。
适合:
- 多条款问题。
- 多文档问题。
- AML typology + transaction evidence + KYC evidence 组合问题。
PM 解释:
如果 recall 低,用户得到的答案可能完整性差。即使模型表达很流畅,也可能漏掉关键例外条款。
Precision@K / Context Precision
Precision 看检索结果中有多少是真相关。
适合回答:
我们是否把上下文窗口浪费在无关内容上?
高 recall 低 precision 的风险:
- context 太杂,模型被干扰。
- 引用错配概率上升。
- 成本和延迟变高。
- 复杂问题中更容易混入旧版本或相似产品。
MRR
Mean Reciprocal Rank 看第一个正确结果排在多前。
适合:
- 用户需要快速定位文档。
- RAG UI 会展示来源列表。
- top-1 或 top-3 很重要的场景。
nDCG
nDCG 适合多级相关性: 完全相关、部分相关、背景相关、无关。
金融零售中很有用,因为资料不是简单相关/不相关:
- 当前有效政策: 高相关。
- 同产品旧政策: 危险的高相似低有效。
- 同类产品政策: 部分相关但不能作为依据。
- 培训材料: 背景相关但不能替代正式规则。
PM / BA / Architect 共同判断
| 指标异常 | 可能原因 | 产品/架构动作 |
|---|---|---|
| Hit rate 低 | query rewrite 差、embedding 不适合术语、chunk 切坏 | 增加同义词、hybrid retrieval、重切 chunk |
| Recall 低 | gold source 分散、metadata 过滤过严 | 多路检索、entity expansion、GraphRAG |
| Precision 低 | top-k 太大、rerank 弱、相似产品混入 | metadata filter、reranker、context packing |
| MRR 低 | 正确资料被排后面 | rerank、domain boosting、policy priority |
| nDCG 低 | 相关性分层差 | relevance label、版本权重、source authority |
Answer Metrics: 最终回答也要拆开评
Faithfulness
Faithfulness 问的是:
答案中的断言是否被给定 context 支持?
它不是问答案是否真实,而是问答案是否忠实于证据。 这点对 RAG 很关键,因为 RAG 的产品承诺不是“模型知道”,而是“系统基于可检索证据回答”。
企业上线门禁可以这样写:
| Risk tier | Faithfulness gate |
|---|---|
| Low | 低风险 FAQ 平均分达标,critical unsupported claim 为 0 |
| Medium | 关键字段必须被 source 支持,抽检通过 |
| High | 每个关键结论必须 claim-level citation,专家复核 |
| Critical | AI 只生成草稿,不允许直接决策 |
Answer Relevancy
Answer relevancy 问的是:
答案是否真的回答用户问题,而不是泛泛解释?
低 relevancy 的常见原因:
- query 意图识别失败。
- 检索资料虽相关但不对应用户问题。
- prompt 要求太宽泛。
- 模型规避问题但没有澄清。
Completeness
Completeness 问的是:
是否覆盖所有必要条件、例外、限制和下一步?
金融零售中 completeness 比“语气自然”更重要。例如 KYC 文件缺件回答必须覆盖客户类型、地区、实体类型、风险等级、例外流程。
Citation Support
Citation support 问的是:
引用是否真的支持对应断言?
不要只检查“答案里有没有引用链接”。要检查:
- 引用是否来自当前有效版本。
- 引用是否与断言同一事实。
- 引用是否来自允许使用的权威源。
- 多个引用之间是否冲突。
Safe Refusal
RAG 系统必须会拒答:
- 知识库无答案。
- 用户无权限。
- 问题要求越权承诺。
- 问题要求泄露内部资料。
- 资料冲突且无法判断。
拒答也要评估。过度拒答会损害采用率;拒答不足会造成风险。
Governance Metrics: 企业 RAG 的上线底线
| 指标 | 定义 | 上线意义 |
|---|---|---|
| Permission pass rate | 无权用户不能召回或看到受限资料 | 防泄露 |
| Current-version rate | 使用当前有效资料的比例 | 防旧政策误用 |
| Source authority coverage | 答案依据是否来自权威来源 | 防培训材料替代政策 |
| Refusal accuracy | 应拒答时拒答、应回答时回答 | 平衡安全和可用 |
| Audit replay coverage | 能否回放 query、retrieval、context、answer、引用 | 支撑审计 |
| Change regression pass rate | index、prompt、model、rerank 改动后回归通过率 | 支撑持续迭代 |
| Incident traceability | 线上错误能否定位到 failure tag | 支撑 RiskOps |
这些指标决定 RAG 是否能从 demo 进入生产。 如果一个系统 answer quality 高,但 permission 和 version gate 失败,在金融场景仍然不能上线。
Release Gate 示例
Pilot Gate
| Gate | Threshold | Evidence |
|---|---|---|
| Retrieval hit rate | >= 85% on pilot gold set | Eval report |
| Context precision | >= 70% | Retrieval trace |
| Faithfulness | No critical unsupported claim | LLM judge + expert sample |
| Citation coverage | >= 90% for factual claims | Citation checker |
| Permission tests | 100% pass | RBAC/ABAC test run |
| Current-version tests | 100% pass on policy questions | Metadata test |
| Safe refusal | >= 90% on negative set | Negative case report |
Production Gate
| Gate | Threshold | Evidence |
|---|---|---|
| High-risk case expert approval | Required | SME review log |
| Regression suite | No material decline vs prior release | Versioned eval |
| Monitoring | Online metrics and alert owner configured | Runbook |
| Incident response | Severity, owner, rollback path defined | Incident drill |
| Data owner sign-off | Required for source systems | Data governance record |
Failure Triage: 错了以后如何定位
Bad answer
-> Was gold source retrieved?
No -> retrieval / metadata / query / index issue
Yes
-> Was context relevant and current?
No -> rerank / filter / version issue
Yes
-> Did answer use evidence faithfully?
No -> prompt / model / verifier issue
Yes
-> Was business expectation wrong or incomplete?
Yes -> update requirement / gold set
Failure Tags
| Tag | 解释 | 责任人 |
|---|---|---|
| no_gold_retrieved | 正确资料未召回 | Search / Data / Architect |
| wrong_version | 召回旧版本或草案 | Data owner / Governance |
| permission_leak | 召回或输出无权资料 | Security / Platform |
| noisy_context | 上下文过多无关内容 | Retrieval / Rerank |
| unsupported_claim | 答案含未被证据支持的断言 | Prompt / Model / Eval |
| citation_mismatch | 引用和断言不一致 | Generation / Citation verifier |
| missing_exception | 漏掉例外、限制、升级条件 | BA / SME |
| over_refusal | 有答案却拒答 | PM / Prompt / Retrieval |
| unsafe_answer | 给出越权建议或承诺 | Risk / Policy / Guardrail |
金融零售场景映射
AML Investigation Copilot
高风险评估重点:
- 是否召回关键交易、客户、对手方和历史 alert。
- narrative 中每个事实是否有证据。
- 是否覆盖 typology checklist。
- 是否明确“AI 不直接决定 SAR/STR filing”。
- 是否保留人工调查员 override 和理由。
KYC Policy Assistant
高风险评估重点:
- 地区、客户类型、实体类型、风险等级 metadata 是否正确过滤。
- 文件清单是否当前有效。
- 缺件说明是否覆盖例外流程。
- 用户无权查看内部政策时是否拒答。
Credit Policy Assistant
高风险评估重点:
- 回答不能替代信贷审批。
- adverse action 或拒绝原因必须遵循合规口径。
- 引用必须来自正式政策和授权规则。
- 任何模型建议都要可解释、可复核、可追溯。
Merchant Risk Review
高风险评估重点:
- 是否召回商户行业、交易异常、退款率、争议率、历史处罚。
- 是否能解释风险信号和来源。
- 是否避免自动冻结或单方面终止建议。
Retail Product Knowledge Assistant
中低风险评估重点:
- 产品规格、价格、库存政策、促销规则是否当前有效。
- 门店、地区、渠道差异是否处理。
- 对无答案问题是否转人工或提示查证。
Requirements-to-Eval Matrix 模板
| Requirement | Eval case | Metric | Threshold | Evidence | Owner |
|---|---|---|---|---|---|
| 回答必须基于当前有效政策 | 20 条政策问题 | current-version rate | 100% | retrieval trace | Data owner |
| 关键事实必须引用来源 | 50 条 factual QA | citation support | >= 95% | citation checker | EvalOps |
| 无权资料不得泄露 | 30 条权限样例 | permission pass rate | 100% | access test | Security |
| 知识库无答案时拒答 | 20 条 negative case | refusal accuracy | >= 90% | eval report | PM |
| 高风险建议必须升级人工 | 15 条 high-risk case | escalation accuracy | 100% | workflow log | Risk |
30 秒面试表达
我评估 RAG 不会只看答案像不像,而会拆成 retrieval、generation 和 governance 三层。检索层看 gold source recall、context precision、排序和版本;生成层看 faithfulness、answer relevancy、completeness 和 citation support;治理层看权限、拒答、审计回放和上线门禁。这样才能判断系统是否能从 demo 进入金融级 pilot。
2 分钟面试表达
RAG 的核心风险是答案看起来正确,但检索证据、权限、版本或引用链路出了问题。所以我会先设计 eval dataset,包括高频问题、边界问题、无答案问题、权限问题和冲突政策问题。然后把评估拆成几类指标: retrieval hit rate、recall、precision、MRR、nDCG;answer faithfulness、relevancy、completeness;以及 citation support、current-version rate、permission pass rate、safe refusal。对低风险场景可以用 RAGAS 和 LLM judge 加快迭代,对 AML、KYC、信贷这类高风险场景必须加专家复核和 release gate。错误发生后,我会用 failure tags 定位是 query、chunk、metadata、rerank、context packing、prompt 还是模型问题。这个闭环能把 AI 需求从“感觉不错”变成可评估、可上线、可审计的系统。
CTO 深挖回答
我会要求每次回答保存 trace: user role、query、query rewrite、candidate docs、metadata filters、rerank scores、packed context、model version、prompt version、answer、citations、judge score、user feedback。这样一旦线上出错,可以回放并比较不同 release。架构上要把 eval suite 进入 CI/CD 或 release gate,任何 embedding、chunking、reranker、prompt、model、index schema 变更都跑回归。对高风险资料,权限过滤要发生在检索前或检索中,而不是生成后遮盖。
PM 深挖回答
PM 要把 eval 指标和业务决策绑定。比如 pilot 是否扩大,不只看满意度,也看 answer quality、拒答准确率、人工节省、override rate、complaint rate、风险事件和 SME 审核成本。如果 faithfulness 高但 adoption 低,可能是工作流或 UX 问题;如果 adoption 高但 citation support 差,必须停止扩大范围。
BA 深挖回答
BA 的关键贡献是把业务规则和异常路径变成 eval cases。比如 KYC 场景要覆盖个人、企业、高风险行业、不同地区、过期文件、例外审批、缺件、无答案和权限隔离。每个 case 都要绑定 gold source、expected behavior、risk tier 和 failure tag。这样需求不是一段自然语言,而是一组可验收、可回归、可审计的业务事实。
产出练习
完成本篇后,至少产出四个资产:
- 一个 30 条问题的 RAG eval dataset。
- 一个 retrieval metric report 模板。
- 一个 release gate 表。
- 一个 failure triage runbook。
把这些资产连接到作品集时,不要说“我做了 RAG”。要说:
我把金融政策问答从 demo 推到 pilot-ready,关键产出是 eval dataset、gold source mapping、retrieval metrics、citation support、permission tests、release gate 和 failure triage。这个案例证明我能把 AI 产品质量变成可度量、可治理、可复盘的系统。