Browse this library

Chinese source article

1.2.2 · 故障注入与结果归因

用事件注入、失败分类、成本曲线和统计区间判断系统为何成功或失败。

View original Markdown ↗

1. 事件注入要可重复、可归因

Long-Horizon 基准需要在轨迹中制造变化,但事件若随机依赖真实外部世界,实验很难复现。每个事件应有版本化定义:触发条件、环境变化、执行体可见观察、正确响应集合和影响的验收条件。 事件可按状态触发。例如系统第一次准备写外部资源时撤销权限,在第一个里程碑验证后修改目标,或在 checkpoint 之后改变依赖版本。状态触发比固定第 50 步更难被脚本化,也让不同速度的系统在语义相同位置遇到事件。

同一事件至少需要无事件对照。设基础成功率为 p0p_0、事件成功率为 pep_e,差值 p0−pep_0-p_e 才近似事件造成的韧性损失。若只看 pep_e,基础能力更强的模型可能掩盖恢复机制更差;若只看差值,基础成功率很低又会出现地板效应。 事件后的中间变量包括检测延迟、错误动作数、污染产物数、回滚范围和恢复后首次正确动作。它们对应机制链

事件→检测→状态更新→重规划→恢复.\text{事件}\to\text{检测}\to\text{状态更新} \to\text{重规划}\to\text{恢复}.

最终失败时,这条链能指出断在哪里。只给一个零分,无法区分系统没观察到事件、观察到却没理解,还是理解后无法修复。 事件强度需要分层。目标变化可以只改格式,也可以推翻核心方案;环境变化可以影响无关文件,也可以使关键 checkpoint 失效。把所有事件混成平均数,会让大量轻微变化掩盖真正困难的恢复。

验证、统计与基准治理,基准把 verifier 输出当作真值时,先要知道它的错误率。假阳性把错误产物判成功,直接奖励投机;假阴性拒绝合法替代实现,压低系统分数并诱导它迎合特定路径。 设真实状态为 Y∈{0,1}Y\in{0,1}、验证结果为 VV。精确率与召回率分别为

Pr⁡(Y=1∣V=1),Pr⁡(V=1∣Y=1).\Pr(Y=1\mid V=1), \qquad \Pr(V=1\mid Y=1).

真实 YY 需要更强审计建立,可以来自人工复核、形式规范或多种独立验证器。只用 VV 自己生成的样本测试 VV,无法发现共同盲点。 对抗测试应覆盖空产物、硬编码测试答案、修改验证脚本、利用缓存旧结果、只满足字符串表面和触发验证器异常。若执行体能接触测试文件,还要检查它是否允许合法读取;简单隐藏所有测试会偏离真实开发环境,完全开放又可能把目标泄漏为固定样例。

验证器版本升级会改变历史标签。能重放的轨迹应在新版本上重新计算;无法重放的结果保留原版本,不能与新分数直接合并。基准排行榜需要记录 verifier 哈希和发布日期,避免模型没变、分数因规则更新悄然变化。 多个验证器串联时,可采用门控或并列。门控中语法失败便不运行昂贵测试,节省成本;并列可以发现验证器间矛盾。最终成功条件应由任务语义决定,不能因为某个检查便宜就给它过高权重。

过程指标如何避免被刷,工具步数少、计划修订少或 token 成本低,看起来都像效率,单独优化却可能损害成功。一个系统可以立即猜答案而获得最少步数,也可以从不重规划而减少计划变化。过程指标必须在固定质量门槛下比较。 有效动作可以定义为增加验证进展、减少关键不确定性或避免已识别风险的动作。这个定义仍依赖任务状态,不能仅凭工具名称判断。同一条读取命令第一次带来新证据,连续第五次读取相同版本就没有信息增益。

进度曲线应以验收条件或依赖图节点为单位,而非模型自报百分比。设加权完成量

Pt=∑iwi1[Ai 已由证据验证],P_t=\sum_i w_i\mathbb 1[A_i\text{ 已由证据验证}],

权重 wiw_i 可以相同,也可按业务价值或关键路径设定。若修改使旧证据失效,PtP_t 应允许下降。只增不减的进度条会掩盖回归。 无效动作率、回滚率和重复读取率适合诊断,不适合直接组成总分。困难任务合理需要更多探索与回滚,简单任务则不需要。按任务配对比较同一输入上的差值,比跨任务把原始次数平均更可靠。 过程日志还会受 Harness 影响。一个工具调用内部可能批量完成十个操作,另一个把它们拆成十次;直接比较步数偏向粗粒度接口。应补充墙钟、token、外部资源与验证进展,或把动作映射到相同语义单位。

数据污染与基准可变性. 代码仓库 issue、网页任务和公开 benchmark 容易进入预训练或后训练数据。模型记住补丁或参考轨迹时,长任务分数不再代表在线解决能力。时间切分是第一道防线,但发布日期晚不保证内容从未以其他形式出现。 可构造语义等价变体:重命名标识符、改变非关键数据、移动文件结构、重新生成依赖图,同时保持验收性质。记忆固定答案的策略会下降,理解机制的策略应更稳定。变体不能只做表面扰动,否则模型仍可匹配核心模板。

私有测试集减少直接污染,却妨碍外部复现。折中方案可以公开任务生成器与旧版本,保留当前实例和隐藏验证;定期轮换实例,并让第三方提交系统在受控环境评测。排行榜需要标注任务代次。 动态网页任务还有环境漂移。网站改版可能使旧动作失效,这既可能是有价值的适应测试,也可能只是 selector 损坏。若目标是比较模型,应冻结快照;若目标是测真实鲁棒性,则要记录页面版本并多次运行,两种协议不能混用。

污染审计还应检查参考答案是否出现在可访问工作区、测试输出是否直接泄漏隐藏条件、文件名是否暗示修复位置。长轨迹中一次泄漏会大幅缩短搜索,平均工具步数也会显得更好。

1.1. 成本—质量前沿

成功率不带成本时,可以通过更多采样、更多 agent 和更长预算不断提高。固定预算分数回答效率,扫描预算得到的前沿回答资源如何换取能力。 设成本向量为

C=(Ctoken,Ctool,Cwall,Ccompute,Chuman,Crisk).\mathbf C=(C_{\mathrm{token}},C_{\mathrm{tool}},C_{\mathrm{wall}}, C_{\mathrm{compute}},C_{\mathrm{human}},C_{\mathrm{risk}}).

不同场景的权重不同。离线研究关心 GPU 与总完成时间,交互应用关心首个可用结果和 P99,企业流程还关心人工审批与错误副作用。把所有成本折成美元需要明确价格和时间点。 Pareto 前沿保留不存在另一配置在所有成本更低且质量更高的点。若两个系统一个更快、一个更可靠,它们都可能在前沿上;用任意加权和强行排一二,会把使用场景藏进指标。 质量存在统计区间时,前沿也不确定。均值略高但区间重叠,不能断言支配。可用配对 bootstrap 对每个任务的质量与成本差采样,估计某配置被支配的概率,而非只画无误差条的折线。

重试成本要按每个成功结果计算。单次成本 cc、成功概率 pp,独立重试下期望成本约 c/pc/p;真实失败相关时会更高。只报告成功运行的平均成本会丢掉失败尝试,尤其偏向不稳定系统。 人工时间也不能默认为零。需要频繁确认、修复和重新解释目标的系统,机器成本可能低,协作成本很高。记录介入次数、等待时间与每次介入类型,才能判断自动化程度。

人工评测的协议. 开放式研究、写作与业务决策难以完全自动验证,需要人工评测。评审者应看到足够证据,却不应知道系统身份,以减少品牌和表达风格偏差。若轨迹过长无法全文阅读,可以抽取关键决策与证据,同时随机审计摘要遗漏。 评分维度要能落到观察。事实正确性检查主张与来源,覆盖度检查验收项,推导清晰度检查中间步骤,风格检查可读性;「总体感觉好」难以复现。每个维度提供正反例和边界样本,先做小规模校准。

多评审者一致性应报告。分类标签可用 Cohen 或 Fleiss kappa,连续分数可用组内相关系数;一致性低说明 rubric 含糊或任务需要专家知识。简单取平均不会解决评审者系统分歧。 专家与普通用户回答不同问题。专家更能发现技术错误,目标用户更能判断可读性和实际帮助。知识库文章若只由专家看,可能正确却难读;只由普通用户看,隐蔽事实错误可能漏过。两组评测可以并列,不必合成单分。

评审成本限制样本量时,应按风险分层抽样。包含强事实主张、复杂公式、不可逆建议和来源冲突的样本优先人工复核;低风险、自动验证充分的样本少抽。抽样概率要保存,汇总总体指标时可做加权。 人工反馈进入训练或规则更新后,测试集就不再独立。下一轮评测需要新样本或严格保留集,并记录哪些失败案例已用于改进。否则分数提高可能只是记住复盘样本。

基准之间为什么不能直接排名. 不同基准的任务分布、工具、预算、验证器和失败处理都不同。一个分数高十点,可能来自更简单的任务、更长预算或更宽松的终止规则。除非存在共同任务与统一协议,跨基准综合排名缺少可解释尺度。 可以比较相对量:同一基准上模型升级的配对变化,同一模型在不同事件条件下的韧性损失,或统一成本下的前沿。跨基准时先列条件矩阵,保留原始数字,不把百分比归一后平均。

任务饱和也会扭曲比较。简单基准上多个系统接近满分,微小差异受 verifier 噪声支配;极难基准上全部接近零,无法区分局部能力。一个有效套件需要覆盖从基础局部能力到深依赖与恢复的多个难度区间。 同名指标也可能定义不同。pass@k 有独立采样、共享预算和挑最好轨迹等口径;步骤数可能包含或不包含系统重试;成功率可能排除基础设施失败。汇总前必须回到公式和分母。

基准选择应由目标场景决定。代码维护、网页操作、研究综合和长期助理共享状态问题,局部工具与风险结构却不同。报告在多个场景上的分层结果比宣称一个「通用 Long-Horizon 分数」更诚实。

统计功效与最小样本量,长任务运行昂贵,实验常只跑几十条轨迹。样本少时,一个系统多成功两题就可能看起来领先很多,结论却很不稳定。设计实验前应根据期望检出的差异反推样本量,而非跑完后只报点估计。 对独立二元成功率 pp,标准误近似为

SE⁡(p^)=p(1−p)n.\operatorname{SE}(\hat p)= \sqrt{\frac{p(1-p)}{n}}.

p=0.5,n=100p=0.5,n=100 时标准误约 0.05,95% 区间宽度约正负 0.1。此时 5 个百分点差异远小于不确定性。把同一批任务配对给两个系统,并分析逐任务胜负,可以消除部分难度方差,通常比两组独立任务更有功效。 多次随机种子不等于同样多独立任务。同一任务的多条轨迹共享题目难度、验证器和环境,具有组内相关性。有效样本量会小于总轨迹数。层级模型可把任务效应与采样效应分开:

logit⁡pij=μ+αi+βj,\operatorname{logit}p_{ij}=\mu+\alpha_i+\beta_j,

αi\alpha_i 表示任务难度,βj\beta_j 表示系统或配置效应。至少应按任务聚类 bootstrap,而非把每条 rollout 当作完全独立。 低频灾难需要更大样本。若错误率为 pep_e,观察 nn 条仍一次没看到的概率为 (1−pe)n(1-p_e)^n。希望以 95% 概率至少看到一次 0.1%0.1% 错误,需要约 2995 条独立样本。几十条演示无法支持「没有灾难性失败」的结论。 多模型、多预算、多指标同时比较会产生多重选择。只挑最好配置和最好指标报告,会显著放大偶然优势。预先登记主指标与比较,或使用保留测试集;探索结果可以展示,但要与确认性实验分栏。

恢复评测需要真实中断,系统声称支持 checkpoint,不代表它能在真实中断后继续。基准应在受控状态点终止执行进程,释放内存或工作会话,再由新执行体读取持久状态。仅在同一上下文里说「假装刚恢复」没有覆盖序列化、外部连接和版本漂移。 中断点至少覆盖四类位置:阶段刚通过验收、写操作执行前、外部写操作响应未知时、上下文刚压缩后。第一类检验正常恢复,第二类检验是否重复副作用,第三类检验对账与幂等,第四类检验摘要是否保留恢复所需信息。

恢复指标包括启动到首个正确动作的时间、重复动作数、重做成本、状态分歧和最终成功。若系统启动很快却从旧目标继续,恢复不合格;若最终成功但重复发送消息,也不能用终点分数掩盖路径错误。 对照组可以只提供自然语言摘要,实验组提供结构化 checkpoint;二者使用相同模型、环境和预算。这样能把收益归给状态机制。若实验组同时获得更多 token 或人工提示,结论会混入额外信息。

恢复还要测试版本不一致。中断期间外部文件被修改、异步任务已经完成或用户更新目标,旧 checkpoint 只能作为候选状态。系统应重新读取权威来源并合并差异,而非忠实重放旧动作。

多 Agent 评测要计入协调. 增加 agent 数可能提高搜索带宽,也会增加重复工作、冲突和合并成本。比较单 agent 与多 agent 时,总模型 token、工具预算和墙钟至少要有一组固定,否则更高成功率可能只是更多计算。 任务分解质量可由依赖切割衡量。若两个子任务共享大量文件和状态,切开后需要频繁同步;边界清晰时只在最终接口合并。设跨分区依赖边数为 EcrossE_{\mathrm{cross}},它不是完整成本,却能解释为什么某些并行方案冲突多。

协调指标包括重复读取、重复尝试、写冲突、等待时间、交接信息缺失和合并后回归。子 agent 各自报告成功,主任务仍可能失败;最终分数必须在合并工作树或共同环境上重新验证。 上下文隔离既减少污染,也可能丢失必要知识。一个 agent 只负责一座知识库时,边界清楚;跨库一致性仍需主执行体检查。把全部历史复制给每个 agent 会增加干扰,把上下文全部清空又需要明确任务、规范和文件范围。评测应记录实际传递的信息。

多 agent 的加速上限受关键路径限制。若可并行工作占比为 PP、agent 数为 NN,Amdahl 近似给出

S(N)≤1(1−P)+P/N.S(N)\le\frac{1}{(1-P)+P/N}.

协调开销会让真实加速更低。只报告总完成时间而不报告总计算,会鼓励无限复制 agent;两者应并列。

状态污染与隔离实验. 长任务失败常由错误状态传播,而非单步能力不足。基准可以向记忆、摘要或工作区注入一条过期事实,观察系统是否通过版本和权威来源过滤。直接在 prompt 里告诉它「这条是假的」只测指令遵守,无法测真实污染处理。 污染源可分为四类:模型自己的错误总结、旧版本的正确事实、另一个 agent 的未经验证报告、外部工具的部分结果。它们表面都像文本,可信级别不同。状态层应保留来源与验证状态。

隔离实验一次只污染一条通道。保留外部文件正确,篡改摘要,可测系统是否读回权威状态;保留摘要正确,修改文件,可测它是否相信过期记忆;两者同时改变则无法知道修复依赖哪条通道。 污染影响按依赖传播范围统计。错误事实被读取但没有进入动作,属于检测前的暴露;它导致一个局部修改,污染范围小;它进入目标或共享接口,可能影响大量后继。只记录最终失败会丢掉早期防线的效果。

清理机制也要验证。删除错误记忆后,缓存、压缩摘要和派生产物可能仍保留它。完整清理应沿 provenance 关系找到派生状态并重验。若系统没有来源图,只能全量重置或冒险遗漏。

2. 失败分类要能指导修复

一个实用 taxonomy 至少区分理解、计划、执行、观察、验证、状态、协调和恢复。理解错误误读目标;计划错误选择不可行路径;执行错误是工具参数或操作失败;观察错误漏读返回;验证错误把局部证据升级成全局结论;状态错误使用过期事实;协调错误发生在交接与合并;恢复错误则在中断后重复或跳过动作。 类别应由首次因果分叉决定,而非收尾阶段一条错误消息。测试失败可能由早期 schema 设计错误造成,收尾阶段表现为执行异常;只按终端日志分类,会把所有问题归为工具失败。需要回溯哪个决策使正确轨迹不再可达。

同一轨迹可以有多个次级错误,但主因最好唯一或带置信度。评审者分歧时保留多标签和证据,不强行一致。分类器本身需要抽样人工核验,尤其是自动从日志归因的模型。 失败比例要与机会数结合。某系统执行更多高风险写入,原始错误数可能高,但每次机会错误率较低。分母可取对应动作数、状态更新数或事件数,需随类别定义。 taxonomy 的价值在于闭环。若大部分失败来自目标覆盖丢失,应改状态与计划检查;若来自 verifier 假阳性,应加强验证;若基础工具调用已很差,继续增加记忆系统不会解决主要瓶颈。

任务难度校准与 IRT. 简单按步骤数给任务分难度会把独立重复与深依赖混合。可以使用项目反应理论,把任务 ii 的难度 bib_i 与系统能力 θj\theta_j 联系:

Pr⁡(Yij=1)=σ(ai(θj−bi)),\Pr(Y_{ij}=1)= \sigma(a_i(\theta_j-b_i)),

aia_i 是区分度。模型仅是近似,但它能发现某些任务对系统差异几乎没有区分力,以及不同测试集难度分布不一致。 Long-Horizon 不是单维能力,可以使用多维 θ\boldsymbol{\theta},任务载荷对应状态、恢复、工具和局部推理等维度。参数需要足够多系统与重复结果估计,样本少时不应把拟合数值当真值。 更直接的方法是参数化任务生成器。依赖深度、事件数、不可逆动作和环境噪声都可以作为已知难度旋钮。扫描每个旋钮得到能力曲线,再用真实任务验证曲线是否外推。

基准维护时要保留锚题。全部任务同时更换后,新旧分数无法对齐;一组未污染且稳定的锚题可以估计代次差异。锚题若已经饱和或泄漏,也要替换并建立重叠期。 难度校准还可以指导预算。极易题不需要很长轨迹,极难且当前全部失败的题信息量也低;将运行集中在能力转折区,统计效率更高。但最终报告仍应覆盖全范围,避免只展示最有利区间。

可重复性与可复现性分开报告. 同一代码、同一环境重复运行得到相近结果属于 repeatability;不同团队依据公开材料重建并得到一致结论属于 reproducibility。长任务系统可能前者很好,后者因缺少 Harness、工具 schema 或任务快照而失败。 最小运行清单包括模型精确版本、采样参数、系统提示、上下文策略、工具定义、权限、超时、重试、预算、环境镜像、任务版本和 verifier。只给模型 API 名称,后端更新后无法恢复实验。 随机性来源不止模型采样。并发调度、网络响应、文件遍历顺序和测试 flaky 都会改变轨迹。能固定的设置种子与版本,不能固定的记录时间和原始响应,并通过重复运行报告方差。

容器镜像不足以冻结外部服务。任务访问包仓库、网页或远程数据库时,依赖仍会漂移。可用代理录制、内部镜像和仿真服务;若保留实时访问,就把它当作鲁棒性条件,不把结果与冻结基准直接比较。 公开完整轨迹有隐私和体积问题。可以发布结构化事件、工具调用哈希、产物 diff、验证结果和脱敏错误,同时提供统计代码。关键主张所需证据必须可审计,内部思维文本不属于必要复现材料。

基准治理与版本迁移,基准不是发布后永久不变的文件。任务失效、依赖漏洞、参考答案错误和污染证据出现时,需要修订。治理流程应记录 issue、判定、修复版本和受影响历史结果。 任务变更分为等价修复与语义变化。修正下载链接、固定依赖而不改变目标,可能保留可比性;改变验收条件或输入数据属于新任务版本。维护者应提供迁移说明,不能沿用同一版本号。 历史排行榜在 verifier 修复后可能失效。能重放的提交重新评测,不能重放的标注旧协议;不应把新旧分数混排。模型提供商更新同名 API 时,也要保存调用日期或后端版本。

任务泄漏后,简单隐藏它不会消除训练影响。新代次应改变语义实例、保留能力维度并设置时间隔离。生成式任务需要人工抽查可解性和难度,防止自动生成大量无效样本。 治理还要处理报告选择。要求提交逐任务结果、失败类型和成本,可以减少只选有利子集;外部复核者应能从原始结果重建主表。任何排除项都要有预先规则或明确理由。 一个成熟基准最终提供的不只是题目,还有版本化环境、验证器、运行协议、统计脚本、已知局限和更新历史。缺少其中任何一层,漂亮分数都难以支撑长期结论。

2.1. 配对、校准与部署边界

同一批任务分别交给系统 A 与 B,可以对每个任务计算差值 di=yiA−yiBd_i=y_i^A-y_i^B。总体差异估计为

dˉ=1n∑i=1ndi,\bar d=\frac{1}{n}\sum_{i=1}^{n}d_i,

其方差取决于差值,而非两个系统各自分数方差之和。任务难度对两边共同起作用时,配对能显著提高统计效率。 配对要求输入与环境版本相同。实时网页在不同日期运行、仓库依赖发生变化或随机事件序列不同,名义上同一任务也不再成对。可以交错运行系统、固定环境快照和事件种子,减少时间漂移。 二元成功可用 McNemar 检验关注 A 成功 B 失败与相反情况。两个系统都成功或都失败的任务不决定差异方向,却说明共同能力范围。只比较总成功数,会漏掉它们是否在同一批任务上成功。

成本也能配对。对每个任务记录成功、token、墙钟和工具数,画出差值分布。有些系统平均成本较低,却在少数困难任务极端昂贵;均值无法代替尾部分位数。 若每个系统有多条随机轨迹,可以先在任务内聚合,再跨任务比较,或使用层级 bootstrap 同时重采样任务与轨迹。直接把所有轨迹打散,会让运行次数多的任务获得更大权重。

校准比自信更重要,Agent 经常需要判断是否完成、是否应重试、是否需要请求帮助。置信度若与真实成功概率不匹配,会直接影响长轨迹决策。高估导致过早提交,低估导致无休止验证和重试。 将预测置信度分桶,比较每桶平均置信与实际正确率,可以构造可靠性图。期望校准误差

ECE=∑b∣Bb∣n∣acc⁡(Bb)−conf⁡(Bb)∣\mathrm{ECE}=\sum_b\frac{|B_b|}{n} \left|\operatorname{acc}(B_b)-\operatorname{conf}(B_b)\right|

提供一个摘要,但分桶选择会影响数值。Brier score 或对数损失保留连续概率信息,可与可靠性图并用。 完成置信与局部动作置信应分开。模型确信一条命令语法正确,不代表整个任务完成;一组局部高置信判断也可能共享同一错误假设。评测应要求系统给出结论所依赖的证据,而非只报一个百分比。 分布变化后校准会漂移。短任务上训练的停止阈值用于长任务,累积错误可能使同样 0.9 置信对应更低真实成功率。按轨迹深度、事件类型和恢复次数分桶,可以看出阈值是否需要条件化。

请求人工帮助也能用选择性预测评估。允许系统放弃一部分样本时,画覆盖率—风险曲线:系统只回答最有把握的 50% 时错误率多少,覆盖提高后风险怎样增长。一个知道何时停下的系统,在高风险场景可能比强行回答所有任务更有价值。

安全边界必须进入主指标,如果成功率忽略越权、数据泄漏和不可逆副作用,系统可能通过危险捷径得高分。安全不能只放在附录统计,它应作为硬约束或与成功并列的主结果。 可以定义安全成功

Ysafe=Ytask∏k1[¬vk],Y_{\mathrm{safe}}= Y_{\mathrm{task}}\prod_k\mathbb 1[\neg v_k],

vkv_k 表示第 kk 类严重违规。任何硬违规都会让安全成功为零。轻微、可恢复偏差可另用成本记录,避免把所有问题等同。 权限评测需要诱惑动作。若任务完全没有越权机会,系统从未违规不能证明它会遵守边界。提供一个能更快完成但超出授权的接口,观察系统是否拒绝,并测它能否找到合法路径。 秘密处理应使用合成凭证和 canary。系统不需要接触真实敏感数据;在上下文或环境放置标记,检查它是否写入日志、输出或第三方请求。检测范围要覆盖工具参数和外部副作用,不能只扫最终回答。

删除、发布、付款等动作要测试确认语义。系统是否在确切目标和影响范围明确后执行,用户撤销授权后是否停止,响应超时后是否先查询再重试。一次错误动作可能无法恢复,平均成功率不能稀释它。 安全基准也要防止只学固定拒绝词。改变措辞、把风险隐藏在工具返回或后续消息中,并保留合法相似任务,检查系统能否基于权限和状态判断,而非一律拒绝。

2.2. 轨迹压缩对评测的影响

长轨迹经常超过模型窗口,Harness 会摘要、裁剪或外置历史。不同压缩策略改变模型可见证据,相当于评测条件的一部分。只公布模型名与上下文长度,无法复现。 压缩质量不能只用摘要相似度。应在压缩点之后设置需要早期约束、失败原因和外部对象 ID 的任务,测系统是否做出正确动作。摘要读起来流畅,仍可能漏掉一个决定性否定条件。 可以进行配对干预:同一轨迹分别使用原始历史、人工金摘要、自动摘要和结构状态,固定后续模型随机种子。金摘要与原始历史的差异反映压缩可避免上限,自动摘要与金摘要的差异反映摘要器,结构状态与散文摘要的差异反映表示形式。

压缩触发时机也重要。固定 token 阈值可能在一个阶段中间切断证据;里程碑压缩等待状态闭合,窗口可能更长。报告压缩次数、每次前后 token、被保留的状态类别和恢复读取次数,才能解释成本。 裁剪原始历史后,外部存储仍应保留完整证据。若评测允许模型按需读取旧日志,要把读取成本计入预算;若不允许,则测到的是不可回溯条件。两种都合理,但含义不同。

工具接口公平性,一个系统使用批量编辑、语义搜索和专用 verifier,另一个只有逐行 shell,即使模型相同,结果也会不同。工具是能力的一部分,但比较时要明确是测完整系统还是模型策略。 模型对比应尽量提供语义等价工具:相同读写权限、错误信息、超时和外部状态。若工具 schema 不同,至少报告调用成功率与格式错误,避免把接口适配问题归为推理能力。 完整系统对比可以保留各自最佳工具,但需要列出工具能力和额外组件。结论应写成「系统 A 在这套工具下」而非「模型 A 更强」。对关键差异,可交换 Harness 或做交叉实验。

工具返回粒度也会泄漏信息。测试命令若直接告诉模型精确失败行,比只返回退出码容易;浏览器 DOM 工具比截图提供更多结构。协议应固定观察通道,或把不同通道作为独立条件。 错误恢复取决于工具幂等性和事务语义。一个 API 自带幂等键,另一个没有,重复副作用风险不同。基准应记录这些性质,不用统一的「工具调用次数」掩盖。

从基准到真实部署的迁移,基准在隔离环境里强调可复现,部署面对开放用户、持续流量和真实副作用。高基准分只是部署证据的一部分,需要影子测试、小流量试运行和持续监控。 影子模式让系统生成动作但不执行,与现有流程比较。它能发现分布差异和工具选择问题,无法测试真实写入后的状态变化。下一阶段可允许低风险、可回滚动作,并设置自动验证与回退。 上线门槛应绑定失败类型。总体成功率提高,若不可逆错误从零变成少量,仍可能不可接受;某些低风险任务允许更激进策略。按风险分层路由比一个全局阈值更合理。

生产监控需要检测输入分布、工具版本、失败类型和成本漂移。模型名不变,外部 API 或 Harness 更新也会让能力变化。每次重大变更用固定回归集与近期流量样本重评。 真实用户反馈会有选择偏差。严重失败更容易投诉,静默错误可能长期未被发现;满意用户通常不反馈。反馈不能直接当总体错误率,需要结合抽样审计和自动验证。 部署经验回流基准时,先脱敏并抽象机制,避免把具体用户数据和固定答案加入训练。新失败模式可形成事件模板,再生成可复现的合成任务,建立从真实问题到研究测量的闭环。

3. 一份可以审计的结果表

主表第一步列任务版本、系统版本、模型、Harness、预算和有效样本数。随后报告终点成功、安全成功、基础设施失败和删失数量,确保分母透明。 质量按任务类别、难度和事件分层;成本至少包含 token、工具调用、墙钟与重试;过程指标列验证进展、恢复率和错误检测延迟。每个均值附置信区间,尾部延迟给出样本数。 附表保存逐任务结果与失败 taxonomy。排除任务、人工覆盖和环境重跑要有理由。若某项指标不可获得,写未知,不用其他代理量替代。

图表优先展示预算—成功曲线、生存曲线、成本—质量 Pareto、事件前后差异和失败构成。单点排行榜可以作为索引,不能取代这些关系。 结论必须对应证据范围。冻结环境上的代码维护结果不能推广到实时网页;允许人工介入的系统不能与全自动系统直接比较;多 agent 高预算结果不能说明单模型本身提高。限制写在结论附近,避免读者只看到标题数字。 发布包让第三方能从逐任务记录重算主表。统计脚本、任务清单、环境与 verifier 版本、失败样本索引共同构成审计路径。做到这一点,评测才从一次跑分变成可积累的测量。

反事实、效度与可信结论,长轨迹中某个动作是否关键,可以从同一 checkpoint 分叉多个 continuation。固定状态 sts_t,只改变候选动作或规划决策,随后使用相同预算运行,比较终点成功与过程成本。它比跨任务相关性更接近因果对照。 分叉要求 checkpoint 真正等价。文件、外部对象、随机数、缓存和异步任务都要复制;只复制对话而环境不同,差异无法归因于动作。对不可复制的真实副作用,可以使用仿真或在执行前分叉,不能事后假设另一路径。

同一状态的后续具有随机性,每个动作需要多条 continuation 才能估计价值。若预算有限,可把样本集中在系统分歧大、风险高或接近决策边界的状态。只挑已知失败状态会高估修复收益,应说明抽样规则。 反事实还可以测试组件。保持动作序列不变,只替换摘要、记忆检索结果或 verifier 输出,观察后续是否改变;保持状态与模型不变,只开启 checkpoint 恢复或依赖图。每项干预对应明确中间变量。

结果应报告动作效应分布,而非只给平均。一个策略在多数状态略好、少数状态灾难性差,与稳定的小幅提升有不同部署含义。按状态类型和风险分层能找到收益边界。

长任务中的因果污染,评测日志本身可能影响系统。若模型看到「这是 benchmark」「剩余 50 步」或 verifier 名称,它会改变策略;若参考实现、测试文件或任务 ID 暗示答案,分数测到的是线索利用。 控制面消息应只包含部署时可得信息。内部评测元数据放在模型不可见通道;需要告诉系统预算时,真实部署也应有相同资源边界。隐藏预算会导致任务被突然截断,测到另一种能力。 训练与测试污染不仅是答案重复,也包括 Harness 轨迹模板。模型可能见过某 benchmark 的固定工具顺序,即使具体实例新,也会按模板行动。改变任务表面不够,需要变换事件位置、工具表示和依赖结构。

评测后的人类修复不能回写原始轨迹分数。允许人工接管是一种独立协议,应记录接管点与机器此前状态;把人工完成的结果算作全自动成功,会夸大系统能力。 多阶段研究还要防止在测试集上反复调阈值。每次查看失败并修改系统,测试集逐渐变成训练数据。使用开发集迭代、锁定配置后一次评保留集,并保存尝试次数,才能控制选择偏差。

3.1. 任务有效性与构念效度

一个 benchmark 叫 Long-Horizon,不代表它真的测到了长程能力。构念效度要求任务成绩随目标能力变化,并能排除无关捷径。增加状态机制应改善需要状态的任务,对纯局部任务影响较小;若两者一起上涨,可能只是总计算增加。 内容效度要求任务覆盖定义中的主要维度:依赖深度、目标变化、环境漂移、恢复、不可逆风险和协调。只覆盖长代码编辑,无法代表长期助理或研究工作;无需覆盖所有场景,但必须说明范围。

收敛效度可以看不同基准中相似维度是否相关,区分效度则要求它与无关能力不完全重合。如果 Long-Horizon 分数几乎由单轮代码能力预测,基准可能没有增加新的测量。 已知组比较也是证据。去掉记忆、禁用恢复或打乱目标版本,应在对应任务上显著下降;若完全不变,任务可能太简单、组件没被使用,或指标没有捕获差异。 有效性不是一次证明。模型和工具进步后,旧任务可能出现新捷径或饱和,需要重新审计。每次大版本报告任务分析、失败构成和组件消融,比只扩充题量更重要。

评测结果如何写成可用结论,先陈述协议:任务版本、系统边界、预算、环境、事件和 verifier。随后给分层结果与不确定性,再解释失败机制。把条件放在结论之前,读者才知道数字代表什么。 因果措辞要与实验匹配。随机对照或同状态干预可以支持「组件导致提升」;观察相关只能写「伴随」或「在这些任务上相关」。多个组件一起变化时,结论属于完整系统。 不要用平均分替代边界。明确哪些任务、长度和风险区间成立,哪些出现退化,哪些证据缺失。一个方法在固定长度、大 batch 下更快,不等于所有交互任务更快;在可验证数学题上 RLVR 有效,也不等于开放写作同样可验证。

负结果同样有价值。某组件在固定预算下没有收益,可能说明任务不触发、开销抵消或实现不足。报告中间变量能区分这些解释,避免简单写成「方法无效」。 最终给出复验入口:配置、任务、原始逐样本结果、统计脚本和已知问题。结论能被重新计算、失败能被定位,才适合用于模型选型与后续研究。

3.2. 将最终成功拆成条件链

最终失败可能发生在任务理解、局部动作、状态维护、验证或恢复。可以用条件概率组织分析:

Pr⁡(S)=Pr⁡(L)Pr⁡(E∣L)Pr⁡(V∣E,L)Pr⁡(R∣V,E,L),\Pr(S)= \Pr(L)\Pr(E\mid L)\Pr(V\mid E,L) \Pr(R\mid V,E,L),

LL 表示局部能力足够,EE 表示执行过程保持有效状态,VV 表示验证正确,RR 表示发生错误时恢复成功。这个分解不要求各因素独立;它强调后项的分母应限制在前置条件成立的样本上。 若模型连基础工具都不会,状态机制没有机会发挥;把这些样本计入恢复率会产生地板效应。先用短任务测 LL,再在局部能力通过的任务上分析状态与恢复,更容易定位瓶颈。 验证正确包含两面:错误产物被拒绝、正确产物被接受。只在最终成功轨迹上看 verifier,会遗漏假阴性;只在模型提交结果上看,也可能缺少故意构造的对抗错误。需要独立验证集估计。

恢复率的分母应是发生了可恢复错误且被检测的轨迹。没有错误不能算恢复成功,错误未检测属于检测失败。记录这条条件链能防止一个系统因很少尝试高风险动作而看起来恢复率更高。 最终表格可以同时给总体成功和每个条件率。若升级后局部能力不变、状态保持提高、验证假阴性增加,总体可能近似不变;单一分数会错过内部权衡。

评测中的顺序效应,同一批任务连续运行时,缓存、长期记忆、人工调参和环境残留会让后续任务受前序影响。随机打乱任务顺序只能平均部分影响,无法替代每题重置。 需要隔离的状态包括工作区、后台进程、浏览器登录、模型会话、向量记忆、工具缓存和远程对象。某些稳定用户偏好可以跨任务保留,但必须属于协议;参考答案和失败线索不能泄漏。 若研究目标就是持续学习,可以故意不重置,此时顺序成为实验变量。报告前向迁移、后向干扰和遗忘,而非把整段流中后期提高都归因于基础模型。不同随机任务顺序要重复运行,排除某个课程偶然有利。

并行评测也可能交叉污染。多个 episode 共享文件系统、端口、缓存或速率限制时,一个任务会改变另一个观察。隔离容器之外,还要检查共享外部服务和全局配额。 冷缓存与热缓存性能不同。系统比较应统一预热协议;真实服务评测可以同时报告冷启动和稳态。只让某个系统预先加载索引或模型,会把准备成本移出计时范围。

最小可信结论的门槛,一个结论至少需要协议明确、样本量可解释、验证器经过审计、结果带不确定性、失败没有被静默删除、成本与质量在同一条件下测量。缺少其中一项,数字可以作为探索线索,不能支撑强排名。 机制结论还需要中间变量。声称 checkpoint 改善恢复,应看到重复副作用下降或重做量减少;声称规划提升长程能力,应看到关键路径或无效动作改善;只有最终分数变化,无法排除额外预算与其他组件。

外推结论需要跨分布证据。在一个代码仓库套件上成立,最多支持该任务族;加入网页、研究和异步事件后仍稳定,才能扩大范围。即使如此,也要保留工具、风险和预算条件。 当证据不足时,最准确的写法是「尚不能区分」。例如两个系统均值接近且置信区间宽,继续收集样本比宣布并列第一更有价值。研究报告允许没有赢家,评测设计的目标是减少不确定性。 这套门槛也适用于本知识库后续引用的 benchmark。每看到一个刷新纪录的数字,先还原任务、预算、系统和 verifier,再决定它支持模型能力、Harness 改进,还是仅支持该完整配置。

参考资料