
SWE-RL之Agentless Mini入门快速掌握本地化、修复、重排全流程【免费下载链接】swe-rl[NeurIPS25] Official codebase for SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution项目地址: https://gitcode.com/gh_mirrors/sw/swe-rlSWE-RL 是发表在 NeurIPS25 上的开源项目论文Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution而Agentless Mini正是其中开箱即用的智能体工具它把“让大模型自动修 bug”这件事拆成了**本地化Localize→ 修复Repair→ 重排Rerank**三个清晰步骤。本文将为新手完整讲解 Agentless Mini 的入门流程带你快速跑通这套“AI 自动修代码”的完整链路。一、Agentless Mini 是什么为什么值得入门Agentless Mini 是基于 Agentless 重构而来的轻量级代码修复框架它的核心思路是不借助复杂的 Agent 交互循环而是用三个串行阶段完成端到端的 Bug 修复。 简单来说先让模型在仓库里“找对文件”再让模型“改对代码”最后从多个候选补丁里“挑最好的”。它的三大核心改进这也是它好上手的原因改进点说明⚡ 异步推理基于 openai-python 实现高并发请求跑分速度更快 文件级定位只做文件级本地化修复时喂入整个文件内容简单直接 多样本重排支持多组 reproduction 测试参与补丁重排选出最优解而且 Agentless Mini 对任意 OpenAI 兼容端点都可用——无论是云 API还是本地用 vLLM / SGLang 部署的开源模型都能直接驱动。二、最快配置方法三分钟搭建 Agentless Mini 环境1. 安装依赖首先克隆仓库并安装agentless扩展依赖git clone https://gitcode.com/gh_mirrors/sw/swe-rl cd swe-rl pip install -e .[agentless]2. 启动模型服务以 vLLM 为例如果你没有现成的 API可以用 vLLM 在本地托管一个 Hugging Face 模型pip install vllm vllm serve meta-llama/Llama-3.3-70B-Instruct --tensor-parallel-size 4 --port 8000启动后你的端点地址就是http://localhost:8000/v1。3. 配置环境变量关键一步export OPENAI_API_KEYEmpty export OPENAI_BASE_URLhttp://localhost:8000/v1 # 模型输出是否包含思考过程yes/no export THINKINGno # 处理补丁用的临时目录 export PLAYGROUND_DIRtmp_agentless # SWE-bench 仓库结构文件路径 export PROJECT_FILE_LOC/path/to/swebench/repo_structures # 用于统计 token 的 tokenizer 模型 export TOKENIZER_MODELmeta-llama/Llama-3.3-70B-Instruct 这些环境变量的具体读取逻辑在 utils/envs.py 中如果遇到报错先检查这一份文件。三、Agentless Mini 全流程实战本地化→修复→重排下面是完整的三步流水线命令建议按顺序执行。第一步本地化Localize——让模型找到 Bug 文件本地化阶段会让大模型阅读 GitHub issue 描述和仓库目录结构输出最可能需要修改的文件列表默认最多 5 个。python -m swerl.agentless_mini.localize \ --output_file demo_agentless/loc.jsonl \ --shard 0 \ --num_shards 125 \ --num_samples 1 \ --temperature 0.0 \ --model meta-llama/Llama-3.3-70B-Instruct参数解读--shard / --num_shards分片并行。SWE-bench Verified 共 500 个问题分成 125 片后每个节点只跑 4 个适合集群加速--num_samples每个问题采样几组结果1 时会引入随机化为后续重排提供多样性定位逻辑见 localize.py提示词模板在 utils/prompts.py。生成loc.jsonl后建议顺手跑一下定位效果检查python -m swerl.agentless_mini.tools.check_loc_perf --locfile demo_agentless/loc.jsonl这个脚本会统计文件覆盖率、命中率等指标源码见 tools/check_loc_perf.py让你直观看到模型“找得准不准”。第二步修复Repair——让模型产出补丁拿到定位结果后修复阶段会把整个目标文件内容喂给模型让它基于 issue 描述生成搜索-替换形式的补丁python -m swerl.agentless_mini.repair \ --loc_file demo_agentless/loc.jsonl \ --output_folder demo_agentless/repair \ --shard 0 \ --num_shards 125 \ --num_samples 1 \ --temperature 0.0 \ --model meta-llama/Llama-3.3-70B-Instruct修复阶段会自动完成从模型输出中提取solution代码块思考模式开关由THINKING控制解析多文件的搜索-替换指令并生成补丁做语法检查和空行差异过滤把无效补丁标记为空输出归一化后的output_*_normalized.jsonl文件。核心实现在 repair.py其中--max_concurrent_requests参数可以控制并发请求数默认 64。⚠️ 小提示如果最终得到的补丁全是空的说明模型没有生成格式正确的编辑此时应更换基座模型或增加--num_samples让模型多试几次。第三步重排Rerank——选出最优补丁重排阶段会对多个候选补丁做归一化 去重 多数投票最终输出每个问题的最佳补丁python -m swerl.agentless_mini.rerank \ --patch_folder demo_agentless/repair \ --num_samples 1 \ --output_file demo_agentless/all_preds.jsonl \ --deduplicate重排器支持regression回归测试和reproduction复现测试两种排序策略会按“测试通过数 × 补丁一致性”选出共识最优解。这段逻辑集中在 rerank.py。最终生成的all_preds.jsonl就是可以直接拿去评测的模型预测结果格式与 SWE-bench 评测工具完全兼容。四、进阶技巧如何提升修复效果想提高修复成功率可以尝试这几个方向增大采样数把--num_samples从 1 调到 5~10让本地化与修复阶段都产出多样候选重排才有“可挑”的余地接入复现测试当 reproduction 测试生成功能更新后配合--applied_rankers reproduction让重排更有依据分片并行跑分在集群上用不同--shard分片同时执行500 个问题几分钟内就能出全量结果换更强基座70B 级别模型如 Llama-3.3-70B的定位与修复效果明显优于小模型预算允许时优先上大模型。五、常见问题 FAQQ1跑 repair 时提示找不到output.jsonl答--output_folder下会先写入原始output.jsonl再并行生成output_{i}_processed.jsonl和归一化文件请确认命令是在仓库根目录执行的。Q2如何调整“思考模式”解析答当模型输出含think思考块时设置export THINKINGyes解析逻辑会提取solution与/solution之间的内容见 utils/api.py。Q3可以用国产大模型或开源 API 吗答可以。只要服务端兼容 OpenAI Chat Completions 协议设置好OPENAI_BASE_URL即可无缝接入。结语Agentless Mini 用“本地化 → 修复 → 重排”三步就把 AI 自动修 Bug 这件事变得清晰、可复现、易扩展。无论你是想复现 SWE-RL 论文的实验还是想搭建一套属于自己的代码修复流水线从本文的入门流程出发最快十几分钟就能看到第一个自动生成的补丁。快去 clone 仓库动手试试吧【免费下载链接】swe-rl[NeurIPS25] Official codebase for SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution项目地址: https://gitcode.com/gh_mirrors/sw/swe-rl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考