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.95 | 26.0% | 32.7% | 28.7% | 1.1pp | 0.991 | ||
| Toolathlon @0.90 | 23.0% | 44.1% | 29.4% | 0.9pp | 0.994 | ||
| TerminalBench 无同模型 @0.90 | 25.4% | 42.7% | 27.9% | 2.1pp | 0.959 | ||
| TerminalBench 无同脚手架 @0.85 | 17.7% | 29.2% | 17.4% | 2.0pp | 0.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 节省系统性地大于步数节省,说明截掉的是后段膨胀上下文。
阈值是事后选的工作点。把它当成可调旋钮没问题,当成无超参的即插即用会高估。