Skip to main content
2026arXiv 2606.12344

Claw-SWE-Bench:让通用 Agent 框架在编程任务上可比较

Claw-SWE-Bench: A Benchmark for Evaluating OpenClaw-style Agent Harnesses on Coding Tasks

TokenRhythm 与 Infinigence AI 提出 Claw-SWE-Bench,一个多语言 SWE-bench 风格基准和适配器协议,将通用 Agent 框架(OpenClaw、Hermes、ZeroClaw 等)约束到相同的执行合约下公平比较。实验揭示一个关键事实:固定模型下,仅改变 Agent 框架可产生最高 27.4 pp 的 Pass@1 差距——与相邻模型层级带来的差距相当甚至更大,这说明框架本身是一等的因果变量,不该被隐藏在模型分数背后。

Mengyu Zheng, Kai Han, Boxun Li, Haiyang Xu, Yuchuan Tian, Wei He, Yunhe Wang, Yu Wang
AI解读Agent 架构基准测试软件工程

论文概览

Claw-SWE-Bench 是 TokenRhythm Technologies 与 Infinigence AI 联合提出的多语言 SWE-bench 风格基准与适配器协议,arXiv 于 2026 年 6 月 10 日发布(2606.12344)。

问题的起点很直接:以 OpenClaw 为代表的通用 Agent 越来越多地被用于生产力工具、浏览器自动化和科学辅助场景,但它们的仓库级编程能力几乎没有直接的量化证据。现有 SWE-bench 风格的评估通常将提示模板、Agent 循环、工具接口、超时策略和补丁提取逻辑打包成一个发布系统,使得最终解决率同时混合了三个因果上完全不同的因素:被评估的 LLM将 LLM 转化为 Agent 的框架、以及被解决的任务实例本身。当一套系统的 Pass@1 比另一套高 10 pp 时,我们无法判断是模型更好、还是框架更好、还是恰好跑了更容易的实例。

Claw-SWE-Bench 的核心贡献是将这三个变量分开——用一套共享的适配器协议和编排器把不同 Agent 框架约束到相同的执行合约,从而使框架本身成为可以独立控制的实验变量。


核心创新

1. 适配器协议:让异构框架共享同一合约

Claw-SWE-Bench 的第一层是适配器协议(Adapter Protocol)。每个支持的框架实现相同的五个抽象方法:

python
create_agent() # 启动 Agent 实例 send_task() # 发送任务(固定提示模板) backup_session() # 备份会话状态 delete_agent() # 清理 Agent 实例 get_docker_args() # 返回 Docker 工作空间配置

共享编排器只通过这五个方法驱动运行,不需要了解底层用的是 Node.js、Python 还是 Rust。更重要的是,候选补丁从仓库状态收集git diff base_commit),而非从 Agent 的最终消息中解析——这把"模型能不能写出格式正确的 unified diff"这个无关因素彻底消除。

这个设计直接产生了一个关键对比:裸适配器(Bare Adapter)vs 完整适配器(Full Adapter)

配置Pass@1补丁应用失败率
裸适配器(仅发送 issue,要求模型直接输出 diff)19.1%69.1%
完整适配器(基于 Git 状态导出补丁)73.4%<1.5%

裸适配器的瓶颈不在于模型无法修改代码,而在于 unified diff 格式极度脆弱:行号差一个、块头多一个空格、尾部换行缺失,补丁就会应用失败。完整适配器把"写 diff 文本"的责任转移给运行器而非模型,应用失败率从 69.1% 骤降至 1.5% 以下,Pass@1 从 19.1% 跳升至 73.4%。这 54.3 pp 的差距,完全来自输出合约的设计,与模型能力无关。

2. 成本感知、排名感知的 Lite 子集构建

全量 350 实例跑一次需要约 15.9 天(3 线程并发),对快速迭代来说成本过高。Claw-SWE-Bench 发布了 Lite-80——从 8 种语言各选 10 个实例,满足以下优化目标:

minx{0,1}350c,lPc(l)(lite)Pc(l)(full)解决率奇偶性+λc,cmax(0,rank violation margin)成对排名铰链+αclogcostclitelogcostcfull成本奇偶性\min_{x \in \{0,1\}^{350}} \underbrace{\sum_{c,l} |P_c^{(l)}(\text{lite}) - P_c^{(l)}(\text{full})|}_{\text{解决率奇偶性}} + \lambda \underbrace{\sum_{c,c'} \max(0, \text{rank violation margin})}_{\text{成对排名铰链}} + \alpha \underbrace{\sum_c |\log \text{cost}_c^{\text{lite}} - \log \text{cost}_c^{\text{full}}|}_{\text{成本奇偶性}}

其中 xi{0,1}x_i \in \{0,1\} 为实例 ii 是否选入 Lite,17 列校准数据(9 个 OpenClaw 模型列 + 8 个跨框架列)提供优化信号。优化方法是每种语言 200 次重启的四分位内 1-swap 局部搜索。

结果令人满意:Lite-80 运行成本约为 Full-350 的 22.9%,但聚合 Pass@1 误差仅 0.4 pp。跨框架验证显示平均绝对差异 1.88 pp,最大差异 3.68 pp(nanobot × Qwen 3.6-flash)。

3. 未来提交清理(Future Commit Contamination Fix)

SWE-bench-Multilingual 的 300 个非 Python 实例中,存在未来提交(base_commit 之后的可达 Git 提交)在某些框架下可被访问的问题,这会虚高解决率。Claw-SWE-Bench 对每个实例移除可达的未来提交,并通过对比 9 个模型验证其效果:

  • 清理后 Pass@1 对所有模型均不高于清理前(方向符合预期)
  • 影响不均匀:Claude Opus 4.7 下降最多(-8.0 pp:84.7% → 76.7%),Kimi K2.6 下降 5.0 pp,部分模型变化约 1 pp

这表明不同模型利用未来提交的程度存在显著差异,统一清理是公平比较的必要前提。


方法论

数据集构成

完整基准由两个上游来源组成:

来源贡献语言
SWE-bench-Multilingual300 个实例Java, Go, Rust, JS/TS, C/C++, Ruby, PHP
SWE-bench-Verified-Mini50 个实例Python
合计350 个实例8 种语言,43 个仓库

五个评估框架

Claw实现特点
OpenClawNode.js唯一具有结构化 JSON 输出协议和工具拒绝列表
Hermes-agentPython(无状态)每次调用完全无状态,无智能体生命周期
ZeroClawRust 单二进制~37 MB,无运行时依赖,原生成本日志
NanobotPython工作空间污染 + 清理(创建 AGENTS.md 等元数据文件)
GenericAgentPython开源基线,固定函数调用工具集

标准化运行配置

所有框架共享相同的外部约束:

  • 每实例 3600 秒挂钟超时
  • 每实例运行 1 次
  • 3 线程并发
  • 每实例从相同任务提示模板实例化
  • 禁止 git add / git commit,禁止修改测试文件
  • 禁止网络检索

Claw-SWE-Bench 系统架构图
Claw-SWE-Bench 系统架构图


实验结果

LLM 轴:固定框架,改变模型(+29.4 pp)

OpenClaw × 9 个模型的扫描结果揭示了令人印象深刻的成本-性能权衡:

模型Pass@1成本 ($)挂钟时长 (s)
GPT 5.578.0%1399.1603.7
Claude Opus 4.777.1%1082.0424.6
GLM 5.173.4%277.0586.8
DeepSeek-V4 Pro71.7%81.3662.3
DeepSeek-V4 Flash70.3%8.2430.0
Qwen 3.6-flash66.0%71.5636.0
Kimi K2.666.9%633.71235.3
MiniMax M2.761.4%196.71165.6
Seed 2.0-mini48.6%19.41153.0

值得关注的是 DeepSeek-V4 Flash:70.3% Pass@1,成本仅 $8.2,比 GPT 5.5 的成本低 170 倍,性能仅低 7.7 pp。相似的解决率可以对应相差数量级的评估成本,这正是报告 API 成本与 Pass@1 并列的价值所在。

框架轴:固定模型,改变框架(+27.4 pp)

5 个框架 × 2 个模型的扫描是本文最核心的发现:

ClawGLM 5.1 Pass@1Qwen 3.6-flash Pass@1GLM 成本 ($)
OpenClaw73.4%66.0%277.0
Hermes-agent71.1%62.6%330.6
ZeroClaw70.3%58.3%383.4
GenericAgent63.1%38.6%85.8
Nanobot60.9%47.4%768.8

在 Qwen 3.6-flash 下,5 个框架产生的 Pass@1 范围是 38.6% ~ 66.0%,差距达 27.4 pp——这比相邻的 Flagship 模型层级之间的差距(如 DeepSeek-V4 Flash 和 Seed 2.0-mini 之间 21.7 pp)更大。

框架的工具接口设计、Agent 循环策略、停止逻辑和工作空间管理方式,单独产生的影响已经能够重新排列系统排名,而不仅仅是压缩或拉伸排名。

模型轴与框架轴的性能对比
模型轴与框架轴的性能对比


启示与思考

我觉得这篇论文做了一件很朴素但非常必要的事情:把"框架"从隐性变量变成显性变量

过去我们谈 LLM 在软件工程上的进展,通常是"GPT-4o 的 SWE-bench 解决率是 X%"这样的表述,隐含假设是框架只是一个透明的载体。但 Claw-SWE-Bench 的数据清楚地表明,框架的贡献量级与模型本身相当——27.4 pp 的框架轴差距,已经是一个完整模型代际的量级。

这有几个层面的含义:

对评估社区的含义:任何 SWE-bench 风格的评测报告,都应该把框架作为一等受控变量明确列出。只报告 Pass@1 不报告框架配置,就像药物临床试验只报告疗效不报告给药方式一样,信息是不完整的。

对框架开发者的含义:补丁提取策略、工具接口设计和停止逻辑这些"工程细节",对最终解决率的贡献不亚于底层模型的选择。从裸适配器 19.1% 到完整适配器 73.4% 的跳跃——54.3 pp——完全来自输出合约的重新设计,模型一行都没换。这说明框架工程还有大量可以挖掘的空间。

对模型开发者的含义:DeepSeek-V4 Flash 以 8.2的成本实现70.38.2 的成本实现 70.3% Pass@1,与 1399 的 GPT 5.5 差距仅 7.7 pp。这一数据暗示,在编程 Agent 场景下,推理效率(缓存命中率、输出 token 效率)可能比原始能力更能决定实际部署的经济可行性。

我唯一觉得值得商榷的地方是单次运行的统计可靠性问题——作者也在局限性部分坦诚地提到这一点。几个百分点的差异在单次运行下无法判断是否显著。未来加入多次运行的方差估计,会让排名结论更加可信。但论文披露的原始 token 数据和缓存命中率,已经为第三方重新计算和审计提供了充分的基础。


参考资料