← 最新论文
🤖 AI

The Scaffold Effect in Coding Agents: Harness Choice as a Hidden Variable in Coding-Agent Evaluation

本文表明,评估框架对编程智能体性能和效率的影响显著——其影响往往超过底层模型的选择本身——通过揭示高达 40 倍的 Token 使用量差异以及与模型无关的失败模式,从而论证了在进行模型比较时,应当同时报告完整的评估框架规范以及 Token/延迟指标。

原作者: Naman Vats, Oleg Golev

发布于 2026-07-28
📖 1 分钟阅读☕ 轻松阅读

原作者: Naman Vats, Oleg Golev

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

机器人编程师背后的隐形之手

想象你正在观看一场烹饪比赛。你看到两位出色的厨师,厨师 A 和厨师 B,都在努力烘焙完美的巧克力蛋糕。评委通常只看最终的蛋糕并说:“厨师 A 做出的蛋糕更好!”但如果评委忘了提到,厨师 A 使用的是一个高科技自动化厨房,那里预先切好了所有食材,并精确到秒地预热了烤箱,而厨师 B 则是在一个尘土飞扬的小屋里,拿着一把生锈的刀和一台坏掉的炉灶工作呢?结果不仅仅关乎厨师的天赋,更关乎他们所处的“厨房”。

在人工智能领域,特别是“编程智能体”(即编写软件的 AI 程序)领域,我们一直都在做同样的事情。我们一直在根据 AI 解决了多少编程问题来对模型进行排名,却忽略了它们所处的“厨房”。这个厨房被称为执行环境(Harness)。可以将执行环境想象成一个隐形的助手,它为 AI 提供工具、管理内存,并决定何时停止工作。有些执行环境就像是一个高效的机器人管家,完美地组织一切;而另一些则像是一个混乱的实习生,不停地重复问同样的问题,浪费时间和精力。研究人员提出的重大问题是:AI 的大脑更重要,还是它的助手的质量更重要?

伟大的“厨房”实验

一组研究人员决定不再靠猜测,而是开始进行测量。他们设计了一个大规模实验,旨在观察在保持“厨师”(AI 模型)完全相同的情况下,更换“厨房”(执行环境)会发生什么。他们选择了两个非常聪明的 AI 编程模型——Qwen 3.6 PlusMiniMax M2.5,并让它们解决 50 个不同的编程谜题。但转折在于:他们让这些相同的模型通过三个不同的开源执行环境运行,分别名为 GooseOpenCodeOpenHands-SDK

结果简直令人震惊。

当研究人员观察 AI 解决问题的数量(“通过率”)时,不同执行环境之间的差异微乎其微。无论 AI 使用的是 Goose、OpenCode 还是 OpenHands-SDK,它解决问题的数量大致相同——通常在 38% 到 50% 之间。更换执行环境并没有让 AI 突然变成天才或失败者;成功率基本保持平稳。

然而,当他们观察解决这些问题的成本时,情况发生了彻底的变化。研究人员以“Token”来衡量,这基本上是 AI 处理的数据单位(类似于单词或代码片段)。他们发现,执行环境的选择使成本产生了惊人的 40 倍差异。

为了让你更有概念:如果 Goose 执行环境帮助 AI 用大约 28,000 个 Token 完成了一个谜题,那么 OpenCode 执行环境会让同一个 AI 为了解决同一个谜题而使用超过 110 万个 Token。对于同样的结果,成本差异高达 40 倍!这就像一位厨师用一颗鸡蛋就能烤好蛋糕,而另一位厨师因为厨房工具效率低下,竟然用了 40 颗鸡蛋来烤出同样的蛋糕。

“空转”税

为什么成本会上升这么多?研究人员发现了一个隐藏的罪魁祸首:空转(Idle Turns)

想象你正在和一个试图修理你电脑的朋友聊天。有时,他们只是坐在那里思考,“嗯,让我检查一下……”而实际上并没有输入任何内容或在屏幕上做任何改变。在 AI 世界中,这些被称为“无动作回合(No-action turns)”。OpenCode 执行环境让 AI 在这些思考循环中停留了大约 每次任务 2 次,而 Goose 执行环境在这些情况下仅发生约 0.2 次

每当 AI 进入这种循环时,它都必须将整个对话历史重新发送回服务器,以记录它所处的位置。这就像每次停下来思考时,都要寄出一本 100 页的日记一样。因为 OpenCode 让 AI 如此频繁地停顿和思考,它以极高的速率消耗着 Token。研究人员称之为“单任务等待税(Per-task wait tax)”。这不仅是金钱上的成本,也是时间上的成本。观察 AI 的人类开发者必须在这些空转中等待,盯着一个什么也没做、只是在白白烧钱和消耗耐心的屏幕。

失败的“指纹”

研究还发现,每个执行环境都有其独特的失败方式,就像指纹一样。这些模式并不取决于使用了哪种 AI 模型,而是由执行环境本身造成的。

  • Goose 是谨慎型的。当它卡住时,它会停下来并说“我做不到”,而不是瞎猜。它很少浪费时间去验证一个错误的念头。
  • OpenHands-SDK 是执着的。它会不断尝试验证其答案或持续运行,直到达到它能尝试的硬性限制(“最大回合数”限制)。
  • OpenCode 则是容易陷入循环的。它要么会耗尽时间(“墙钟时间/Wall-time”限制),要么会陷入“挂起(Hang)”状态,原地打转却始终无法完成任务。

这意味着,如果你是一名开发者,你不仅仅是在选择一个 AI,你还在选择一种失败的风格。你是想要一个会快速且诚实地放弃的 AI,还是一个会一直原地打转直到耗尽你耐心的 AI?

核心启示

这篇论文的主要教训是,我们看待 AI 编程基准测试的方式完全错了。我们一直在对 QwenMiniMax 这样的模型进行排名,仿佛它们是唯一重要的因素。但这项研究表明,执行环境(Harness)(厨房)与**模型(Chef)**同样重要。

如果你想知道一个 AI 实际上会花你多少钱,或者完成一项工作需要多长时间,你不能只看模型的名称。你必须观察组合:即该模型及其运行的执行环境。一个处于糟糕执行环境中的聪明模型,其成本可能是处于优秀执行环境中的聪明模型的 40 倍。

研究人员建议,在未来,我们不应仅仅报告“通过率(Pass Rate)”。我们需要报告每个解决任务的成本空转次数以及失败模式。因为对于真正的开发者来说,一个成本为 1 美元的 50% 成功率与一个成本为 40 美元的 50% 成功率之间的区别,就是“有用工具”与“吞金黑洞”之间的区别。这种“脚手架效应(Scaffold Effect)”是真实存在的,是时候停止忽视那只引导着机器人的隐形之手了。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →