Harness 买到的是什么?主要是 Token——arXiv 实证:换框架≈重跑噪声,换模型才是真变量,成本差 3 倍
核心摘要
- 在模型不变的前提下,换一个 Harness,分数到底动了多少?
- 换 Harness 对通过率的影响约等于重跑一次的噪声,真正改变结果的是换模型
- 同一模型同一任务,三个 Harness 的成本相差最多 3 倍,差距来自每步重发的系统提示与工具说明
- 唯一显著的 Harness 效应是"输"而非"赢":输出上限截断、上下文溢出、超时——全是丢任务的方式,没有一种是赢任务的方式
Harness 买到的是什么?主要是 Token——arXiv 实证:换框架≈重跑噪声,换模型才是真变量,成本差 3 倍
过去一年,AI 智能体的"框架(Harness/脚手架)"市场热闹得像手机发布会:各家厂商宣传"换我们的框架,通过率 +2.4 个百分点";排行榜把不同框架的跑分混在一起排;银行选型时,技术团队为"用 Claude Code 还是自研框架、用 OpenCode 还是 mini-SWE-agent"反复论证。但一个最基本的问题几乎没人测量过:在模型不变的前提下,换一个 Harness,分数到底动了多少?
换 Harness 对通过率的影响约等于重跑一次的噪声,真正改变结果的是换模型。 这是 2026 年 10 月 3 日上传 arXiv 的论文《What Does a Harness Buy? Tokens, Mostly》(一个 Harness 买到的是什么?主要是 Token)给出的实证答案。
同一模型同一任务,三个 Harness 的成本相差最多 3 倍,差距来自每步重发的系统提示与工具说明。 论文同时给出了另一个被通过率掩盖的事实:Harness 真正决定的不是分数,是账单。
唯一显著的 Harness 效应是"输"而非"赢":输出上限截断、上下文溢出、超时——全是丢任务的方式,没有一种是赢任务的方式。 而厂商自家框架跑自家模型,并无"主场优势"。
论文给出评测分辨力标尺:45 个任务只能以一半概率捕捉 12.9 个百分点的差距,447 个任务才能分辨 5.2 个百分点——大量已发布的框架增益,其实落在噪声以内。 对金融业而言,这是采购、选型与评测纪律的一份"清醒剂"。
一、论文是怎么做的:把"重跑噪声"变成尺子
论文作者 Yangze Liu、Zhongyi Han(山东大学)做了迄今控制最严格的 Harness 对比:
- 三个生产级 Harness,版本锁定:Claude Code 2.1(最重:长系统提示、类型化工具、自动压缩)、mini-SWE-agent 2.4.6(最轻:只有 bash 工具、无上下文管理,约 100 行 Python)、OpenCode 1.18(中等:类型化工具、自动压缩);
- 五个模型:Qwen3.6-35B-A3B、Qwen3.8-27B(本地 vLLM 服务)、DeepSeek-V4-Flash、GLM-5.3-Flash、HY4-Preview(厂商 API),外加 Claude Opus 5 作为最强锚点(只在 Claude Code 内运行);
- 任务集:SWE-bench Verified 492 个可用任务,拆成两个不相交集合——hard45(两档最难任务的全体,45 个)与 pool447(其余 447 个);
- 关键设计:同一配置重跑(rerun)用来校准"什么都不变、只是再跑一次"的分数波动;所有运行离线、统一价格表核算每任务成本;Harbor 容器编排、每格首轮计分。
这套设计的价值:以往对比研究每格只跑一次,无法区分"8 分差距来自框架还是来自运气";本文用重跑数据做尺子,把 Harness 差距放在噪声旁边读。
二、同样的 Harness,模型有大影响吗?——有,且远超 Harness
任务结果翻转率(hard45 中位数):换模型 22%,换 Harness 13%,重跑同配置 13%。 三者放在同一把尺子上,结论一目了然:换 Harness 带来的结果变化,与"把同一个配置再跑一遍"相当;而换模型带来的变化,几乎是前两者的两倍。
通过率的绝对差距更直观:Claude Opus 5 在 Claude Code 内拿到 36/45(80%),而其余五个模型在同级任务上只有 24%–58%(Qwen3.6 24–33%、Qwen3.8 38–44%、DeepSeek-V4-Flash 42–49%、GLM-5.3-Flash 40–49%、HY4-Preview 47–58%)。模型能力是天花板,框架只能在它附近波动。
翻转的可复制性验证了"真效应"归属:换模型时,10/15 个任务两次运行同向翻转(可复制的真效应);换 Harness 时,5 个任务同向、7 个反向——和抛硬币没有区别。也就是说,不存在"Harnes A 稳定赢 Harnes B 的任务集"。
三、同样的模型,Harness 有大影响吗?——通过率没有,成本有
通过率:等于重跑噪声
- 447 任务池:最重的 Claude Code 与最轻的 mini-SWE-agent 相差仅 -1.8 个百分点(Qwen3.6)与 -1.4(Qwen3.8),90% 置信区间完全落在 ±5 以内 → 统计上等价;
- 45 个最难任务:三 Harness 差距 2–5 个任务,与重跑差距(最多 3 个任务)同级;所有配对差异的置信区间覆盖 0;排序不稳定——mini-SWE-agent 在 3 个模型上领先、Claude Code 在另 2 个上领先;
- 唯一显著的是损失:OpenCode 在 447 池落后 4.7–9.2 个百分点。归因清楚:一半差距来自输出上限截断且无恢复机制(Qwen3.8 有 33 个试次被截断,Claude Code 遇到同一上限会重新提示模型继续,只丢 1 个);另一半与"模型在 OpenCode 下更早停止"(中位数 28 次模型调用 vs mini 71 次 vs CC 55 次)相关。其他失败模式同理:mini-SWE-agent 无压缩导致上下文溢出、OpenCode 搜索工具离线不可用、超时——每一种可测量的 Harness 效应都是"输任务",没有一种是"赢任务"。
成本:最多 3 倍,机制可精确拆解
同模型同任务(GLM-5.3-Flash),每任务成本:Claude Code 1.81 元、mini-SWE-agent 0.97 元、OpenCode 0.56 元。成本拆解为三项:
- 每步重发的固定前置(preamble):系统提示 + 工具 schema——Claude Code 16,581 tokens、OpenCode 7,025、mini-SWE-agent 仅 829,每一步都重新支付;
- 步数:DeepSeek-V4-Flash 上 mini 走 141 步、Claude Code 104 步;Qwen3.6 上 OpenCode 只走 28 步——"每步重量"与"步数"互相抵消,哪个占主导取决于模型;
- 缓存输入定价:GLM 缓存价 0.287×(缓存转录本占 GLM 账单大头)、DeepSeek 0.033×(输出成为大头)——价格只缩放账单,不改变三者的排序。
定义论文结论原话:"Harness 买到的是更少的输法,和一张账单——而不是通过率。"
四、论文的"反直觉"发现:主场无优势,消融无差异
- 厂商自家框架无主场优势:DeepSeek 的 dsh 跑 DeepSeek-V4-Flash 得 21/45,与 Claude Code 相同、比 mini-SWE-agent 少 1 个;成本还略高于 Claude Code。
- 消融几乎不动分数:去掉 Claude Code 的文件编辑工具(让模型用 bash 改文件)、去掉 shell,通过率变化都在 1 个任务以内;换回一年前旧版本(1.0.100)分数也不变,成本反而降到 0.44 倍。
- 唯一有线索的交互是"推理开关":在 Qwen3.6 上关掉 thinking,mini-SWE-agent 掉 11 分(p=0.04)、Claude Code/OpenCode 只动 2–3 分;在 HY4 上同一开关在 Claude Code 内也掉 11 分——推理依赖是"模型×Harness 配对"属性,不是模型单独属性。
- 评测分辨力标尺(对行业最重要):45 个任务只能以一半概率捕捉 12.9 个百分点差距、80% 功率下捕捉不到任何差距;447 个任务才能分辨 5.2 个百分点。而十次重跑同一配置本身散开 2.2–6.0 个百分点——厂商宣传的 2–3 分增益,多数在噪声内。论文建议:报告任何 Harness 差距时,必须附上同一配置的第二次运行作为对照。
五、对金融业的启示:把预算与评测纪律放在对的地方
- 采购选型别为"通过率营销"买单。 要求候选 Harness 提交"同配置重跑 ≥2 次 + 置信区间",而不是单次跑分的点估计;单次几十个任务的"胜出"直接判为噪声。
- 预算优先投向模型升级。 换模型的翻转率(22%)是换框架(13%)的近两倍,模型是能力的上限——同一笔钱,升级基座模型版本比折腾框架收益大。
- 选框架要审计"失败模式"而非演示分。 输出上限有无恢复机制、上下文有无压缩、超时如何处理、工具离线是否可用——这些才是生产环境的真实输法。对应我此前写的 LongHorizon-Harness 一文:三权分立、检查点续跑、"只有独立验证的事实才进状态",本质都是消灭"输任务的方式"。
- 成本工程是真实战场。 银行智能体动辄数千并发任务,3 倍成本差就是运营费用的量级差异;建立"每任务 Token 账单"核算,重点盯首轮前置大小、每步增速、步数三项,善用缓存定价与精简系统提示——银行重复性任务多、缓存命中率高,降本立竿见影。
- 准入评测的任务池规模要有依据。 按论文分辨力标尺:想分辨 5 个百分点以上的框架差异,任务池要接近 447 的量级;银行智能体准入测试的任务设计与样本量,应据此规划,避免"小样本断言大结论"。
- 切换框架后必须重测推理配置。 thinking/推理开关的效果随"模型×框架"配对变化,沿用旧框架的调参结论在新框架上可能失效——把推理参数纳入每次框架变更的回归测试。
结语
这篇论文用最笨也最可靠的办法(重跑校准 + 统一账单)回答了一个被营销淹没的问题:模型买的是能力,Harness 买的是账单和"不输"。对金融业来说,这意味着一句朴素但昂贵的结论——把预算花在模型升级上,把评测纪律建立在重跑与置信区间上,把选型目光放在失败模式与成本工程上。谁先做到这三点,谁的大规模智能体部署就能少交学费。
["https://arxiv.org/abs/2610.04433","https://arxiv.org/pdf/2610.04433","https://github.com/YangzeLiu/what-does-a-harness-buy"]
参考文献
- arXiv:2610.04433——What Does a Harness Buy? Tokens, Mostly(2026-10-03) [arXiv]
- 论文 PDF:What Does a Harness Buy? Tokens, Mostly [arXiv]
- 论文代码与数据:YangzeLiu/what-does-a-harness-buy [GitHub]
- OpenAI: Introducing SWE-bench Verified(评测基准) [OpenAI]
- SWE-agent: Agent-computer interfaces enable automated software engineering(mini-SWE-agent 来源) [GitHub(SWE-agent 团队)]