
mini-swe-agent 运行 SWE-bench-verified 操作指南1. 安装# 进入项目目录cd/{path}/mini-swe-agent# 安装开发模式pipinstall-e.安装后会得到两个 CLI 命令mini交互式和mini-extra批量评测等工具。2. 核心命令跑 SWE-bench-verified 的核心命令是mini-extra swebenchmini-extra swebench\--subsetverified\--splitdev\--slice0:5\-manthropic/claude-opus-4-6-20260205\-cswebench.yaml\-o./results_verified参数说明参数说明--subset verified指定 SWE-bench-verified 数据集对应 HuggingFace 上的princeton-nlp/SWE-Bench_Verified--split dev数据集 split默认dev--slice 0:5只跑前 5 条 instance用于快速测试去掉则跑全部-m/--model模型名称支持 litellm 的所有后端Anthropic、OpenAI、OpenRouter 等-c/--config配置文件默认swebench.yaml-o/--output输出目录存放preds.json、轨迹文件和日志-w/--workers并行 worker 数量默认单线程--filter正则过滤 instance ID--redo-existing覆盖已有结果重新跑3. 单条 Instance 调试如果只想跑某一条 instance 调试mini-extra swebench-singleinstance-id\-manthropic/claude-opus-4-6-20260205\-cswebench.yaml单条模式参数说明参数说明-i/--instanceinstance ID 或索引数字-y/--yolo无需确认自动执行--exit-immediatelyagent 想结束时直接退出不弹确认提示-l/--cost-limit成本限制美元设为 0 表示不限制-o/--output轨迹输出文件路径4. 批量运行 SWE-bench-verified小批量测试推荐先跑几条验证流程mini-extra swebench\--subsetverified\--splitdev\--slice0:3\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-o./results_verified_test\-w1全量运行mini-extra swebench\--subsetverified\--splitdev\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-o./results_verified_full\-w4只跑特定项目如 djangomini-extra swebench\--subsetverified\--filter^django__\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-o./results_verified_django\-w45. 输出结果结构运行结束后输出目录结构如下results_verified/ ├── preds.json # SWE-bench 标准格式的预测结果 │ # 可直接用于官方评测脚本 ├── exit_statuses_1234567890.yaml # 各 instance 的退出状态 ├── minisweagent.log # 完整运行日志 └── django__django-11011/ # 每个 instance 一个目录 └── django__django-11011.traj.json # 完整交互轨迹preds.json 格式{django__django-11011:{model_name_or_path:anthropic/claude-sonnet-4-5-20250929,instance_id:django__django-11011,model_patch:diff --git a/django/... ...},...}6. 使用官方 SWE-bench 评测得到preds.json后用 SWE-bench 官方工具评测# 安装 swe-bench 评测工具pipinstallswebench# 运行评测python-mswebench.harness.run_evaluation\--dataset_nameprinceton-nlp/SWE-Bench_Verified\--predictions_path./results_verified/preds.json\--max_workers4\--run_idverified_eval7. 完整实操流程总结# Step 1: 进入项目目录并安装cd/{path}/3rd/mini-swe-agent pipinstall-e.# Step 2: 设置 API KeyexportANTHROPIC_API_KEYsk-...# Step 3: 单条调试验证流程是否正常mini-extra swebench-single\--subsetverified\--instance0\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-y\--exit-immediately# Step 4: 小批量测试跑5条看看效果mini-extra swebench\--subsetverified\--slice0:5\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-o./results_verified_5\-w1# Step 5: 全量运行mini-extra swebench\--subsetverified\-manthropic/claude-sonnet-4-5-20250929\-cswebench.yaml\-o./results_verified_full\-w4# Step 6: 官方评测python-mswebench.harness.run_evaluation\--dataset_nameprinceton-nlp/SWE-Bench_Verified\--predictions_path./results_verified_full/preds.json\--max_workers48. 常见问题问题解决Docker 镜像拉取失败确保已安装 Docker或改用--environment-class singularityAPI 调用超时/失败检查 API Key或调整model_kwargs中的参数想换模型修改-m参数支持 litellm 的所有模型格式如openai/gpt-4o想修改 system prompt复制swebench.yaml修改system_template用-c指定新配置9. 离线使用方法9.1 为什么需要联网完整流程中以下步骤需要网络连接Agent 运行阶段mini-extra swebench从 HuggingFace 下载 SWE-bench 数据集拉取 SWE-bench Docker 镜像调用大模型 API评测阶段swebench.harness.run_evaluation拉取 Docker 评测镜像容器内安装依赖部分需要从 PyPI 下载9.2 离线替代方案如果你处于离线环境可以预先拉取镜像# 1. 先在有网环境列出所有需要的镜像python-c from datasets import load_dataset ds load_dataset(princeton-nlp/SWE-Bench_Verified, splitdev) for inst in ds: iid inst[instance_id].replace(__, _1776_) print(fdocker.io/swebench/sweb.eval.x86_64.{iid}:latest.lower()) images.txt# 2. 批量拉取catimages.txt|xargs-I{}dockerpull{}# 3. 保存镜像可选用于迁移到离线机器dockersave$(catimages.txt|tr\n )-oswebench_images.tar然后在离线机器上# 加载镜像dockerload-iswebench_images.tar9.3 简化验证不跑完整测试如果只是想验证 agent 生成的 patch 格式正确不跑完整 SWE-bench 评测# 本地验证 preds.json 格式是否正确python-c import json with open(./results_verified_full/preds.json) as f: preds json.load(f) print(f共生成 {len(preds)} 个 patch) for k, v in list(preds.items())[:3]: print(f{k}: patch长度{len(v[\model_patch\])}) 注意这不能替代官方评测官方评测是唯一准确判断 patch 是否正确修复了 issue 的方式。10. 数据集映射mini-extra swebench支持的数据集 subset 名称Subset nameDatasetfullprinceton-nlp/SWE-Benchverifiedprinceton-nlp/SWE-Bench_Verifiedliteprinceton-nlp/SWE-Bench_Litemultimodalprinceton-nlp/SWE-Bench_Multimodalmultilingualswe-bench/SWE-Bench_MultilingualsmithSWE-bench/SWE-smithrebenchnebius/SWE-rebench