换脚手架比换模型更能改排名,3×3 实验方差差 7.8 倍

Stop Comparing LLM Agents Without Disclosing the Harness

Yunbei Zhang, Janet Wang, Yingqiang Ge, Weijie Xu, Jihun Hamm, Chandan K. Reddy

cs.AI, cs.SE

2026-05-07

能力接近的前沿模型做长程任务时,harness 方差是换模型的 7.8 倍;SWE-bench 100 题子集上换脚手架最多差 13 点,9 组对照翻了 6 次排名。

这篇在解决什么

SWE-bench、Terminal-Bench、AgentBench、GAIA 这类 agent 排行榜,惯例是给每个「模型 × 基准」报一个数,再把这个数记到模型头上。经费、选型和论文结论都跟着这个惯例走。

漏掉的是执行脚手架,也就是 harness:夹在模型和任务中间的那层软件,负责拼上下文、转发工具调用、校验输出、决定重试还是停。每个分数都是模型和 harness 的联合产物,但 harness 几乎不披露,跨论文对比时更几乎不锁死。

问题能直接量出来。固定模型只换 harness,Terminal-Bench 2 的 pass@1 从 69.7% 拉到 77.0%;第三方监测在 SWE-bench Verified 上看到脚手架单独就能差 15 个点。同一模型换一套脚手架,排名可以翻到对手上面或下面。

这篇 position paper 的主张很硬:长程任务、能力接近的前沿模型这一档里,不披露 harness 的跨模型对比无效。

方法

核心命题叫 Binding Constraint Thesis。在这个制度里,分数方差主要由 harness 配置决定,现有协议会系统性地把脚手架侧的增益算到模型头上。

控制论写法把这件事拆开。语言模型是开环随机策略,只能看见 harness 投影进上下文窗口的那一块,跨步记忆和纠错路径都得靠控制器喂回来。Harness 才是闭环控制器。三个控制器量决定长程可靠性:稳定性(朝目标的距离是否期望非增)、上下文漂移(任务相关信息离开窗口的速度)、控制滞后(异常被检测到、到纠错信号打到策略,中间隔了几步)。模型升级可以降低异常发生率,但异常一旦发生,响应方式不随换模型而变好。

方差分解把总方差拆成模型项 MV、harness 项 HV 和交互项。命题说 HV 加交互项压过 MV。交互项不能当噪声:强调自我校验的脚手架,对虚高自信的模型帮助更大,同一套改动在不同模型上增益不同。把排行当模型属性,等于默认交互项相对 MV 很小。这篇否认那个默认。

配套给了两种合法评测。锁死 harness 协议:所有模型跑同一套指定脚手架,得到的是该脚手架下的模型排序。因子协议:模型和 harness 一起变,报告平均 HV、平均 MV、交互项、跨脚手架的排名翻转次数。

披露标准叫 Harness Card,按七层 ETCSOVG 填:执行、工具、上下文、调度、可观测、校验、治理。轨迹侧再报恢复率、上下文留存、控制滞后,用来把 HV 对上具体层,而不是只报一个 pass 率。

结果

公开榜单已经够大。

设置固定对象只改 harnessΔ
SWE-bench Pro / Claude Opus 4.5模型SEAL → Claude Code+9.5pp(45.9% → 55.4%)
SWE-bench Verified / Grok 4模型SWE-agent → xAI 脚手架+14–16pp(58.6% → 72–75%)
Terminal-Bench 2 / GPT-5.4模型AHE 演化+7.3pp(69.7% → 77.0%)
SWE-bench Verified Mini / Claude Sonnet 4.5模型SWE-Agent → HAL Generalist68% → 34%

SWE-bench Pro 的标准化 SEAL 脚手架下,头部六个前沿模型只差 4.9 个点(41.0% 到 45.9%)。再加一个 WarpGrep 搜索子 agent,各模型大约加 2.1 到 2.2 个点,就把 MiniMax 2.5 和 Claude Opus 4.6 的名次翻过来。HAL 上 GPT-5 Medium 从 46% 掉到 12%,o4-mini 接近 48 个点。这些都不是模型升级。

公开数字来自不同团队、不同工程预算,分不清是哪一层在起作用。于是做了受控 3×3:GPT-5.4、Kimi K2.6、GLM-5.1 三个在 LLM Stats 编程榜上挤在一起的模型(44.6、45.4、45.3),配三套按上述控制器量刻意分级的 harness,在 SWE-bench Verified 按难度分层抽的 100 题上各跑两次,步数预算 50、单步超时 120 秒。

H1 是开环底线:不压缩上下文、工具 schema 又长、无重试、无校验。H2 加任务相关检索压缩、精简工具、失败指数退避。H3 再加逐步自检、每五步 KL 风格漂移检查、异常检测和保留最近 10 个状态的检查点回滚。

模型H1 MinimalH2 ImprovedH3 FullHV(pp²)
GLM-5.152.556.565.529.56
GPT-5.455.058.563.512.17
Kimi K2.652.059.060.513.72
MV(pp²)1.721.174.22

平均 HV 18.48 pp²,平均 MV 2.37 pp²,比值 7.80 倍。换 harness,GLM-5.1 动 13.0 个点,另外两个各动 8.5 个点。固定 harness 换模型,三套分别只动 3.0、2.5、5.0 个点。9 组模型对 × harness 对里,6 组排名翻转。两次独立 run 的 HV/MV 分别是 8.72 倍和 6.76 倍,不是平均出来的假象。

轨迹日志把机制说清楚了。H1 到 H2 主要是压控制噪声:格式更严、工具面更窄、相关历史能被检索回来,少在步数耗尽或上下文被追加史淹没时死掉。H2 到 H3 的增益主要来自闭环校验和恢复,模型并没有突然更懂仓库。

为什么重要

从业者如果把「换一个更强的模型」当成优化闭环,漏掉了更大的杠杆。这组受控网格里,固定模型从 H1 走到 H3,pass@1 动 8.5 到 13.0 个点;固定 harness 换模型只动 2.5 到 5.0 个点。部署侧其实早就在比 harness:Claude Code、Codex CLI、OpenHands 用的是同一小撮前沿模型,差在上下文、工具边界和恢复策略。

对读榜的人,含义更直接。没披露脚手架的长程 agent 分数,不能当模型排名用。审稿人该像问超参一样问「用的哪套 harness」。合法对比只有两条路:锁死一套脚手架,或把脚手架当因子报方差分解。

这是测量学警告。短程任务、能力鸿沟很大的模型对比,命题自己划出了范围。

局限与存疑

7.80 倍被明确写成「这一任务分布上的受控结果」,不声称普适。网格只有三个能力接近的模型、三套自制 harness、100 题、每格两次 run。H1/H2/H3 同时改了很多层,分不出单层贡献。

轨迹级指标(恢复率、上下文留存、控制滞后)只写成未来报告要求,没在 3×3 上估。附录里的扰动压力测试也没跑。

公开榜单证据是观测性的。HAL 那组 34 到 48 个点的跨脚手架落差,脚手架之间差的远不止一层,工程投入也不对称,只能当下界示意。

还有一个内部别扭:跨模型方差在 H2 最小(1.17 pp²),在「最强」的 H3 最大(4.22 pp²)。更好的闭环控制可以吸收模型差异,逐步校验和回滚也可以把原先被噪声盖住的模型差异翻出来。Harness 质量与「模型选谁都一样」不是单调关系,这也是必须披露配置的原因。

「可比前沿模型」目前锚定在本身就被 harness 污染的榜单邻近度上。没有 harness 之间的距离定义,HV 还依赖于怎么抽样脚手架。披露本身也挡不住对抗性选脚手架。这些都列为开放问题。

术语

原文与代码

社区讨论

相关论文

全部论文解读