遇见数据集

Claw-SWE-Bench

收藏
arXiv2026-06-11 更新2026-06-12 收录
官方服务:

资源简介:

Claw-SWE-Bench是由TokenRhythm Technologies等机构联合创建的一个多语言软件工程基准测试数据集,旨在评估OpenClaw等通用智能体在代码任务上的性能。该数据集包含350个真实的GitHub问题解决实例,覆盖Java、Go、Rust、JavaScript/TypeScript、C/C++、Ruby、PHP和Python共8种编程语言,源自SWE-bench-Multilingual和SWE-bench-Verified-Mini两个上游数据集。其构建过程遵循严格的适配器协议,将异构的智能体框架统一到相同的评估工作流中,确保任务集、执行容器、预算和评分管道的标准化。该数据集主要应用于评估和比较不同智能体框架在真实仓库级别编码任务上的解决能力与资源消耗成本,旨在分离模型、框架和任务实例的混淆影响,为编码智能体的公平、可复现比较提供基准。

Claw-SWE-Bench is a multilingual software engineering benchmark dataset jointly created by TokenRhythm Technologies and other collaborating institutions, designed to evaluate the performance of general AI Agents such as OpenClaw on code-related tasks. This dataset contains 350 real-world GitHub issue resolution instances, covering 8 programming languages including Java, Go, Rust, JavaScript/TypeScript, C/C++, Ruby, PHP, and Python, and is sourced from two upstream datasets: SWE-bench-Multilingual and SWE-bench-Verified-Mini. Its construction follows a rigorous adapter protocol that unifies heterogeneous agent frameworks into a unified evaluation workflow, ensuring standardization of task sets, execution containers, evaluation budgets, and scoring pipelines. This dataset is primarily applied to evaluate and compare the problem-solving capabilities and resource consumption costs of different agent frameworks on real-world repository-level coding tasks. It aims to disentangle the confounding effects of models, frameworks, and task instances, providing a benchmark for fair and reproducible comparisons of coding AI Agents.

创建时间:
2026-06-11
原始信息汇总

数据集概述

数据集名称:Claw-SWE-Bench

数据集链接:https://github.com/opensquilla/claw-swe-bench

数据集描述: 这是一个统一的适配器框架,用于评估不同智能体框架(称为“Claws”)在SWE-bench上的表现。该框架允许通过单一命令运行任何支持的Claw,并确保所有Claw使用相同的提示、补丁收集和评估流程,从而使得框架本身成为可控变量,结果可以在不同Claw之间进行直接比较。

技术报告:该仓库是技术报告《Claw-SWE-Bench: A Benchmark for Evaluating OpenClaw-Style Agent Harnesses on Coding Tasks》的参考实现,论文地址为:https://arxiv.org/abs/2606.12344。

数据集规模

  • 完整基准测试包含 350 个 GitHub Issue 解决实例,涵盖 8 种编程语言
  • 其中 300 个实例来自 SWE-bench Multilingual50 个实例来自 SWE-bench Verified-Mini
  • 论文还定义了一个 Lite 子集,包含 80 个实例,用于低成本迭代实验。

支持的Claw框架

Claw 框架 运行时 进入容器的方式 模型选择方式
openclaw Node.js CLI 绑定挂载 node + 模块 + ~/.openclaw --model(按代理指定)
hermes Python venv 绑定挂载独立 Python + venv --model + claw_configs/hermes/config.yaml 中的提供商
nanobot Python venv 绑定挂载独立 Python + venv claw_configs/nanobot/config.json 配置文件
zeroclaw 单一 Rust 二进制文件 绑定挂载二进制文件 claw_configs/zeroclaw/config.toml 配置文件
generic Python 仓库 (lsdefine/GenericAgent) 绑定挂载仓库 + venv --llm_no 索引指向 claw_configs/generic/mykey.py

系统设计

整体架构分为两层:

  • Claw无关核心claw_swebench/):负责数据集加载、容器生命周期管理、仓库准备、提示渲染、运行端补丁收集与清理、预测/状态持久化以及框架评估。
  • Claw适配器claw_swebench/claws/):每个适配器实现 BaseClawAdapter 接口,包含额外的 docker run 参数(挂载点)、启动后配置、代理生命周期、任务启动、会话备份和用量收集。新增一个Claw只需创建一个新文件并注册即可。

关键公平性与防污染机制(所有Claw强制执行):

  • 相同提示:所有Claw使用 prompts/default.txt 作为长提示,仅 GenericAgent 的 prompts/generic.txt 额外添加3行工具名称指引,其余内容完全一致。
  • 禁止网络查询:提示禁止使用网络;OpenClaw额外有13个工具的拒绝列表(网络/内存/会话/定时任务工具);NanoBot禁用其网络工具;ZeroClaw的流量通过工具过滤代理。
  • 未来提交剥离:所有工作空间在代理启动前会剥离未来的标签/提交、过期reflog并进行垃圾回收,确保无未来提交残留。
  • 运行端补丁收集:补丁始终由运行端在代理退出后通过 git diff 获取,而非代理自行报告,并会去除设置/锁定文件及二进制差异。
  • 逐实例隔离:每个实例使用全新的容器(限制PID和内存);OpenClaw每个实例额外使用一次性代理。

环境配置与运行

主机要求

  • Docker,需预构建 SWE-bench 实例镜像(支持 sweb.eval.x86_64.<instance_id>:latest 或 SWE-agent 的命名方式)。
  • Python 3.10+,执行 pip install -r requirements.txt
  • 官方 SWE-bench 框架安装于独立 venv 中(默认路径 /data/swe-bench-env,可通过 SWEBENCH_VENV 覆盖)。

安装Claw的运行时: 每个Claw的运行时位于主机,并以只读方式绑定挂载到评估容器中。关键环境变量包括:

  • CLAW_PYTHON_HOME:独立 Python 3.12 路径,用于 hermes、nanobot、generic。
  • OPENCLAW_NODE_BIN / OPENCLAW_MODULE_DIR / OPENCLAW_STATE_DIR:用于 openclaw。
  • HERMES_ENV_PATH / NANOBOT_ENV_PATH / ZEROCLAW_BIN / GA_REPO_PATH / GA_ENV_PATH:分别对应 hermes、nanobot、zeroclaw、generic。

配置Claw: 复制示例配置文件并填入API密钥(实际配置文件已加入gitignore): bash cp claw_configs/hermes/config.yaml.example claw_configs/hermes/config.yaml cp claw_configs/nanobot/config.json.example claw_configs/nanobot/config.json cp claw_configs/zeroclaw/config.toml.example claw_configs/zeroclaw/config.toml cp claw_configs/generic/mykey.py.example claw_configs/generic/mykey.py

hermes 和 generic 还会从主机环境读取API密钥(如 OPENROUTER_API_KEYANTHROPIC_API_KEY 等),并自动转发到容器内。

运行推理(补丁生成): bash python3 run_infer.py --claw openclaw --dataset multilingual --run_id openclaw-multi-1 --instance_file config/multilingual_300_instances.txt --timeout 3600

  • --claw:选择Claw框架。
  • --dataset:选择数据集(verifiedmultilingual)。
  • --model--timeout--max_turns:覆盖Claw默认参数。
  • --llm_no:仅对 generic 有效,选择 mykey.py 中的第N个提供商。
  • --workers:并行实例数量(每个实例独立容器)。
  • 重新运行相同的 --run_id 会跳过已完成实例;使用 --no_resume 禁用该功能。

生成产物位于 artifacts/<run_id>/ 目录下,包含每个实例的提示文件、标准输出/错误日志、会话日志、Git补丁、元数据(含令牌用量,如可用)、predictions.jsonlstate.jsonl

运行评估(官方框架): bash python3 run_eval.py --predictions artifacts/openclaw-multi-1/predictions.jsonl --dataset_name SWE-bench/SWE-bench_Multilingual --run_id openclaw-multi-1

每个Claw/运行应使用不同的 --run_id,以避免框架日志冲突。

如何新增Claw

  1. claw_swebench/claws/<name>.py 中创建类,实现 BaseClawAdapter 接口:
    • container_run_args(instance_id):为运行时指定绑定挂载。
    • send_task(...):在容器中启动代理并返回 AgentResult
    • 可选实现 post_container_startcreate_agent/delete_agentbackup_sessioncollect_usageprompt_template
  2. claw_swebench/claws/__init__.py 中注册类,并在 config.pyCLAW_DEFAULTS 中添加默认值。
  3. 保持默认提示不变;仅在必要时添加工具名称指引,并确保其余模板字节相同。

其他注意事项

  • 资源限制:每个容器运行参数为 --pids-limit 300 --memory 8g,可通过 CLAW_PIDS_LIMITCLAW_CONTAINER_MEMORY 覆盖。
  • 代理服务器proxies/claw_configs/zeroclaw/tool_filter_proxy.py):可选的宿端HTTP代理,用于在提供商用量报告不准确时获取精确的缓存/用量记录。
  • 实例列表config/multilingual_300_instances.txtconfig/verified_mini_50.txt 共同构成350个实例的完整集合。80个实例的Lite子集根据成本感知和排名感知程序选出,详见论文。
搜集汇总
数据集介绍
Claw-SWE-Bench 数据集图片
构建方式
Claw-SWE-Bench 的构建源于对现有 SWE-bench 体系的反思与扩展。研究团队从 SWE-bench-Multilingual 和 SWE-bench-Verified-Mini 中筛选出 350 个真实的 GitHub 问题解决实例,覆盖 8 种编程语言与 43 个代码仓库。为消除未来提交泄露对评估公平性的影响,所有非 Python 实例均经过未来提交清理。在此基础上,数据集引入适配器协议,将异构的“爪”(如 OpenClaw、Hermes 等)统一接入标准化的生命周期接口,包括容器管理、任务提示注入、补丁提取与评估流程,从而将智能体框架从实现细节提升为可控实验变量。
特点
该数据集的核心特色在于将智能体框架(即“爪”)作为独立的实验变量进行控制,而非将其与模型或任务混淆。通过固定提示模板、运行时预算、工作空间契约与评估器,Claw-SWE-Bench 允许在相同条件下比较不同爪在编码任务上的表现与运行成本。此外,数据集同时提供全量 350 实例版与低成本的 Lite-80 子集,后者通过成本感知与排序感知的选择方法保留全集的解析率分布、语言覆盖与成本结构,使研究者能够在约四分之一预算下进行快速迭代与回归测试。
使用方法
使用 Claw-SWE-Bench 时,研究者需通过统一的命令行入口 run_infer.py 指定爪的名称、模型标识、超时与并发数。每个实例运行在对应的 Docker 评估镜像中,仓库被重置至基准提交,提示模板从统一模板生成。爪通过适配器协议实现生命周期的五个抽象方法以与基准层交互。运行结束后,补丁从仓库状态导出而非从模型响应中解析,随后由官方 SWE-bench 评估器评分。结果应同时报告 Pass@1、总 API 成本、平均墙钟时长与缓存命中率,以在准确性与成本双轴上进行综合解读。
背景与挑战
背景概述
在通用型智能体(如OpenClaw)日益成为自主工具使用者的浪潮中,其编码能力在真实软件工程任务中的表现仍缺乏可靠度量。现有评估多聚焦于开放式生产率任务或宽泛的智能体排行榜,对仓库级代码修复能力的直接证据极为有限。SWE-bench虽已确立为仓库级编码智能体评估的黄金标准,但其评分契约要求系统输出可应用的补丁文件,而通用智能体本身并不满足这一接口规范。2026年,由TokenRhythm Technologies与多家顶尖高校联合提出的Claw-SWE-Bench应运而生,旨在构建一个多语言、多智能体框架的公平比较基准。该数据集整合了SWE-bench-Multilingual与SWE-bench-Verified-Mini中的350个真实GitHub议题实例,覆盖8种编程语言与43个代码仓库,并通过适配器协议将异构的智能体框架纳入统一的评估管线,从而分离了模型能力、框架设计与任务难度这三个混杂因素,为领域提供了可归因的性能对比基础。
当前挑战
Claw-SWE-Bench所应对的核心挑战在于如何将通用智能体可靠地接入SWE-bench的补丁评分契约。通用智能体通常通过最终文本或结构化消息表示任务完成,而SWE-bench评估器仅读取模型生成的补丁字段,这一接口不匹配导致原生通用智能体无法直接参与评分。构建过程中面临的另一挑战是未来提交可见性作弊问题:对SWE-bench-Multilingual的非Python语言容器进行检查时发现,部分Docker镜像在基准提交后仍暴露了后续Git提交记录,智能体可通过git log等命令窥探未来修复方案,从而污染评估的公平性。此外,不同智能体框架在提示模板、工具接口、超时策略、补丁提取方式上存在显著差异,若不加控制,最终解决率将混淆模型、框架与任务三者之间的因果关系。Claw-SWE-Bench通过适配器层将通用智能体的交互行为约束为具体的仓库编辑操作,并强制统一的工作空间协议、外预算与输出格式,从而将智能体框架从实现细节提升为可控的实验变量。
常用场景
经典使用场景
在软件工程与人工智能的交叉领域中,Claw-SWE-Bench被设计为一个多语言、仓储级别的代码代理评估基准,其经典使用场景在于衡量通用型智能体(如OpenClaw)在真实GitHub问题修复任务中的编码能力。该数据集包含跨越8种编程语言、43个开源仓库的350个问题-修复实例,为科研人员提供了一个标准化的评测协议,将提示模板、运行时预算、工作空间契约与补丁提取过程统一固定,从而使得不同架构的智能体可以在公平条件下进行比较。它通过适配器协议将异构的智能体框架接入统一的评分流水线,成为连接通用智能体与SWE-bench式编码任务的关键桥梁。
解决学术问题
Claw-SWE-Bench的核心学术贡献在于破除了传统SWE-bench评估中将语言模型、智能体框架与任务实例三者混为一谈的混淆困境。以往的研究往往将提示设计、工具接口、超时策略与模型封装为单一系统,导致解析率无法归因。该数据集通过引入可控的'框架轴'变量,使研究者能够独立测量不同智能体框架(如Hermes、ZeroClaw及Generic Agent)在固定模型与预算下的性能差异,揭示了框架选择可导致高达27.4个百分点的解析率波动。这一分离手段重建了代码代理对比实验的因果链条,为理解模型能力与框架设计之间的交互效应提供了坚实的实验基础。
衍生相关工作
Claw-SWE-Bench的提出激发了一系列围绕智能体框架解耦与成本感知评估的后续研究。该基准的工作启发了HAL框架,倡导在准确性-成本-延迟三维空间中进行整体评估;同时,SWE-Effi研究团队借鉴了其对框架-模型纠缠问题的揭示方法,在资源受限条件下重新审视了软件代理系统的有效性。此外,受其Lite子集构造中成本感知与排名感知选择策略的启发,学术界进一步探索了基于锚点集方法的压缩基准技术,例如tinyBenchmarks在语言模型评估中的小样本替代方案。这些衍生工作共同推动了代码代理评估从单一的解析率排行榜向多维度、资源可控的可解释性范式演进。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务