评测方法
真实任务、基准、过程评分和回归实验
沿着对象与状态理解本章
两个平均成功率之间的差值,不能告诉你哪些题退化。先看同题配对表:两边都成功、新版独胜、旧版独胜、两边都失败,再看成本、方差和评分器误差。
下方图解的固定输入在“输入与适用条件”中声明。它用于解释本章机制,不与本章其他独立例子的数值暗中接续。
涨了10个百分点,为什么还不能急着下结论?
一次实验怎样区别真实改进与偶然波动?
像给同一组题换两种解法:同题对照能减少题目难度不同带来的干扰。统计方法帮助表达不确定性,不会自动告诉你退化是否可接受、成本是否值得。实际决策还要回到任务类型、失误严重性和重复表现。
输入与适用条件:构造的20题配对表:10都成、4新成旧败、2旧成新败、4都败。不把它当真实模型胜率。
1 / 5 · 同20题,两版各跑一次
窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。
配对意味着旧版和新版面对同一题。先列出两者在每道题上的成功与失败关系,而不是只看两个总分。
20个配对任务;不是40个独立任务默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。
为什么需要
避免因一个小样本的好看结果就把优化推向全部任务。
怎样实现
固定题集、版本和预算,配对重复,记录退化,并检查置信区间等不确定性。
可能的代价与误解
只保留成功重跑、反复调参又用同一评测集验收,会高估能力。
如何判断是否做对
重算全部配对原始记录,报告净提升、退化和成本,而不是只报均值。
评测定义成功,而非评价漂亮回答
Agent评测包括任务、尝试、评分器、轨迹与实际环境结果。最终回答只是证据的一部分。代码成功需解决目标且不破坏回归;检索成功需找到必要证据;恢复成功还需不重复副作用。不同定义的百分比不能直接比较。[S143][S144][S145]
原创样本应保存目标、基线、授权、约束、验收、预算与故障类型。不要把固定工具路径当唯一正确过程,除非路径本身是任务要求。
结果、过程与模型裁判
确定性评分适合测试、文件和数据库状态;模型裁判可评价语义或主观标准,但受位置、冗长度和偏好影响。高分不是事实证明,需要人工校准与独立证据。[S148]
原创组合:测试验行为,静态检查守边界,抽查维护性,Trace解释失败。不能用总分把严重安全失败平均掉,也不应奖励机械走完长流程。
pass@1、pass@k、pass^k
pass@1关注一次正常尝试,pass@k关注允许k次时至少一次成功,pass^k强调多次全部成功的可靠性。τ-bench使用重复执行考察稳定性。[S153][S143]
原创理想化例子:每次独立、p=0.8,三次至少一次成功为1-(1-p)^3=0.992,三次全成功为p^3=0.512。真实尝试可能相关,不能无条件套用。常见估计1-C(n-c,k)/C(n,k)也需要匹配采样定义与k≤n。
因此最佳一次演示不能代表正常单次体验。还要说明是否允许筛选、重试、工具验证和额外预算。
对照与消融
原创实验固定代码和环境,给新旧方案相同任务,按简单、跨模块、长上下文、受限权限分层。每次只改一个机制便于归因;同时改模型、Prompt和检索只能评价组合。
样本少要报告不确定性。可以按任务Bootstrap估计差异区间;同一任务的多次运行相关,不能全部当独立样本。实验附录使用合成数据演示,不是产品实测排名。
基准的适用边界
SWE-bench测试真实Issue修复,具体子集需注明;LiveCodeBench关注持续更新与污染;AgentBench、GAIA覆盖不同环境和任务。补全、算法代码、工具业务和仓库修复不是同一能力。[S149][S150][S152][S154][S155]
基础设施噪声研究说明CPU、内存、超时和执行限制能影响分数。比较必须控制环境、并发、网络与重试,不能把基础设施差异全部归因于模型。[S151]
失败分类指向修复层
本书建议按第一关键断点区分目标错误、证据缺失、证据误读、工具选择、参数权限、环境失败、实现错误、验证不足和恢复不一致。分类用于定位,不是增加新的审批制度。
成本应包含失败尝试与必要返工。只计算成功那次Token会低估真实成本。质量、效率、可靠性与安全最好分别保留,避免单一分数掩盖重要退化。
平台变化不应损坏评测资产
核验日2026-10-17,OpenAI旧Evals平台文档列出2026-10-31只读、2026-11-30关闭的计划,不能写成已经发生。任务数据、评分逻辑和Trace应可迁移,方法不应绑定旧界面。[S146][S147]
自检:pass@k提高是否单次更好?不必然。测试全绿但复杂度上升怎么办?分开记录行为与维护性,判断复杂度是否必要。
逐项中文讲义
保留拓展阅读目录编号与A/B/C优先级;每项包括机制解释、边界与原创练习。
A12.1 · Agent评测的完整方法
对应资料:Demystifying Evals for AI Agents
Agent评测包括任务、尝试、评分器和运行轨迹。最终答案、实际环境结果与成本应分别观察,不能只依据模型自述完成。
评测从真实失败案例开始可以快速产生价值,但样本需要逐步覆盖相邻场景,避免只优化已知问题。
先定义真实成功,再统计分数
输入与条件。目标要求修复并通过当前版本测试,Agent只生成了建议。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1评分标准 | 建议不等于完成修复 | 不能算成功。 |
| 2记录轨迹 | 哪些文件改了、测试是否运行 | 支持定位失败层。 |
| 3效率 | 失败也计入总成本 | 避免只统计成功样例。 |
把过程连起来。评测先回答成功意味着什么,再选指标。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:为一个Bug定义目标测试、回归约束、授权边界与成本记录,再比较两个方案的配对结果。
完成标准是能说明改动解决了什么、是否退化和增加多少开销,而不是只给一个无法解释的综合分数。
拓展阅读目录事实依据 [S143] · 练习与工程推导为本书独立编写。
A12.2 · 工作流评测
对应资料:Evaluate Agent Workflows
工作流评测把多轮模型、工具和状态变化作为评价对象。一个步骤输出格式正确,不代表整个任务完成;局部成功也可能被后续错误破坏。
数据集需要明确初始环境、输入、验收与允许预算。工具和模型版本变化都可能影响比较。
工作流中某一步通过不代表全流程通过
输入与条件。检索正确、参数生成正确,写入却超时且结果未知。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1分步 | 前两步有正证据 | 保存局部成功。 |
| 2全局 | 最终目标尚未确认 | 任务不能标完成。 |
| 3恢复 | 查询外部结果再继续 | 不是把前两步平均成高分就交付。 |
把过程连起来。组件评测与端到端评测互补而不能替代。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:为搜索正确但补丁错误、补丁正确但测试环境失败两种轨迹分别评分,避免混淆能力与基础设施问题。
完成标准是把结果与过程关联,找到应该修改的层次,而非对全部失败使用同一Prompt修补。
拓展阅读目录事实依据 [S144] · 练习与工程推导为本书独立编写。
A12.3 · 执行轨迹评分
对应资料:Trace Grading
Trace Grading评价执行过程中的决策、工具与证据使用。它能帮助定位错误发生在哪里,但不应奖励机械模仿某条固定样例路径。
不同搜索顺序可能同样正确。只有任务确实要求的证据或动作才适合成为必要条件。
轨迹评分发现答案背后的越权
输入与条件。最终回答数值正确,但过程读取了无权文件。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1结果评分 | 答案对 | 只能说明结果维度。 |
| 2过程评分 | 越过授权边界 | 安全维度失败。 |
| 3综合 | 按任务底线拒绝该轨迹 | 不能用正确答案抵消越权。 |
把过程连起来。追踪用于评价怎么做,不只最后说什么。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:比较两条不同但有效的修复轨迹,设计不会误罚其中一条的评分标准。再加入漏验证的轨迹观察是否识别。
完成标准是评价因果必要性与风险,而不是把流程越长、工具越多当成更高质量。
拓展阅读目录事实依据 [S145] · 练习与工程推导为本书独立编写。
A12.4 · 持续评测学习框架
对应资料:Evals Learning Resources
评测学习资源提供从数据、评分到持续优化的框架。平台产品会变化,长期资产应是任务定义、评分逻辑与可追溯运行结果。
截至本书核验日期,OpenAI旧Evals平台公告中的只读和关闭时间仍是未来计划,不能写成已经完成。正文保留绝对日期与条件。
把真实失败变成持续回归样本
输入与条件。一次ab误排除事故被修复。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1提取 | 保留最小反例与预期 | 避免携带用户秘密。 |
| 2加入回归 | 每次路由/模型/规则变化都适当复测 | 检查旧问题复发。 |
| 3防过拟合 | 另加同类不同前缀的输入 | 不要只记ab这一个字符串。 |
把过程连起来。评测集应随真实失败增长,但不能变成答案泄漏清单。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:将某平台上的评测导出为独立任务JSON与评分脚本,说明哪些能力仍依赖平台,哪些可以迁移。
完成标准是工具更换后仍能重跑核心比较,而不是只能记住某个界面的点击步骤。
拓展阅读目录事实依据 [S146] · 练习与工程推导为本书独立编写。
B12.5 · 数据集与评分标准
对应资料:Getting Started with Datasets
数据集建设需要代表真实任务分布,并把训练或调参用途与独立评价区分。反复根据同一测试集修改系统,会逐渐对它过拟合。
样本应包含成功与失败、简单与复杂、边界和异常情况。只收集新方案最擅长的例子会夸大收益。
评分规则要区分缺信息与乱猜
输入与条件。问题无法从授权资料得到当前值。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1正确行为 | 指出缺口并取证或停止 | 不是强迫所有题输出数值。 |
| 2错误行为 | 编一个看似合理值 | 应扣分而非奖励答得完整。 |
| 3数据标注 | 记录哪些题本就不可回答 | 否则指标诱导幻觉。 |
把过程连起来。评价体系会影响系统优化方向,拒答题必须有合适标准。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:把历史任务划为开发集与保留集,写明哪些修改可以参考哪部分结果,再检查重复或近重复样本。
完成标准是比较具有可解释性与可复现性,而不是单纯追求样本数量。
拓展阅读目录事实依据 [S147] · 练习与工程推导为本书独立编写。
B12.6 · 模型评委与评分偏差
对应资料:Judging LLM-as-a-Judge
LLM-as-a-Judge研究模型裁判的能力与偏差,包括位置、风格和长度等因素。模型评价可以扩展规模,但不是天然客观的真值。
裁判需要明确标准、独立样本校准和必要人工抽查。与被评模型相同的错误知识可能导致共享偏差。
交换答案顺序检查评委偏差
输入与条件。同内容A/B,先A后B选A,交换后选B。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1保持内容 | 只换位置 | 控制变量。 |
| 2发现 | 偏好跟首位走 | 需要校准。 |
| 3处理 | 双向判分与证据核查 | 不能把两次矛盾都算“自信胜出”。 |
把过程连起来。模型评委也需要评测。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:交换两个答案的展示顺序,并保持内容不变,检查评分是否稳定;再比较冗长错误与简短正确答案。
事实与代码行为能直接验证时,应优先使用可靠证据。模型裁判适合补充,不应替代全部确定性测试。
拓展阅读目录事实依据 [S148] · 练习与工程推导为本书独立编写。
A12.7 · 真实Issue修复基准
对应资料:SWE-bench
SWE-bench使用真实仓库问题和测试评价修复能力。任务需要理解代码并产生补丁,区别于只补全一个短函数。
评分依赖测试、环境和数据版本。通过基准不代表补丁在所有未覆盖场景都正确,也不能据此保证真实用户任务成功。
真实Issue评测要验证补丁行为
输入与条件。修复候选在描述里说解决问题,但不改变代码。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1应用 | 补丁为空或无效 | 不能只凭说明算完成。 |
| 2失败到通过 | 原复现测试失败、修改后通过 | 证明修复目标。 |
| 3保留通过 | 原有相关回归仍通过 | 防止修一处破另一处。 |
把过程连起来。SWE类任务的核心是环境中的可执行变化,不是解释质量。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:检查一个教学Issue的失败测试、回归测试和环境依赖,说明缺少哪部分会使结论不可靠。
完成标准是读懂基准任务定义与验收边界,而不只记录排行榜数字。
拓展阅读目录事实依据 [S149] · 练习与工程推导为本书独立编写。
A12.8 · 评测环境与任务变体
对应资料:SWE-bench Project
SWE-bench项目存在不同数据子集和评测设置。比较结果需要注明具体版本、任务集合、运行环境和允许预算。
不同子集难度或验证质量可能不同,不能把同名基准的百分比直接并列而不检查口径。
测试环境不同会让同一补丁结果不同
输入与条件。补丁依赖库版本2;环境A装2,环境B装1。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1A | 测试通过 | 在其环境成立。 |
| 2B | 导入接口失败 | 不一定是补丁业务逻辑变差。 |
| 3公平比较 | 统一依赖、资源与测试入口 | 再评价Agent差异。 |
把过程连起来。环境版本属于评测条件而不是无关细节。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:为两个假想评测报告建立对照表,标出任务数、模型、工具、超时和重试差异,再判断是否可比。
本条强调项目层的复现条件,与前一条论文目标互补,不将官网某时点排名当作长期事实。
拓展阅读目录事实依据 [S150] · 练习与工程推导为本书独立编写。
A12.9 · 基础设施噪声与比较偏差
对应资料:Infrastructure Noise in Agentic Coding Evals
基础设施噪声研究说明Agent编码评测会受资源与运行环境影响。内存、CPU、超时、并发和依赖条件都可能改变结果。
环境失败与模型能力失败需要区分,但也不能随意删除不利运行。排除规则应提前定义并透明报告。
资源噪声不能算作模型错误
输入与条件。同测试偶尔因为CPU限制超时。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1记录 | 失败类型timeout且代码不变 | 怀疑环境影响。 |
| 2复测控制 | 给固定资源与超时口径 | 区分环境失败与逻辑失败。 |
| 3报告 | 单列基础设施失败 | 不要无条件删掉不利样本或全算模型错。 |
把过程连起来。公平评测需要事先定义环境故障处理规则。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:让同一测试在资源充足与受限环境中运行,记录失败原因,而不是把所有失败都归入模型错误。
完成标准是控制比较条件并保留原始证据,避免把基础设施差异误当算法改进。
拓展阅读目录事实依据 [S151] · 练习与工程推导为本书独立编写。
B12.10 · 跨环境Agent评测
对应资料:AgentBench
AgentBench在多种环境中评价Agent能力,涉及的不仅是文本回答,还包括行动与反馈。不同环境失败模式可能明显不同。
综合分数可以概括表现,也可能掩盖某一关键能力短板。实际选型应看与你任务相关的子项。
跨环境成绩需分开看
输入与条件。Agent在终端任务9/10,网页任务2/10。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1总平均 | 11/20=55% | 掩盖明显环境差异。 |
| 2分层 | 终端90%,网页20% | 可定位GUI观察或权限问题。 |
| 3部署 | 按真实任务分布选择 | 不把平均分直接当所有场景成功率。 |
把过程连起来。能力基准是多维的,不能用一个总数替代所有操作环境。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:将检索、工具参数、规划和恢复分别设为可观察环节,分析一个Agent总分相近但错误类型不同的情况。
完成标准是了解基准覆盖范围,不能由通用Agent分数直接推断专门代码审查或生产部署能力。
拓展阅读目录事实依据 [S152] · 练习与工程推导为本书独立编写。
B12.11 · 规则、工具和重复成功率
对应资料:tau-bench
τ-bench评价工具、用户交互与规则遵循,并使用重复运行考察可靠性。一次成功与多次都成功是不同目标。
在独立且成功率固定的理想条件下,至少一次成功是1-(1-p)^k,全部成功是p^k;真实尝试往往相关,不能无条件套公式。
重复成功衡量稳定执行
输入与条件。同业务规则任务跑5次,只成功3次。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1一次比例 | 3/5=60% | 单次样本成功率。 |
| 2全部稳定 | 5次全通过条件未满足 | 不能称稳定可靠。 |
| 3查原因 | 规则遗漏是否重复出现在同一条件 | 修共性缺口比不断重跑更有价值。 |
把过程连起来。稳定性与至少一次成功不同。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:用p=0.8、k=3计算两者,再解释为什么高pass@k可能掩盖较弱的一次执行稳定性。
完成标准是明确重试、筛选和预算口径,不把最佳一次演示当成用户正常体验。
拓展阅读目录事实依据 [S153] · 练习与工程推导为本书独立编写。
B12.12 · 时间更新与污染控制
对应资料:LiveCodeBench
LiveCodeBench通过时间更新的代码任务关注更贴近新问题的评价和污染风险。动态数据有助于降低某些记忆化问题,但不能证明绝对没有相似训练内容。
时间、模型版本和数据公开情况都需要记录。代码生成任务也不同于完整仓库修复。
新题时间晚于训练截止仍不自动零污染
输入与条件。新题复用了旧题结构和测试代码。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1时间过滤 | 阻止直接使用早期原题 | 仅控制一种泄漏。 |
| 2近重复 | 检查改名、重排和翻译副本 | 可能仍被记忆覆盖。 |
| 3评测说明 | 报告来源、版本与已知限制 | 不宣称绝对无污染。 |
把过程连起来。时间更新是重要手段,但不是信息独立性的完整证明。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:比较随机切分与按发布时间切分的任务集,说明各自可能存在的泄漏和分布变化。
完成标准是对评测新鲜度与覆盖范围保持透明,不把“较新”直接写成“完全无污染”。
拓展阅读目录事实依据 [S154] · 练习与工程推导为本书独立编写。
C12.13 · 通用助手的综合任务
对应资料:GAIA
GAIA面向通用助手的综合任务,可能需要检索、推理和工具协作。它强调现实任务组合,而不是只测单一语言生成指标。
综合任务失败需要拆解:信息未找到、工具不可用、推理错误或最终验证不足。总分本身不能告诉你该修哪一层。
通用助手任务要同时读、算、核对
输入与条件。虚构任务从两份表中找匹配项目并合计3+4。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1检索 | 找到同一项目的两条记录 | 身份匹配正确。 |
| 2计算 | 3+4=7 | 算术独立核验。 |
| 3输出 | 给7及两份来源 | 若找错项目,算对也不算任务正确。 |
把过程连起来。综合任务的失败可能在任一环节,不能只检查最后算式。
边界与反例。本表是独立教学构造,用来解释该研究主题的一个局部机制,不是原论文实验或产品实测;完整方法与适用条件仍需结合本节正文。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
原创练习:设计一个需要读表、计算并核对来源的小任务,记录每步证据和最终答案的依赖。
完成标准是理解跨能力任务的评价方式,不把通用基准成绩直接变成特定企业流程的可靠性承诺。
拓展阅读目录事实依据 [S155] · 练习与工程推导为本书独立编写。