跳到正文
RadarAI· The Decoder:AI News(RSS)·· 1 天前AI 评分72

山东大学研究:花哨的 coding agent harness 更贵但并不能提升成绩

AI 导读

山东大学两位研究者让 Qwen3.6、Qwen3.8、Deepseek-V4-Flash、GLM-5.3-Flash 和 HY4-Preview 五个模型分别在 Claude Code。

正文 · AI 翻译

The Decoder:AI 新闻· Jonathan Kemper·2026-10-24 17:21· 2 小时前AI 评分71

研究发现,花哨的 harness 让编码智能体更贵,但并没有更好

AI 导读

山东大学研究者让五个模型在 Claude Code、OpenCode 和 mini-SWE-agent 三个 harness 下跑 SWE-bench Verified 任务,发现换 harness 的结果波动与重复运行同一配置相当,成本却最多可达三倍。

正文 · 原文

Jonathan Kemper

Oct 24, 2026

Image description

Nano Banana Pro prompted by THE DECODER

厂商宣称 Claude Code 或 OpenCode 等新型智能体 harness 带来了分数提升。一项研究发现这一说法站不住脚。更换 harness 对结果的影响几乎不超过同一配置运行两次,但成本可能增至三倍。

编码智能体将语言模型与 harness 配对,harness 包括系统提示词、工具和上下文管理,使模型能在代码仓库中工作。新的 harness 每天都在发布,排行榜随意混用它们,但山东大学的两位研究者测量了在模型保持不变时 harness 究竟有多重要。论文标题已经给出了答案:“harness 买到了什么?主要是 token。”

早期的比较测的是噪声

作者称,此前研究报告了 harness 之间超过 20 分的差距,但这些数字几乎都来自单次运行。同一配置的纯重复运行在 SWE-bench Verified 上就已经有最多 6 分的波动。例如,Zhipu AI 宣传其自家 harness 领先 Claude Code 2.4 分,这一差距完全落在该噪声范围内。harness 还常常以不同方式接入基准测试,使比较更加不可靠。

Liu 和 Han 让五个模型在三个 harness 的发布版本中运行:Claude Code、OpenCode 和 mini-SWE-agent。mini-SWE-agent 只给模型一个 Bash 工具,并跳过上下文管理。Claude Code 和 OpenCode 提供专门的文件和搜索工具、长系统提示词以及自动历史压缩。

所用模型为 Qwen3.6、Qwen3.8、Deepseek-V4-Flash、GLM-5.3-Flash 和 HY4-Preview。Claude Opus 5 仅作为参考在 Claude Code 中运行。测试使用了 SWE-bench Verified 中最难的 45 个任务,外加另外 447 个任务的池子。若干配置运行了两次以测量噪声。

所有运行均离线进行。在可访问网络的早期测试中,Deepseek 和 Qwen 模型的尝试有 71% 直接从 GitHub 拉取了正确的修复,而不是自行解决任务。Claude 模型几乎从不这样做。研究者丢弃了这些结果,并且不声称任何厂商在测试数据上训练过,但这一模式足够明显,以至于他们切断了所有剩余运行的网络访问。

更换 harness 对结果的影响与重跑一次差不多

在更大的 447 个任务池上,Claude Code 和 mini-SWE-agent——最重和最轻的 harness——对两个受测模型而言差距不到两分。在五分区间内,它们在统计上等效。

Two-part chart. Left: scatter plot of input tokens per task vs. pass rate on 45 hard SWE-bench tasks for six models across Claude Code, mini-SWE-agent, and OpenCode. Right: pairwise pass-rate differences between harnesses with 95 percent confidence intervals.
三个 harness 每个模型消耗的 token 是最精简选项的两到三倍,但通过率仍处于测量不确定度之内。只有 OpenCode 在大任务池上的差距具有统计显著性。| 图片:Liu & Han

研究人员原本预计,测试框架(harness)带来的最大影响会体现在最难的 45 个任务上。但实际情况是,不同框架在每个模型上解决的任务数只相差两到五个,而同一套设置简单重跑一次,结果就会变动最多三个任务。有时 mini-SWE-agent 领先,有时则是 Claude Code 领先。

翻转率也说明了同样的问题。在两次重跑之间,中位结果在 13% 的任务上发生变化。在两个不同框架之间,这一比例同样是 13%。而更换模型则会把这一比例推高到 22%。某个框架能赢下哪些任务,每次运行都会变化,如同抛硬币。作者写道,框架之间的差距表现得就像“对同一噪声的重新抽样”。

Dot plot comparing the share of tasks whose outcome flips across three conditions: same-harness rerun, harness swap, and model swap. Medians land at 13, 13, and 22 percent.
更换框架导致任务级结果翻转的频率,与简单重跑一次大致相当,而更换模型带来的变化则大得多。| 图片:Liu & Han

这些小样本量也限制了任何比较能够检测出的差异。在 45 个任务下,即便是 13 个百分点的差距也只有一半的概率能被发现。在 447 个任务下,约 5 个百分点的差距才能被可靠检测到。智谱声称的 2.4 个百分点优势低于这两个阈值,许多其他宣传的改进也同样如此。

所有框架表现相同,唯独 OpenCode 落后

唯一可测量的框架效应是 OpenCode 持续存在的劣势。在较大的任务池上,它落后于另外两个框架最多达 9 个百分点。其中约一半的差距可追溯到输出上限。当模型在推理过程中某一步超出该上限时,Claude Code 会提示它继续,而 OpenCode 则让该步骤就此结束,这次尝试通常以失败告终。

给 OpenCode 加上类似 Claude Code 的续写提示并没有帮助,因为同一个任务在重试时很少触发同样的溢出。至于差距的其余部分,作者没有给出解释,只给出了一项观察:在 OpenCode 下,模型会早得多地停止工作。在本地运行的模型上,OpenCode 的时间限制也比 Claude Code 严格得多,作者将其标记为一个未受控制的变量。

mini-SWE-agent 因为缺乏上下文管理而会撞上上下文窗口,主要发生在其他框架也失败的任务上。OpenCode 的搜索工具在首次使用时会尝试下载一个二进制文件,离线时就会出错。

Stacked bar chart showing for each model and harness the share of passed tasks, regular failures, output-token cutoffs, context overflows, step/time limits, and infrastructure failures, split by hard45 and pool447.
在 Qwen3.8 上,OpenCode 的某些运行会触及输出上限,而没有上下文管理的 mini-SWE-agent 则更常撞上上下文窗口。| 图片:Liu & Han

系统提示词和工具描述决定了开销

在相同模型、相同任务和相同价目表下,单个任务的成本因框架不同最高可相差三倍。工具输出几乎无法解释这一差距。三个框架每次调用返回的文本量相近。

真正的差异来自系统提示词和工具描述。它们会在每一步被重新发送,Claude Code 约为 16,600 个 token,OpenCode 约为 7,000 个,而 mini-SWE-agent 不到 1,000 个。根据研究人员的逆向分析,Claude Code 还会将模型的推理输出保留在对话历史中。

Two line charts showing input tokens per model call across agent steps for GLM-5.3-Flash and DeepSeek-V4-Flash, with median lines for Claude Code, mini-SWE-agent, and OpenCode.
Claude Code 的起点高得多,因为其约 16,600 个 token 的系统提示词包含了工具定义。此后,三个框架的上下文增长速度相近。| 图片:Liu & Han

在第一次调用之后,所有 harness 的上下文增长速度大致相同。系统提示的大小决定了基线成本,而步数会将其成倍放大。哪个因素占主导取决于模型:使用 GLM-5.3-Flash 时,Claude Code 的成本几乎是 mini-SWE-agent 的两倍。使用 Deepseek-V4-Flash 时,mini-SWE-agent 需要多出很多步,最终两者持平。缓存 token 价格更低会缩小差距,但不会改变排名。

Four bar charts showing tokens and costs per trial in yuan for Claude Code, mini-SWE-agent, and OpenCode on DeepSeek-V4-Flash and GLM-5.3-Flash.
使用 GLM-5.3-Flash 时,Claude Code 中单次试验花费 1.81 元,而 OpenCode 中为 0.56 元。使用 DeepSeek-V4-Flash 时,Claude Code 和 mini-SWE-agent 最终价格大致相同。| 图片:Liu & Han

没有主场优势,围绕思考的开放问题

Deepseek 自家的 harness 搭配自家模型时,得分并不比其他 harness 更好,但成本最高。即使研究人员从 Claude Code 中移除了工具,Claude Opus 5 也给出了完全相同的结果。一年前的版本以不到一半的成本解决了类似数量的任务,因为当时 Extended Thinking 默认未开启。

思考是唯一一个 harness 选择真正改变结果的案例。在不开启思考的情况下,使用 Qwen3.6 的 mini-SWE-agent 下降了 11 分,而 Claude Code 和 OpenCode 的变化在噪声范围内。HY4-Preview 在 Claude Code 中不开启思考时也下降了 11 分。智能体对推理的依赖程度似乎与具体的模型-harness 组合有关。作者承认他们的测试网格太小,无法解释原因。

该研究主要依赖一个基准。在 Terminal-Bench 2.1 上的小型交叉验证显示了相同的模式。闭源顶级模型 Opus 5 仅在 Claude Code 中运行。作者总结道,harness 换来的是“更少的失败方式,以及一张账单,而不是通过率”。他们建议在每次 harness 比较时同时发布相同设置的复跑结果。这是判断测得的差异中有多少只是噪声的唯一方法。数据和分析脚本可在 GitHub 上获取。

在其他研究中,harness 中投入更多精力也很少能带来回报。在一项研究中,一个简单的 Markdown 文件击败了面向 AI 编码智能体的复杂技能系统。早先的一项研究已经表明,框架的选择可以使同一模型的成本几乎增加两倍。因此,harness 设计受到了大量关注。Nvidia 最近通过更好的智能体引导,将其编码智能体的 token 成本削减了近一半。

没有炒作的 AI 新闻——由人工精选

订阅 THE DECODER,享受无广告阅读、每周 AI 新闻通讯、每年六次独家“AI Radar”前沿报告、完整档案访问权限以及评论区访问权限。

立即订阅

  • 完整访问 THE DECODER 上的每篇文章
  • 无广告
  • 加入评论和社区讨论
  • 每周通过邮件获取 AI 新闻摘要
  • 每年 6 次:“AI Radar”——深入探讨最重要的 AI 话题
  • 每日 AI 新闻,始终紧跟最新动态
  • 我们完整的十年档案
  • 由拥有 10 年以上 AI 经验的团队报道

来源:The Decoder:AI News · the-decoder.com

来源:RadarAI · aihot.news