Multi-SWE-bench

用 Docker 验证多语言代码修复补丁的议题解决基准。

Star 数
★ 364
最近更新
10 个月前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
DockerGitShell / 命令行网络访问本地文件系统
典型场景
研发团队为内部代码修复系统准备多个候选 fix_patch,需要在 Java、Go、Rust、C/C++ 等任务上统一验收时。
不适合
  • 只想评估 Python 单语言任务的团队
  • 无法使用 Docker 或不愿承担镜像构建开销的用户
  • 需要托管评测服务、不想自备补丁与数据集文件的团队

这个 Agent 能做什么,适合哪些场景?

Multi-SWE-bench 是面向真实代码议题修复的多语言评测项目,而不是生成补丁的编程代理。其基准覆盖 Java、TypeScript、JavaScript、Go、Rust、C 和 C++,README 声明完整版包含 1,632 个经专家标注筛选的实例。评测入口为 python -m multi_swe_bench.harness.run_evaluation --config /path/to/your/config.json,输入是候选修复补丁 JSONL 与数据集 JSONL。运行时使用 Docker 构建或复用实例镜像,并在指定目录写出 final_report.json 与日志。项目还关联 Multi-SWE-RL 数据集及 mini、flash 等评测集合,适合需要衡量自动修复系统跨语言表现的团队。

使用者先准备 JSONL 补丁文件;每条记录包含 org、repo、number 和 fix_patch。再提供来自 Multi-SWE-bench 或 Multi-SWE-RL 的数据集 JSONL,并在配置中设置 workdir、output_dir、repo_dir、并发数和日志目录等字段。multi_swe_bench.harness.run_evaluation 按配置执行 evaluation、instance、instance_only 或 image 模式;缺少镜像时会在评测过程中构建镜像,也可用 scripts/download_images.sh、scripts/download_images.ps1 预下载。执行完成后在 output_dir 生成汇总结果 final_report.json,其中包括 resolved_instances、unresolved_instances 等指标,失败详情可从 log_dir 中查看。

  1. 研发团队为内部代码修复系统准备多个候选 fix_patch,需要在 Java、Go、Rust、C/C++ 等任务上统一验收时。
  2. 研究人员比较不同模型或修复框架的议题解决结果,并希望将每次运行保存在可复现的 Docker 环境中时。
  3. 负责评测流水线的工程师需要只运行指定 PR ID,或通过 skips 排除已知不应执行的实例时。
  4. 构建强化学习软件工程数据的贡献者需要参考 Multi-SWE-RL 社区提供的快速开始和贡献演示时。
  5. 计算资源有限的团队想采用 README 所列的 400 实例 mini 集合或 300 实例 flash 集合进行较快评测时。

如何安装或部署这个 Agent?

前提是已安装 Docker;README 未列出 API 密钥或其他凭据要求。执行:

git clone [email protected]:multi-swe-bench/multi-swe-bench.git
cd multi-swe-bench
make install

开发环境可执行 make install-dev。如需预拉取镜像,在 Linux/macOS 上执行 bash scripts/download_images.sh scripts/images_mini.txt、scripts/images_verified.txt 或 scripts/images_rl.txt;Windows 使用对应的 scripts/download_images.ps1。

如何使用这个 Agent?

创建配置 JSON,至少填入 patch_files、dataset_files、workdir、output_dir、repo_dir、log_dir 等路径;补丁文件记录必须含 org、repo、number、fix_patch。然后运行:

python -m multi_swe_bench.harness.run_evaluation --config /path/to/your/config.json

默认配置示例使用 "mode": "evaluation"。完成后读取 output_dir/final_report.json;若补丁应用失败且适用,可在配置中加入 README 给出的 fix_patch_run_cmd,以 patch --batch 替换默认的 git apply。

这个 Agent 有哪些优点和局限?

优点
  • 明确覆盖七种非 Python 为主的编程语言,适合补足 Python 中心的修复评测。
  • 评测直接接收包含 fix_patch 的 JSONL,可将现有修复系统的产物接入而无需采用特定代理框架。
  • Docker 镜像支持预下载或按需构建,并提供构建和实例运行的独立并发配置。
  • 结果同时提供 final_report.json 汇总和日志目录,便于定位未解决实例与错误原因。
局限
  • 运行依赖 Docker,并且缺失镜像时会在评测期间构建,环境准备和执行时间可能成为采用成本。
  • 使用者必须自行提供候选补丁 JSONL 和数据集 JSONL;README 未说明可直接调用的在线评测服务。
  • 补丁应用可能失败;README 专门给出以 patch --batch --fuzz=5 替代 git apply 的兼容性配置。
  • README 展示的是评测命令和配置,而非用于生成修复补丁的内置代理接口。

这个 Agent 与同类方案有什么区别?

README 将其定位为区别于以 Python 为中心的 SWE-bench 的多语言议题修复基准,并说明项目参考并构建于 SWE-bench 的工作之上。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Multi-SWE-bench 当前 46 · 缺口较多 命令行工具免费 ★ 364 10 个月前 Python —
SWE-Bench Pro 55 · 缺口较多 命令行工具免费 ★ 557 1 个月前 Python —
SWE-bench 软件修复基准 45 · 缺口较多 命令行工具免费 + 模型费 ★ 6.1k 2 个月前 Python —
HUD 63 · 存在缺口 命令行工具免费 + 模型费 ★ 323 1 天前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
46/ 100 五分制 2.3 / 5
信任安全 0/29
可靠稳定 9/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示这是一个基准测试框架,不涉及权限管理、用户确认、数据流透明性或敏感数据处理。没有提供安全审计或依赖漏洞扫描的证据。外部影响主要是运行Docker容器,但未说明权限控制或回滚机制。来源归属明确为ByteDance Seed团队,但发布者未经验证。因此,所有信任标准得分为0。

可靠稳定9 / 14 · 3.2/5

自洽性:README中的描述与配置示例一致,但未提供代码级验证。依赖可用性:依赖Docker和Hugging Face数据集,这些是公开可用的,但未提供版本锁定或镜像校验。失败消息:配置中提供了日志目录和错误处理选项,但未提供详细的错误消息示例。因此,自洽性得2分,依赖可用性得2分,失败消息得2分。

适用触发12 / 18 · 3.3/5

受众和场景:明确面向研究者和开发者,用于评估LLM在代码问题解决上的表现。能力边界:描述了评估框架的功能,但未明确限制。触发精度:提供了详细的配置参数,但未说明触发条件。环境适配:需要Docker,提供了安装指南,但未说明其他环境要求。因此,各得2分。

规范维护11 / 18 · 3.1/5

信息架构:README结构清晰,包含安装、评估、配置等章节。安装说明:提供了make install和make install-dev。命名稳定性:项目名称和命令稳定。示例和FAQ:提供了配置示例,但无FAQ。已知限制:未明确列出。许可证:Apache-2.0,完整LICENSE文件。版本和变更日志:有新闻更新,但无正式变更日志。维护责任:明确为ByteDance Seed团队。因此,信息架构、安装说明、命名稳定性、示例和FAQ、维护责任得2分,已知限制得1分,许可证得3分,版本和变更日志得1分。

有效结果9 / 13 · 3.5/5

输出可用性:评估生成final_report.json,提供结果摘要。边际价值:填补了多语言基准的空白,具有研究价值。成本效益:需要Docker和计算资源,但提供了mini版本以降低成本。因此,各得2分。

证据核验5 / 8 · 3.1/5

声明可追溯性:README引用了arXiv论文和Hugging Face数据集,但未提供代码级验证。跨来源佐证:提供了多个外部链接(arXiv、Hugging Face、Discord),但未提供独立验证。事实与推断分离:README区分了事实(如数据集规模)和推断(如“加速AGI”),但未明确标注。因此,各得2分。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 发布者身份未经验证,应视为未知。
  • 未提供安全审计或依赖漏洞扫描的证据。
  • 运行Docker容器可能带来外部影响,但未说明权限控制或回滚机制。
  • 未明确列出已知限制。
  • 未提供正式变更日志。
证据充分度:低 评估于 2026年8月9日 审查版本 24f493f8a103
评估证据 README.mdLICENSE
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.0.0 Multi-SWE-bench v1.0.0 – Benchmark Ready
    发布说明摘录
    This is the first official release of Multi-SWE-bench. ✅ Key Features in v1.0.0: - Fully functional support for running Multi-SWE-bench - Compatible integration with Multi-SWE-RL - Initial stable API and reproducible environment setup Full Changelog: https://github.com/multi-swe-bench/multi-swe-bench/commits/v1.0.0 This version serves as a baseline for future updates and benchmarking extensions.
    在 GitHub 查看 ↗

常见问题

它会自动为我生成代码修复吗?
README 记录的流程是评测已有的 fix_patch:输入候选补丁与数据集,运行 harness 并输出解决情况;未记录内置补丁生成接口。
运行一次需要什么凭据?
README 未列出 API 密钥、模型密钥或账户凭据。它明确要求 Docker;克隆仓库、获取数据集或下载镜像会涉及网络访问。
补丁不能用 git apply 应用时怎么办?
可以在配置中设置 fix_patch_run_cmd,按 README 示例改用 patch --batch --fuzz=5 应用 /home/test.patch 和 /home/fix.patch。
如何缩小评测范围或控制资源?
可用 specifics 指定 PR ID、用 skips 排除实例,并通过 max_workers、max_workers_build_image 和 max_workers_run_instance 调整并发。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents