← 最新论文
🤖 AI

When Does Restricting a Coding Agent to execute_code Help? A Regime ×\times Agent-Design Ablation

本文表明,将编码智能体限制在单一的 `execute_code` 工具上,其效果往往与使用丰富的工具环境相当,且通常成本更低,这揭示了最优工具集是由任务机制与特定智能体设计之间的相互作用共同决定的,而非由其中任何一个因素单独决定。

原作者: Hong Yang, Qi Yu, Travis Desell

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

原作者: Hong Yang, Qi Yu, Travis Desell

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

想象一下,你有一个超级聪明的机器人助手,它的工作是修复损坏的代码或解决数学难题。现在,科技界正就这个机器人应该如何与计算机交流以完成任务展开一场巨大的辩论。

有人说:“给它一个功能齐全的工具箱,为每项任务都准备好专门的按钮!”(就像一个高级 IDE)。
另一些人说:“直接给它一个命令行,让它输入 shell 命令就行了!”(就像电影里的黑客)。
第三组人说:“不!让机器人写一段 Python 脚本并一次性运行它就好!”(即 execute_code 方法)。

这篇论文就像是一个巨大的、公正的裁判,通过设置一场比赛来观察哪种方法实际上最省钱且效率最高。他们并没有凭空猜测;他们让同一个机器人(两个不同的模型:Claude 和 Codex)在完全相同的任务上运行,但仅仅改变了它们被允许使用的工具。

以下是他们的发现,通过简单的故事进行了解析。

核心发现:这取决于机器人和任务

最大的惊喜在于:并没有一个单一的“最佳”工具。谁是赢家取决于机器人是谁以及它正在做什么

可以这样理解:

  • “数学谜题”类任务 (Artifact Tasks): 如果机器人是在进行计算或数据处理,那么“编写脚本并运行”的方法(code_only)是明显的赢家。这就像雇佣了一位厨师,他只需写出一个完美的食谱,然后一次性把整顿饭做完。

    • 对于 Claude 机器人,这种方法节省了 24.6% 的成本。
    • 对于 Codex 机器人,它节省了大约 6.7%(尽管论文指出这一结果有些波动,有点像抛硬币的结果)。
    • 结论: 对于数学和数据,脚本方法更便宜,且解决问题的能力同样出色。
  • “修复混乱代码库”类任务 (SWE-bench Tasks): 这类任务比较棘手。它们涉及编辑复杂项目中的许多文件。

    • 如果你使用 Codex 机器人: 脚本方法仍然是冠军!它节省了 19.9% 的成本。为什么呢?因为脚本方法可以让机器人将许多小的请求打包成一个大包裹,就像一辆货运卡车一次运送 50 个包裹,而不是一个人走 50 趟。
    • 如果你使用 Claude 机器人: 哎呀。脚本方法实际上变得更贵了(增加了 14.4%),尽管论文指出这一差异在统计学上并非“确定无疑”,只是一个强烈的趋势。为什么?因为对于 Claude 来说,写一个脚本来编辑文件,就像是为了换个轮胎而先造出一辆新车一样。解释这些编辑操作需要消耗太多的文字(token),产生了“编辑摩擦”。

这篇论文排除了什么

论文明确反对“一种工具界面对所有人始终更好”的观点。

  • 它排除了: “特殊的 IDE 按钮是始终必需的。”(因为脚本方法在 Codex 上胜出了)。
  • 它排除了: “Bash 命令是始终足够的。”(因为在 Claude 处理数学任务时,脚本方法更便宜)。
  • 它排除了: “代码执行始终是最便宜的。”(因为在处理复杂的代码修复时,它对 Claude 来说更贵了)。

作者非常明确:你不能仅仅根据工具本身来选择工具。你必须观察机器人的大脑工作类型之间的组合

“通过率”的惊喜

这里是最重要的一部分:成本发生了变化,但成功率却没有变化。

想象两个跑步者。一个穿着沉重的靴子(昂贵的工具),另一个穿着运动鞋(便宜的工具)。论文发现,两名跑步者完成比赛的速度完全相同。

  • 无论机器人使用的是高级工具箱、bash 命令还是脚本方法,它们正确解决任务的百分比几乎是一样的(差距在 3 个百分点以内)。
  • “脚本”方法并没有让机器人变得更聪明或更笨;它只是改变了机器人走向终点的方式。有时候这种行走是冲刺(便宜),有时候则是踉跄(昂贵)。

为什么成本会发生变化?

论文深入探讨了脚本方法为何更便宜或更贵。

  1. “编辑摩擦”税 (针对 Claude): 当 Claude 需要使用脚本方法来修复文件时,它必须写一段很长的 Python 脚本来仅仅表达“修改第 5 行”。这消耗了大量的“输出 token”(机器人必须输入的文字)。这就像你每次想翻页时都要交一笔过路费。这种情况主要发生在机器人失败或遇到困难的任务中,使得这些特定的运行过程变得非常昂贵。
  2. “批处理”红利 (针对 Codex): 当 Codex 使用脚本方法时,它可以将许多小命令打包进一个脚本中。与其向计算机请求“读取文件 A”,然后再“读取文件 B”,最后“读取文件 C”(三次独立的行程),它会一次性要求“读取 A、B 和 C”。这节省了大量的“输入 token”(机器人需要阅读的文字)。
  3. “注定失败的运行”效应: Claude 在代码修复任务上的额外成本,主要发生在机器人已经注定会失败的时候。这就像一辆车在原地打转时耗尽了汽油。脚本方法并没有导致失败;它只是让失败的尝试变得更贵了。

我们有多确定?

作者对数学任务Codex 机器人结果非常有信心。他们在 93 个数学任务和 100 个代码修复任务上进行了测试,并为每个任务使用了三个“种子”(随机起点),以确保结果不是偶然。Codex 在代码修复任务上的节省具有统计学意义(19.9% 的降幅,p 值为 2.0 × 10⁻⁹,这意味着几乎不可能纯属巧合)。

然而,对于代码修复任务中的 Claude 机器人,结果则有些模糊。成本上升了 14.4%,但统计测试显示这并不是一个“板上钉钉”的证明(p 值为 0.12)。作者称之为“方向性”的结果,意味着趋势确实存在,但他们需要进行更多次的测试才能 100% 确定这不是一次偶然。

总结

如果你正在构建一个编程智能体:

  • 不要靠猜。 “最佳”工具取决于你的特定机器人和你的特定工作。
  • 对于数学/数据: 尝试“编写脚本”的方法。它更便宜,效果也一样好。
  • 对于代码修复: 视情况而定。如果你使用 Codex,脚本方法很棒。如果你使用 Claude,你可能希望保留标准的编辑工具,特别是在处理难题时,因为脚本方法可能会陷入“编辑摩擦”的泥潭。
  • 不要担心智能问题: 改变工具不会让你的机器人变得更聪明或更笨;它只会改变旅程的价格标签。

论文的结论是:运行智能体的“最便宜”方式并不是一个普适的规则;它是一个谜题,你必须将工具与机器人和任务进行匹配。

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

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

试用 Digest →