用途
Evals Ops 是 LLM 与智能体系统评测的操作层。它的出发点是:评测是前提而不是打磨环节——你无法在没有脚手架告诉你改动是否让结果变好的情况下,去调优提示词、检索器、压缩策略或记忆层。该技能关注的是:测什么、数据集怎么建、如何让评委可信,以及如何在不让人忽视红灯的前提下把评测接入 CI。
主要能力
三个评测层级
- 结果层(Outcome):最终产物是否正确,二元或打分终态,常用确定性断言、单元测试或评委。
- 步骤层(Step):这次工具调用是否正确,按 span 检查工具选择、参数形状、参数取值。
- 轨迹层(Trajectory):路径是否合理,考察序列、循环、冗余与成本,可用参考轨迹匹配或量规评委。
技能指出,仅看结果层会记录“侥幸通过”(智能体以意外路径达成正确结果),下周事故不复现时同一用例就会失败;而仅看轨迹层会惩罚合理但新颖的正确路径。门禁应放在结果层,步骤与轨迹作为诊断指标解释门禁为何变动。对多轮或有状态智能体,需同时报告 pass^k(同一用例 k 次独立运行全部成功)与 pass@k(k 次中任意一次成功)。
黄金数据集
- 定义为经过评审、版本化、刻意冻结的输入加可信期望输出集合。
- 四类构成:生产采样、故障回放、对抗样本(注入、矛盾、诱导拒绝)、边界用例(空、超大、歧义、多语言)。
- 规模建议:起步 20 条,可用回归集 100-300 条,有生产流量可采样后 200-500 条。
- 提供脚本 golden-set-audit.py 检查重复、桶失衡、过期、冻结清单漂移。
LLM-as-a-judge 与偏差控制
- 列出位置偏差、冗长偏差、自我偏好、量表漂移四类偏差及对应缓解方式。
- 建议使用“面板式”评委(不同视角的多个提问,如是否被来源支持、是否遵循政策、是否可复现),而非同一评委重复三次。
- 能用代码表达的标准就不要用评委;评委适用于忠实性、语气、政策合规、开放问题答案合理性。
- 校准方法:人工标注 50-200 条,运行评委后计算 Cohen kappa(脚本 judge-calibration.py,退出码 10 表示低于阈值)。kappa ≥ 0.8 可生产使用,0.6-0.8 谨慎可用,低于 0.6 问题在量规本身。并建议先测“人-人一致性天花板”。
对抗式验证
- 针对发现(bug 报告、审计结果、评审意见),把提示翻转为“尝试证伪”,默认在不确定时判为已被证伪。
- 取多数:运行 3 个证伪者,至少 2 个无法证伪才保留该发现;优先选择视角多样的证伪者而非三个相同的怀疑者。
检索(RAG)评测
- 指出只评最终答案会把检索失败与生成失败平均成一个无法解释的数字;应记录每个答案对应的检索块 id,形成 2x2 归因。
- 以 recall@k 与引用 id 有效性作为门禁;检索是确定性评分真正占优的场景,可跳过评委。
- 强调必须包含“语料无法回答”的问题,否则无法检测检索失败下的幻觉。
回归门禁
- 规则:阻塞性检查绝不能是不稳定的。确定性断言(schema、工具调用、精确匹配)阻塞;评委指标最初几周为观察项,发布为 PR 评论;校准后(kappa ≥ 0.6)且已测量方差后,可在滚动基线以下留出余量后阻塞;每用例成本与 p95 延迟设上限阻塞、趋势观察。
- 阈值应低于基线一个大于噪声下限的量:若多次重跑为 0.88 ± 0.03,则门禁设在 0.80 而非 0.87。建议把滚动窗口的运行结果提交到 git 以读出方差。
判断下降是否真实
- 用 McNemar 精确检验针对不一致配对,判断两次运行在同一冻结集上翻转的具体用例。指出“破坏 8 条、修复 7 条”在总分上只变动 0.01,肉眼不可见,但成对视角能指出翻转的用例。脚本 eval-baseline.py 提供该功能,退出码 10 表示确认回归或成本/延迟上限越界。
爬山式优化(Hillclimbing)
- 指出对抗评测优化会快速让好套件失效,并给出三类失败:把噪声当作改进(用 eval-baseline.py 的 --accept 反转“噪声”含义作为保留/丢弃门禁)、过拟合冻结集(划分训练/验证/留出集)、只保留冠军而非前沿(保留在至少一个用例上最佳的候选)。
- 建议评委返回 {"reason", "verdict"} 结构,使自动化优化可行。
使用方式
- 提供“路由表”:根据问题(该测什么、用例从哪来、评委是否可信、如何验证发现、检索是否好、人工标签从哪来、是否阻塞合并、改动是否真的更差、如何对着评测优化、选哪个平台)指向相应的 reference 文档。
- 提供三个离线、仅依赖标准库的脚本,均支持 --help 与 --json:
- judge-calibration.py:评委与人工一致性(Cohen kappa、混淆矩阵、分类别明细、冗长/位置偏差探针)。
- goldenset-audit.py:黄金集健康检查(重复、桶平衡、过期、冻结清单漂移)。
- eval-baseline.py:从运行历史计算噪声下限、门禁阈值,并用 McNemar 精确检验指出翻转用例。
- 提供起始资产:golden-set.example.jsonl(10 个跨四类桶的样例用例)、eval-runner.template.py(约 40 行运行器,两个 ADAPT 块,预置成本/延迟/pass^k)、judge-rubric.template.md(单标准量规,含反偏差说明与校准清单)、eval-gate.template.yml(GitHub Actions 工作流,编码分级阶梯:push 时确定性阻塞、PR 时评委观察、夜间 k=3)。
适用场景
- 在调优提示词、检索、压缩或记忆层之前,需要判断改动是否带来改善的团队。
- 需要为 LLM 与智能体系统建立可信评委、黄金数据集与 CI 门禁的工程场景。
- 需要归因 RAG 失败、判断指标下降是否真实、或对抗式核验发现的场景。
限制与缺失事实
- 原文明确提示工具生态(references/tooling-landscape.md)中所有版本、价格与功能声明都需要重新验证,并带验证日期戳。
- 关于具体平台的收费、价格与功能细节,本资料未提供可确认信息,暂未提供。
- 落脚点是在既有评测实践上提供操作层,具体接入方式依团队现状而定;原文未给出除所附模板外的其它集成步骤。