Multi-SWE-bench
用 Docker 验证多语言代码修复补丁的议题解决基准。
按维度查看评分与理由
证据显示这是一个基准测试框架,不涉及权限管理、用户确认、数据流透明性或敏感数据处理。没有提供安全审计或依赖漏洞扫描的证据。外部影响主要是运行Docker容器,但未说明权限控制或回滚机制。来源归属明确为ByteDance Seed团队,但发布者未经验证。因此,所有信任标准得分为0。
自洽性:README中的描述与配置示例一致,但未提供代码级验证。依赖可用性:依赖Docker和Hugging Face数据集,这些是公开可用的,但未提供版本锁定或镜像校验。失败消息:配置中提供了日志目录和错误处理选项,但未提供详细的错误消息示例。因此,自洽性得2分,依赖可用性得2分,失败消息得2分。
受众和场景:明确面向研究者和开发者,用于评估LLM在代码问题解决上的表现。能力边界:描述了评估框架的功能,但未明确限制。触发精度:提供了详细的配置参数,但未说明触发条件。环境适配:需要Docker,提供了安装指南,但未说明其他环境要求。因此,各得2分。
信息架构:README结构清晰,包含安装、评估、配置等章节。安装说明:提供了make install和make install-dev。命名稳定性:项目名称和命令稳定。示例和FAQ:提供了配置示例,但无FAQ。已知限制:未明确列出。许可证:Apache-2.0,完整LICENSE文件。版本和变更日志:有新闻更新,但无正式变更日志。维护责任:明确为ByteDance Seed团队。因此,信息架构、安装说明、命名稳定性、示例和FAQ、维护责任得2分,已知限制得1分,许可证得3分,版本和变更日志得1分。
输出可用性:评估生成final_report.json,提供结果摘要。边际价值:填补了多语言基准的空白,具有研究价值。成本效益:需要Docker和计算资源,但提供了mini版本以降低成本。因此,各得2分。
声明可追溯性:README引用了arXiv论文和Hugging Face数据集,但未提供代码级验证。跨来源佐证:提供了多个外部链接(arXiv、Hugging Face、Discord),但未提供独立验证。事实与推断分离:README区分了事实(如数据集规模)和推断(如“加速AGI”),但未明确标注。因此,各得2分。
- 发布者身份未经验证,应视为未知。
- 未提供安全审计或依赖漏洞扫描的证据。
- 运行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 中查看。
- 研发团队为内部代码修复系统准备多个候选
fix_patch,需要在 Java、Go、Rust、C/C++ 等任务上统一验收时。 - 研究人员比较不同模型或修复框架的议题解决结果,并希望将每次运行保存在可复现的 Docker 环境中时。
- 负责评测流水线的工程师需要只运行指定 PR ID,或通过
skips排除已知不应执行的实例时。 - 构建强化学习软件工程数据的贡献者需要参考 Multi-SWE-RL 社区提供的快速开始和贡献演示时。
- 计算资源有限的团队想采用 README 所列的 400 实例 mini 集合或 300 实例 flash 集合进行较快评测时。
这个 Agent 有哪些优点和局限?
- 明确覆盖七种非 Python 为主的编程语言,适合补足 Python 中心的修复评测。
- 评测直接接收包含
fix_patch的 JSONL,可将现有修复系统的产物接入而无需采用特定代理框架。 - Docker 镜像支持预下载或按需构建,并提供构建和实例运行的独立并发配置。
- 结果同时提供
final_report.json汇总和日志目录,便于定位未解决实例与错误原因。
- 运行依赖 Docker,并且缺失镜像时会在评测期间构建,环境准备和执行时间可能成为采用成本。
- 使用者必须自行提供候选补丁 JSONL 和数据集 JSONL;README 未说明可直接调用的在线评测服务。
- 补丁应用可能失败;README 专门给出以
patch --batch --fuzz=5替代git apply的兼容性配置。 - README 展示的是评测命令和配置,而非用于生成修复补丁的内置代理接口。
如何安装或部署这个 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 与同类方案有什么区别?
README 将其定位为区别于以 Python 为中心的 SWE-bench 的多语言议题修复基准,并说明项目参考并构建于 SWE-bench 的工作之上。
常见问题
它会自动为我生成代码修复吗?
fix_patch:输入候选补丁与数据集,运行 harness 并输出解决情况;未记录内置补丁生成接口。运行一次需要什么凭据?
补丁不能用 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 调整并发。