1. 数据集先固定任务口径
样本包含问题、用户与时间条件、参考证据、可接受答案和预期失败状态. 多份等价证据应全部允许, 否则检索到正确替代来源会被误判. 数据按文档族或时间切分, 防止相邻片段泄漏.
1.1. 样本覆盖
问题集覆盖精确实体、数字、否定、多跳、时间、表格、无答案、冲突和权限边界. 真实查询分布决定权重, 风险样本另设门槛.
参考证据随语料更新, 因而评测集记录语料快照. 过期样本可以迁移到历史任务, 不能静默替换答案后继续与旧分数比较.
2. 分层指标
2.1. 检索和排序
recall@k 判断至少一份目标证据是否进入候选, MRR 关注首个目标位置, nDCG 允许多级相关标签. 多跳任务还需测证据集合覆盖, 单篇命中不足以完成问题.
答案正确性与忠实性分开. 忠实性判断命题能否由给定证据支持. 引用再分为可解析、对应正确和重要命题覆盖. 拒答使用精确率、召回率或风险加权成本校准.
端到端分数只能概括结果, 分层指标才负责定位原因.
3. 自动评审
3.1. 评审提示与输出
评审器接收明确标准、问题、证据和答案, 输出结构化标签及理由. 不让评审器使用自身知识补全证据, 忠实性判断只依据提供材料.
抽取各问题类型和分数边界样本由人工双标, 计算评审器的一致性、偏差和稳定性. 更换评审模型或提示后重新校准.
自动评审适合回归与大规模筛查, 不能取代高风险样本和新错误类型的人工检查. 评审分歧本身可成为误差分析样本.
4. 实验解释
4.1. 置信区间
对样本重采样估计指标区间, 避免把小幅随机波动当成提升. 生成具有随机性时, 对关键样本多次运行或固定解码设置.
总体指标按问题属性、来源、语言和风险切片. 每次线上错误加入回归集, 并标明责任层. 新版本必须同时通过总体与关键切片门槛.
评测最终服务于决策: 是否发布、哪一层继续优化以及增加的质量是否值得延迟和成本.
检索器已经找到正确文档, 回答仍可能错. 模型可能忽略限定条件, 混合两个版本, 使用参数记忆补出证据中没有的数字, 或者给一条相关但不支持结论的引用. 因此生成阶段不能只要求「根据上下文回答」. 输入需要成为可定位的证据包, 输出需要拆成可核验命题, 无法得到充分支持时还要进入拒答或澄清分支.
设最终证据集合为 , 回答为 , 将回答拆成原子命题 . 引用映射 指向支持该命题的证据. 生成质量至少包含三层: 回答是否完成用户任务, 每个事实命题是否被证据蕴含, 重要命题是否都有引用. 「有引用」只说明输出包含链接, 不能推出引用正确或覆盖完整.
5. 评测路线与数据落点
证据包包含请求内 ID、来源身份、版本、位置、有效时间和正文. 请求内 ID 让模型输出稳定引用标记, 服务端再将标记解析为真实链接. 由服务端提供位置可以避免模型编造页码和 URL. 输入前还应做确定性检查: 权限是否有效, 文档是否仍在当前快照, 内容是否超过长度限制, 同一来源是否重复.
上下文顺序和格式会影响模型使用证据. 对长文档, 可以先抽取与查询有关的最小支持区间, 再保留邻接条件;对表格与结构化查询, 要保留字段、单位、时间和查询快照. 自动摘要只能作为派生表示, 关键结论仍应回到原始证据. 若多个当前来源冲突, 输入应保留来源差异, 输出说明冲突并降低确定性.
引用有效性检查标记能否解析到当前证据;引用正确性检查证据是否支持相邻命题;引用覆盖检查重要外部事实是否都有支持. 可以构造命题—证据矩阵 , 其中 表示证据 支持命题 . 加权覆盖率为:
表示命题重要性. 数字、结论和行动建议可以赋更高权重. 支持关系可以由人工、NLI 或 LLM judge 判断, 自动评估器自身也要在人工样本上校准.
拒答至少区分证据不存在、证据不足、来源冲突、权限不足和请求不清. 单一相似度阈值无法承担这些原因, 因为稠密相似度不是正确概率. 评测集同时包含可答与不可答问题, 阈值通过风险—覆盖曲线选择. 只在不可答集提高拒答率, 可能让系统对正常问题也过度保守.
5.3. 自适应检索与训练
固定检索每次都取相同数量片段, 对纯写作和简单常识浪费成本, 对多跳问题又可能不够. Self-RAG 训练模型生成 reflection tokens, 控制是否检索并评价证据相关性、回答支持度和效用. 推理时这些信号参与路径选择. 它把检索调用变成模型决策, 同时增加训练数据构造和特殊 token 监督.
RAFT 在训练样本中提供问题、oracle 文档和干扰文档, 让模型学习识别有用证据并生成带依据的回答. 训练时见过检索噪声, 可以改善模型面对候选集合时的使用方式. 它不替代线上召回: oracle 从未进入候选时, 生成器没有依据可用. 训练集还要避免答案直接泄漏在模板位置.
检索器训练常用对比目标. 对查询 , 正文档 与负样本集合 , 一种损失为:
难负样本来自当前检索器高排但不支持答案的文档. 同实体不同版本、数值接近和否定相反比随机负样本更能训练决策边界. 在线反馈不能把点击直接当相关性, 位置偏差、界面和既有排序都会影响点击.
语料层测解析成功率、索引新鲜度、删除残留和权限;检索层测 Recall@k、MRR、nDCG 与集合覆盖;上下文层测证据覆盖、冗余和 token;生成层测答案正确、命题支持、引用正确与拒答;系统层测延迟、成本、错误率和可用性. 每次变更先确定作用层, 再选择主指标和保护指标.
RAGAS 等框架提出 context relevance、faithfulness 和 answer relevance 等自动指标, 可以缩短迭代周期. 自动 judge 对提示、模型和领域敏感, 不能替代人工校准集. BEIR 适合测试检索器跨数据集泛化, 私有业务仍需自己的查询分布、权限和时效样本. KILT 把知识密集任务与来源 provenance 联合评测, 提供了答案与证据共同验收的思路.
5.5. 线上运行
请求 trace 应保存查询及改写、语料与索引版本、各路候选、融合重排、最终上下文、模型与提示版本、输出、引用和拒答原因. 敏感正文可以保存受控快照引用而非明文. 一次错误发生后, trace 要能回答证据在哪一层消失或被误用.
发布采用硬门、回归门与预算门. 权限泄漏和删除残留是硬门;检索、引用与拒答不能低于回归阈值;P95/P99 延迟、token 和调用成本不能超过预算. 回滚对象包括语料快照、索引、embedding、重排器、生成模型、提示和缓存. 只回滚一个组件可能无法恢复旧行为.
间接提示注入是 RAG 特有的重要风险之一: 检索文档可能包含要求模型泄露信息或调用工具的指令. 外部文档作为数据处理, 不获得系统指令权限;生成与工具执行分离, 动作继续经过 schema、权限和审批. 语料投毒、排序操纵与恶意引用也需要独立测试.
证据化生成、自适应训练与评测 将命题支持、Self-RAG、RAFT 和分层发布连成完整流程. 后续扩展时, 引用验证、拒答校准可以形成生成路线下的叶子;Self-RAG、CRAG、RAFT 等方法进入训练与控制路线;评测与运维保留独立路线. 三者共享证据身份和请求 trace, 但目标函数不同.
判断新方法位置时, 看它主要改变哪一个变量. 改检索时机属于控制策略, 改检索器损失属于检索训练, 改证据判别属于选择或 verifier, 改引用解码属于生成约束, 改线上反馈回流属于自适应. 这种归类能容纳新论文, 不需要按新缩写继续增加顶级章节.
5.7. 三条路线怎样衔接
生成与引用路线接收已经选好的证据包, 输出回答、命题与引用映射. 训练与自适应路线可以改变生成器怎样使用证据, 也可以让控制器决定是否继续检索. 评测与运维路线保存每一步状态, 为训练数据和发布判断提供反馈. 三条路线共享语料、索引和请求 trace 这些线上权威状态.
一次失败若来自证据缺失, 训练生成器并不能补回文档;若证据完整而回答误读, 扩大 top-k 反而可能增加噪声;若离线指标正常但线上长尾超时, 应检查调用路径与容量. 按层归因让反馈进入正确数据集, 避免所有错误都被送进一次微调.
自适应控制增加分支后, 每条路径都要可回放. 系统记录触发检索的信号、候选评价、继续或停止原因以及预算. 固定候选可比较控制器, 固定控制动作可比较检索器, 固定证据可比较生成器. 这种实验分解与静态 RAG 使用同一套对象.
- Lewis et al., RAG, 2020.
- Petroni et al., KILT, 2021.
- Es et al., RAGAS, 2023.
- Asai et al., Self-RAG, 2023.
- Zhang et al., RAFT, 2024.
6. 分层指标、切片与 judge 校准
每次评测保存一份 manifest:
evaluation_id
corpus_snapshot + permission_snapshot
query_set_version + split_policy
relevance/evidence/answer annotations version
parser + chunker + embedder + retriever + reranker versions
index engine/version/parameters
prompt + generator + judge versions
hardware + concurrency + cache state
random seeds / decoding settings
metric implementations and thresholds
只保存 notebook 中的一张平均分表,无法判断分数变化来自模型,语料,标注,judge 还是缓存.
6.2. 五层评测
3.1 语料与索引层
| 指标/检查 | 回答的问题 |
|---|---|
| 摄取成功,隔离与解析错误率 | 哪些来源没有进入可用语料 |
| 片段可逆定位率 | 引用能否回到固定源位置 |
| 当前版本覆盖,孤儿片段数 | 新旧版本和删除是否一致 |
| 索引新鲜度分布 | 源变更多久后可查询 |
| ACL/租户继承正确率 | 片段是否保留源权限 |
| 重复与近重复率 | 候选是否被同一内容挤占 |
权限错误,依法删除后仍可检索,跨租户泄漏应作为零容忍发布门,而不是与回答质量求加权平均.
3.2 检索与排序层
若黄金相关集合为 ,前 个结果为 :
该式只在 时有定义.对黄金证据集合为空的无证据查询,不计算普通 Recall;应单独测错误召回,错误作答,正确拒答和空结果行为.汇总报告必须说明是否跳过无相关项,采用何种宏/微平均,并按可回答性分组,不能静默除零或丢样本.
"前 至少命中一条"的比例是 hit rate / success@k,不要与多相关文档的 Recall 混用.MRR 关注第一个相关结果;nDCG@k 适合多等级相关性;多跳和比较还要测必需证据集合 coverage.指标选择见检索,重排与索引.
BEIR 提供多领域检索数据和统一评测代码,适合外部分布压力测试;官方仓库也明确不为每个数据集的质量,公平性或许可背书,使用者仍要核对来源.公共 benchmark 不能替代生产查询,私有语言,ACL 和时间分布.BEIR 官方仓库
3.3 上下文层
测最终送给模型的序列,而不只测重排列表:
- 必需证据覆盖率;
- 无关 token 比例与重复证据率;
- 关键证据被截断/位置变化率;
- 来源,版本,日期,单位和实体消歧保留率;
- 被拒绝或无权候选是否完全不在上下文;
- 序列化后 token,构造耗时和压缩信息损失.
3.4 生成,引用与拒答层
至少分开报告:
- 任务答案指标:exact match,F1,数值误差,结构化字段正确率或人工 rubric;
- 命题支持:答案中的原子命题是否被证据蕴含;
- 引用有效,正确,完整;
- 冲突是否披露;
- 可回答/不可回答的拒答混淆矩阵;
- 敏感信息,越权存在性和不安全输出率.
ALCE 提出了端到端自动引用评测基准;RAGAS 提供自动化的上下文与 faithfulness 类指标.两者都不是生产系统的统一总分标准.ALCE;RAGAS
3.5 系统层
- 端到端成功率,P50/P95/P99 延迟和超时;
- 每阶段耗时,token,模型调用,缓存命中,索引扫描和成本;
- 降级,重试,熔断,失败关闭与回滚成功率;
- 并发下的吞吐,队列,内存和索引构建影响;
- 新鲜度,可用性与质量目标之间的联合表现.
只报告平均延迟会掩盖重排长文档,过滤高选择性和依赖超时造成的长尾.
4.1 查询来源
组合:匿名化真实分布,专家构造的关键业务用例,历史失败,长尾与对抗样本.真实日志不能直接当黄金答案;它可能包含隐私,错误反馈和旧版本语料.
4.2 必备切片
- 高频/低频,短/长,单跳/多跳;
- 实体,错误码,数字,否定,时间范围与多语言;
- 可回答,部分证据,无证据,冲突,过期与撤回;
- 每个租户/角色与权限变更;
- 解析弱项:扫描 PDF,表格,代码,网页噪声;
- 检索内容含恶意指令,隐藏文字,恶意链接和重复投毒;
- PII/敏感字段输出,跨租户存在性,日志/trace/评测集/导出泄漏与删除传播;
- 分布外问题与系统依赖失败.
4.3 防止泄漏
- 调参集与最终测试集分离;
- 时间切分避免同一文档版本跨集合;
- 近重复查询和片段按逻辑来源分组;
- prompt,reranker 或 judge 不得根据测试答案持续手工优化;
- 保留独立安全集,写入/检索管线不能读取预期攻击答案.
4.4 标注质量
关键样本至少双人标注并记录分歧.相关性,证据支持,来源权威,答案正确与风险等级是不同标签,不能由一个"好/坏"代替.新语料版本可能让旧黄金答案失效,需要保留 valid_as_of 并重新裁决.
6.4. 自动 judge 的使用边界
LLM judge 能扩展命题拆分,支持判定和风格检查,但会受提示,模型版本,答案长度,措辞和位置影响.使用时:
- 固定 judge 模型快照,提示与解码;
- 用人工黄金集测准确率和分组偏差;
- 保留"不确定/需人工"而非强制二元判断;
- 对系统版本做盲化和随机顺序,避免位置偏差;
- 报告 judge 与人工的混淆矩阵,不只报相关系数;
- judge 变化后重算历史基线,不能把评分器变化当系统提升.
自动 faithfulness 主要回答"答案是否被给定上下文支持",不回答来源是否真实,授权或最新.
- Thakur et al., BEIR 官方仓库与论文.
- Gao et al., ALCE, 2023.
- Es et al., RAGAS, 2023;官方实现.
- Greshake et al., Indirect Prompt Injection, 2023.
- Zou et al., PoisonedRAG, USENIX Security 2025.
- NIST, AI RMF Generative AI Profile, NIST AI 600-1, 2024.
- Microsoft, Document-Level Access Control in Azure AI Search.
6.5. 指标切片与置信区间
13.1. 总平均会隐藏哪些问题
查询按实体、数字、否定、时间、多语言、多跳、长文档和无答案切片. 若新 embedding 提高释义问题却降低型号检索, 总 Recall 可能仍上升. 发布判定要保护关键切片, 尤其是权限、时效和高风险业务. 切片定义进入评测版本, 不能每次实验临时改变.
同一查询在两个版本上运行, 可以用配对 bootstrap 估计指标差值区间. 端到端正确率、引用支持和拒答都保留逐样本结果, 再做重采样. 只报告平均提升而没有样本差异, 无法判断收益是否来自少量容易样本.
13.2. 线上样本怎样回流
线上抽样覆盖高频与长尾, 并对失败、拒答和低置信请求适度过采样. 人工标注记录错误层级. 语料缺失进入内容队列, 召回遗漏进入检索集, 引用错误进入命题支持集, 表达问题进入生成偏好数据.
用户反馈不能直接当事实标签. 点赞受语气和速度影响, 点击来源受位置影响, 未投诉也不表示答案正确. 行为信号适合发现样本和估计体验, 高风险结论仍由证据标注与专业审查确认.
6.6. 一组可复算的分层结果
五个查询的首个相关证据名次为 1、2、4、未命中、3, 则 recall@3 为 , recall@5 为 , MRR 为 . 若相关等级为 2、1、0, nDCG 还会奖励把高度相关证据放在前面; 使用 nDCG 前必须固定等级标注, 不能把“主题相关”和“充分支持”混成同一级.
假设其中四个问题取得完整证据, 上下文选择保住三个, 生成器对这三个都给出正确答案, 但只有两个回答的全部核心命题受证据支持. 系统报告语料条件 recall 0.8、context recall 0.75、条件答案准确率 1.0、faithfulness 0.667. 只看最终三个答案全对会隐藏一条依赖参数记忆或错误引用的回答.
Ragas 等框架把 context precision、context recall、faithfulness 和 answer relevance 组织成可运行评测, 价值在于统一实验接口; 具体 judge、提示和参考答案仍需在任务数据上校准. 自动 judge 与人工金标比较混淆矩阵, 分别观察把不忠实判为忠实的风险错误和反向误报.
数据切片同时报告样本数和区间. 某时间问题切片 20 个样本得 90%, 只代表 18 个成功; 与一千个简单事实问题的 90% 不具有相同不确定性. bootstrap 以问题为单位重采样, 配对比较新旧系统差值, 避免各抽一组样本造成额外方差.
BEIR 的跨领域结果提醒评测保留来源、体裁和任务切片. 同域平均提升可能伴随法规、科学文献或论证检索退化. 发布门槛除总体指标外, 为高风险切片设置最低 recall、faithfulness 和拒答 precision, 样本不足时保留人工验收.
每个汇总分数都能回到问题、候选、上下文、命题与 judge 判定, 评测结果才具有可复算的错误归因路径.
版本变化后仍按相同路径重放.
RAG 评测第一步要把端到端结果拆成可干预的层。语料层检查目标事实是否存在、版本是否正确;检索层检查支持证据是否进入候选;排序与选择层检查证据是否进入最终上下文;生成层检查命题是否正确;引用层检查每个命题与来源的支持关系。设事件依次为 ,答案正确率可近似分解为
最终一项代表模型无证据猜对,不能算作系统可靠性的功劳。分层统计不要求各事件独立,反而通过条件概率暴露损失发生在哪一段。
例如 1000 道题中,语料确有答案的有 920 道;其中候选召回 820,道上下文保留 760,道最终正确 700。对应覆盖率 0.92、条件召回 0.891、选择保留 0.927、条件生成正确率 0.921。若最终只报 70%,团队无法判断应补语料还是换模型。另有 30 道在无支持上下文时碰巧答对,若混进正确率会得到 73%,却掩盖了不可验证输出。报告应把“有据正确”和“无据命中”分列。
检索指标的分母必须与任务一致。单一支持文档任务可用 Recall@k 和 MRR;需要多份证据共同完成的任务要用完整证据组召回 。若问题必须同时找到合同主体、费率表和生效日期,top-10 找到其中两份的普通 recall 可能是 ,但任务仍不可回答,组召回应记 0。存在多组等价证据时,只要覆盖任一合法组即可,不能强迫系统命中标注者碰巧选中的那一组。
上下文层除了覆盖还测冗余、顺序和压缩保真。命题覆盖可定义为 ;冗余率按同源近重复 token 占比计算;压缩保真比较压缩前后可推出的命题集合。一个上下文覆盖四个关键命题但重复率 45%,可能答案正确却浪费窗口;另一个压缩到一半长度却丢失否定条件,token 指标好看但不可用。这一层直接评测模型实际收到的最终序列,而不是检索器原始输出。
生成评测以原子命题为单位。答案含“额度为 800 元,自 7 月生效,仅限直营店”三个命题,若证据只支持前两个,整体字符串相似度可能仍很高,支持精度却是 。引用正确率要求所引来源蕴含对应命题,引用完整率要求需要外部依据的命题都有引用。二者不能合成一个模糊“引用分”:模型给每句挂同一篇无关来源会有完整率 1、正确率 0。
端到端任务还需衡量选择性回答。给每个答案置信度 ,阈值 以上才回答,则覆盖率是 ,风险是已回答样本中的错误率。画出 risk–coverage 曲线能看见系统通过拒答换来的可靠性。若方案甲覆盖 90%、风险 8%,方案乙覆盖 60%、风险 3%,不能直接说乙更安全;业务必须给错误与拒答的代价。可用 纳入错误数、拒答数和延迟。
自动 judge 的输出应是结构化判定:被评命题、证据 ID、支持/矛盾/信息不足、置信度和简短理由。提示中固定判定定义与少量边界例,不把参考答案当唯一真值。judge 看到参考答案后容易按措辞相似打分,而忽略候选答案由另一组等价证据支持。评引用时只给命题和对应证据,评表达时再给完整答案,减少无关上下文对判断的干扰。
judge 偏差至少来自位置、冗长、文风、自我偏好和模型家族相似性。成对比较时把 A/B 顺序互换,若结果翻转率为 18%,单次判定不可直接作为门禁。对同一内容制作简短版与冗长版可测长度偏好;把模型名称和系统版本匿名化可减品牌偏好;生成模型与 judge 同源时再用异源 judge 或人工复核。多数投票只有在误差不完全相关时才有效,三个共享同一训练偏好的 judge 不等于三份独立证据。
校准集需要人工双标并记录分歧。假设 300 条命题中人工共识判为支持的 180 条,judge 判支持 200 条,其中 165 条正确,则精确率 ,召回率 。若上线门禁关心阻止无依据内容,应优先提高“不支持”检出率;若用于筛选高质量训练样本,则支持精确率更重要。阈值和提示版本都在独立校准集确定,不能在最终测试集上反复调到满意。
人工一致性可用 Cohen's 。两位标注者在 200 条上同意 170 条,;按各自标签边际算得偶然一致率 ,则 。这说明任务仍有显著歧义,自动 judge 与单个人工标签不一致未必全是 judge 错。应先修订定义并仲裁高频分歧,例如“证据暗示”是否算支持、数值近似是否允许,再扩大标注。
置信区间要以正确采样单位计算。同一文档生成十个相似问题并非十个独立样本,逐题 bootstrap 会低估方差;应按文档族或用户任务做 cluster bootstrap。比较新旧系统时用配对重采样:每次抽取同一批样本索引,同时计算两系统差值。若 2000 次重采样得到准确率差均值 +1.8 个百分点、95% 区间 [-0.3,+3.9],数据还不足以断言提升,即使点估计为正。
低频安全错误不适合只看均值。2000 条测试中旧系统越权 2 次、新系统 0 次,不代表新系统真实概率为零;零事件的粗略 95% 上界可用“三法则” 。若业务门槛为百万次少于一次,这个样本量远远不够,需要定向攻击集、形式化权限测试和线上防护共同保证。统计显著也不等于业务显著,0.2 个百分点提升若伴随 P95 延迟翻倍仍可能不能发布。
切片必须在实验前定义并保持足够样本,包括新旧文档、单跳多跳、可回答不可回答、不同权限、表格与长文、头部与长尾实体。总体提升可能由简单题占比掩盖退化:800 道单跳提升 3 点、200 道多跳下降 8 点,总体仍提升 0.8 点。门禁可要求总体不退化且关键切片下界不低于阈值。切片过多会产生偶然显著结果,应报告样本量、区间并对探索性发现另行复验。
因果定位采用固定中间产物的交叉实验。要判断检索器还是生成器导致变化,组合旧检索+旧生成、旧检索+新生成、新检索+旧生成、新检索+新生成四格。若只有含新检索的两格下降,原因在候选侧;若新生成在两种候选上都下降,原因在生成侧;若只有双新组合下降,则存在接口或分布交互。再固定最终上下文重放,可以进一步隔离序列化和提示模板。
发布报告保留数据集版本、语料快照、完整配置、逐样本输出和判定依据。自动分数只负责扩大覆盖,关键失败由人工抽样复核。每次回归新增真实故障样本时,要防止测试集逐渐变成训练提示的一部分;稳定门禁集保持封存,开发集负责诊断,时间外集检验新分布。这样“提升”才表示对未知请求更可靠,而不是熟记一份不断曝光的题库。
样本量应由希望识别的最小差异反推,而非先跑一百题再看结果。二项指标在基线接近 50% 时方差最大,检测一个百分点变化通常需要远多于检测十个百分点变化的样本。配对设计利用新旧系统在同一道题上的相关性,往往比两组独立样本省数据。发布前写明最小业务差异、显著性水平和检验功效,避免看到结果后更换口径。
对连续指标如延迟和成本,均值会掩盖长尾。报告 P50、P95、P99,并对超时率单列;比较分位数时使用 bootstrap 区间。某版本平均延迟从 900 毫秒降到 850 毫秒,但 P99 从 4 秒升到 12 秒,对交互体验仍是退化。成本也按成功回答、拒答和失败请求分别归一化,防止大量快速拒答把单请求均值拉低。
自动评审的稳定性通过重复判定测量。在固定温度与提示下同一样本运行多次,统计标签翻转;更换 judge 版本时用冻结校准集重新估计混淆矩阵。若旧 judge 的支持精度 0.90,新 judge 为 0.82,即便新版本与人类偏好相关性更高,也不能直接沿用旧门槛。历史趋势图要标注 judge 版本,禁止把不同尺子的分数连成一条曲线。
错误分类要能对应动作。corpus_missing 指事实源不存在,retrieval_miss 指存在但未入候选,selection_drop 指候选中存在却未入上下文,unsupported_generation 指上下文充分但生成错误,citation_mismatch 指答案命题与引用不符。每条失败只标最早的主因,并可附后续影响。若所有错误都归为“幻觉”,评测不能指导任何具体修复。
反事实测试可验证系统是否真正依赖证据。把关键数值从 800 改为 900、保持其余文本不变,答案应随证据改变;删除支持句后应拒答;加入措辞相近但版本过期的干扰时应维持现行答案。若输出不随这些干预变化,模型可能依赖参数记忆或题面捷径。反事实样本与原样本成组计分,要求行为关系正确,不只要求某一个静态答案命中。
最终门禁由硬约束和统计约束组成。越权、伪造引用、不可解析输出属于硬失败;总体正确率、关键切片、延迟和成本按预设置信区间判断。门禁结果附失败样本和最早故障层,便于直接复现。达标只说明在已定义分布和风险边界内可发布,不代表面对任意语料、任意攻击和未来分布都可靠。
评测还要处理缺失标签。检索返回一篇未被初始标注收录、但人工复核后确实支持答案的文档时,应更新允许证据集合,而不是把它当假阳性。可对新系统独有命中和高分未标注候选做 pooling,混合后匿名复核,减少只偏向旧系统的标签偏差。不同系统贡献的候选数量保持接近,标注者看不到来源系统。
端到端错误的严重度不能由出现频率替代。格式略差但事实正确、关键数值错误、越权泄漏三类事件即使各出现一次,损失也完全不同。预先定义严重度与业务代价,报告每类事件率及上界。综合分若用于排序,应同时公开原始分量;任何加权总分都不能抵消安全硬失败。
评测代码本身也进入版本控制和单元测试。指标实现用手算小样本核对边界:无相关文档时分母怎样处理,多组证据怎样取最大覆盖,拒答是否进入准确率,超时算失败还是缺失。指标定义变化后重算历史基线并标记断点,不能把新旧算法的数字直接比较。