轨迹中途就能判对错,EarlyEval省下13%到26%的Agent步数

EarlyEval: Cheaper Agent Evaluation via Early Outcome Prediction

Yuling Shi, Zhensu Sun, Junsen Dong, Chengcheng Wan, David Lo, Xiaodong Gu

cs.CL

2026-09-03

用LightGBM对成功和失败分别建模,在SWE-bench、TerminalBench和Toolathlon上提前停跑。推荐工作点省13%到26%步数、最多44.1%输入token,Pass@1平均只偏1到2个百分点,榜单Spearman ρ不低于0.959。

这篇在解决什么

评一次前沿模型在 agent 基准上的完整滚动,动辄几百到几千美元。OpenHands Index 上,SWE-bench Verified 单次约 715 到 935 美元,SWE-bench Multimodal 最高到 2270 美元。开发循环要反复评,这笔账会把迭代速度压死。

已有工作走的是基准蒸馏:少测几道题,保留下来的题仍然要跑完全程。EarlyEval 换了一条轴:单题内部提前停。判断依据是,最终成败往往在中途轨迹里已经写得很清楚。Agent 打出正确的一行补丁之后还在空转测试,或者对着同一条报错反复改同一处,观察者这时已经知道结局。

方法

框架离线用历史轨迹训练一对 LightGBM 分类器,线上逐步打分,置信度跨过阈值就停。特征分三族:

TerminalBench 和 Toolathlon 不发布金补丁,这两项关掉参考族。成功头与失败头分开训,因为两类证据不对称;两边都低就继续跑。原始分数用 Platt scaling 校准,阈值预先定死,越高越准、停得越晚。树模型逐步推理是亚毫秒 CPU,几乎不加开销。

训练数据超过 2.1 万条带结局标签的轨迹:SWE-bench Verified 16 个 agent、7805 条;TerminalBench 37 个配置、6757 条;Toolathlon 22 个模型、7116 条。评测一律 leave-one-agent-out。TerminalBench 再加两道泄漏墙:训练里不能出现同一模型,或不能出现同一脚手架。

结果

推荐工作点取「Pass@1 绝对偏差约 2 个百分点以内、尽量早停」。

基准与阈值省下步数输入 token输出 tokenΔ\Pass@1\Spearman ρ
SWE-bench Verified @0.9526.0%32.7%28.7%1.1pp0.991
Toolathlon @0.9023.0%44.1%29.4%0.9pp0.994
TerminalBench 无同模型 @0.9025.4%42.7%27.9%2.1pp0.959
TerminalBench 无同脚手架 @0.8517.7%29.2%17.4%2.0pp0.994

失败头在各基准都稳,SWE-bench 精度 96.7%,Toolathlon 96.6%。成功头只在 SWE-bench 可靠(约 88%–94%);Toolathlon 高阈值下几乎不触发,TerminalBench 去掉同脚手架后精度掉到约 69%。对偶机制的步数节省几乎等于两头相加,说明同一条轨迹上两头很少同时开火。

消融里拿掉行为族,覆盖率从 34.8% 掉到 23.4%,步数节省从 26.0% 掉到 16.4%。拿掉参考族只轻微受损。LightGBM 压过 MLP、线性模型和 LoRA 微调的 Qwen-0.5B judge:后者省 17.9% 步数、准 90.7%,但每步要跑一次模型,把省下来的计算又吃回去。

为什么重要

这是给「少测几道题」补上的另一刀:留下的题也可以中途收场。排行保真度很高,SWE-bench 16 个模型里 81% 名次不动。对有历史提交池的基准,这套东西插上就能用。

失败比成功好预测。做排行榜审计时,用失败头砍掉明显没戏的滚动,往往比等成功信号更划算。

局限与存疑

新基准冷启动时没有历史轨迹,分类器训不起来。脚手架比基座模型难泛化,换一套编排,行为特征会漂。成功头在无金补丁、工具调用更杂的基准上几乎歇菜,实际部署多半是「专停失败」。

内部效度上,作者用按题切分加 leave-one-agent-out 防泄漏。外部效度仍取决于轨迹格式是否接近训练分布。构造效度方面,token 账单与步数并不线性,不过输入 token 节省系统性地大于步数节省,说明截掉的是后段膨胀上下文。

阈值是事后选的工作点。把它当成可调旋钮没问题,当成无超参的即插即用会高估。

术语

原文与代码

相关论文

全部论文解读