文章提出了一种自动化流程SWE-rebench,用于从GitHub仓库持续收集真实世界的交互式软件工程任务。该流程包含四阶段:任务收集、安装配置、执行验证和质量评估,成功构建了包含21,336个Python任务的公共数据集。基于此,建立了无污染的SWE-rebench基准测试,采用标准化框架评估LLM代理性能。实验表明,静态基准存在污染导致的性能虚高问题,而DeepSeek-V3在开源模型中表现最优。
基于大语言模型(LLM)的软件工程代理在代码生成、调试等任务中展现出潜力,但面临两大瓶颈:高质量交互式训练数据稀缺和评估污染问题。现有数据集(如SWE-bench)依赖人工构建,规模有限且易过时。文章提出SWE-rebench——首个全自动化流程,从真实GitHub仓库持续提取可执行任务,构建去污染评估基准。
流程包含四个核心阶段,覆盖3468个仓库的21,336个Python任务:
通过GitHub Archive获取45万条拉取请求(PR),筛选满足:Python仓库占比>75%、宽松许可证、关联测试修改的PR。采用严格过滤条件(如变更文件数1-15个),保留153,400个候选任务。
创新性使用LLM(Qwen2.5-72B)生成安装指令:
1. 识别关键文件(README.md, setup.py等)
2. 提取结构化JSON配方(Python版本/依赖安装/测试命令)
3. 错误驱动的迭代优化:根据安装日志动态修正配方,成功率提升至31%
在容器环境中验证任务可解性,要求:
• 应用解决方案前至少一个测试失败
• 应用后所有失败测试通过
• 原通过测试保持通过
分布式系统TractoAI加速验证,缓存依赖确保可复现性。
基于SWE-bench标注微调LLM,预测任务三大属性:
• 问题清晰度(准确率79%)
• 任务复杂度(准确率81%)
• 测试正确性(准确率67%)
为RL训练提供质量过滤依据,优于传统启发式方法(如变更文件数)。
针对现有评估的污染、脚手架差异等问题,SWE-rebench基准确立三大原则:
采用固定ReAct框架,统一:
• 128K上下文长度
• 相同提示词与超参
• 文本命令交互(禁用函数调用)
确保跨模型能力可比性。
基于任务创建时间与模型发布时间:
• 自动标记潜在污染数据
• 排行榜区分新旧任务性能
在294个任务上测试发现:
• GPT-4.1在新任务上性能下降4.4%
• DeepSeek-V3稳居开源榜首(解决率21.9%)
• Qwen2.5-Coder因指令跟随缺陷表现不佳
证实静态基准存在污染导致的性能虚高(如LLaMA-4在SWE-bench分数虚高28%)。
当前局限包括:
• 自动化质量评估存在误差
• 仅支持Python任务
未来将扩展JavaScript/Java等多语言支持,优化任务过滤流程,持续更新基准。