daVinci-Env: Open SWE Environment Synthesis at Scale¶
日期: 2026-03-13
arXiv: 2603.13023
代码: OpenSWE
领域: LLM Agent / 软件工程
关键词: SWE agent, environment synthesis, Docker, training data, difficulty-aware curation
一句话总结¶
发布 OpenSWE——最大规模全透明 SWE Agent 训练框架,包含 45320 个可执行 Docker 环境(12.8K 仓库),通过多 Agent 合成管线 + 质量-难度感知过滤,用约 $1.47M 构建约 13000 条高质量轨迹,训练出的 32B/72B 模型在 SWE-bench Verified 上达 62.4%/66.0% SOTA。
研究背景与动机¶
-
领域现状: SWE Agent(自主修 bug、写代码)需要可执行可验证的 Docker 环境提供动态反馈。SWE-bench 开创了此方向,但只有几百个环境。
-
现有痛点:
- 工业方案(SWE-Universe 等)规模大但不开源,基础设施不透明
- 开源替代品(SWE-rebench)规模和仓库多样性不足
- 环境构建成本极高,大多数学术组无法承担
- 更关键的是:原始环境存在 PR-Issue 不对齐(PR 实际没解决 issue)和太过简单(issue 直接给出了答案)的质量问题
-
核心矛盾: 单纯扩大规模不够——不可解和太简单的环境浪费训练资源,需要恰当难度的环境才能最大化学习效率。
-
切入角度: 规模化构建 + 难度感知过滤——先大量合成,再精心筛选。
-
核心 idea: 多 Agent 合成管线(64 节点集群自动化)+ 质量-难度感知过滤(排除不可解/太简单的环境)→ 开源全部基础设施。
方法详解¶
整体框架¶
GitHub PR 收集 → 四阶段过滤 → 仓库探索 Agent → Dockerfile 构建 Agent → 评估脚本构建 Agent → 测试分析 Agent → 迭代修复 → 难度感知过滤 → 轨迹采样 → SFT 训练。
关键设计¶
-
多 Agent 合成管线:
- 仓库探索 Agent:受限 API(browse/search/digest)进行低成本目标检索
- Dockerfile Agent:预构建 Python 2.7-3.14 基础镜像 + 本地仓库缓存 + 层感知 prompt 优化
- 评估脚本 Agent:识别相关测试并合成新测试用例,嵌入退出码标记
- 测试分析 Agent:解析执行结果,提供反馈驱动迭代修复
- 64 节点分布式集群部署
-
质量-难度感知过滤:
- 排除 PR-Issue 不对齐:PR 解决的不是 issue 描述的问题
- 排除 trivial 实例:issue 直接指明了修改文件和内容
- 难度评估:用基线模型试解,保留难度适中的环境
- 从 45320 个环境筛选到约 9000 个高质量环境
-
成本投入:
- 环境构建:$891K
- 轨迹采样和策展:$576K
- 总计:约 $1.47M
- 最终产出:~13000 条高质量训练轨迹
训练策略¶
- 基于 Qwen2.5 系列(32B/72B)做 SFT
- 在 OpenHands/SWE-agent 两种 scaffold 上评测
实验关键数据¶
SWE-bench Verified¶
| 模型 | SWE-bench Verified |
|---|---|
| OpenSWE-72B | 66.0% |
| OpenSWE-32B | 62.4% |
| SWE-rebench 训练 | ~55% |
数据规模分析¶
| 训练数据量 | 性能 |
|---|---|
| 2K 轨迹 | ~52% |
| 6K 轨迹 | ~58% |
| 13K 轨迹 | ~62% |
| 趋势 | 对数线性,无饱和 |
关键发现¶
- 数据规模和难度过滤互补:单独增加规模或单独过滤都不够,两者结合效果最佳
- 对数线性 scaling:额外高质量环境持续带来收益,未观察到饱和
- 跨域迁移增益:SWE 训练意外提升数学推理(+12 分)和科学推理(+5 分),不损害事实回忆
- 超越 SWE-rebench 训练的模型在所有设置下
亮点与洞察¶
- 全透明开源是最大亮点:不只开放数据,还开放完整合成管线和所有 Dockerfile——社区可以复现和扩展
- 难度感知过滤的洞察很重要:不是所有真实 GitHub PR 都适合训练——太简单/不可解的环境不仅浪费算力,还可能引入噪声
- SWE→数学/科学的正迁移出乎意料——解 real-world bugs 训练的推理能力可以泛化
局限性 / 可改进方向¶
- 仅覆盖 Python,其他语言(Java、C++、TypeScript)未涉及
- $1.47M 的成本对大多数团队仍然昂贵
- 难度评估依赖基线模型的通过率,可能受模型偏差影响
- 环境时效性:GitHub 仓库随时间变化,环境可能失效
评分¶
- 新颖性: ⭐⭐⭐⭐ 多 Agent 合成管线+难度感知过滤的系统工程创新
- 实验充分度: ⭐⭐⭐⭐⭐ 规模分析、消融、跨域迁移、多 scaffold 覆盖全面
- 写作质量: ⭐⭐⭐⭐ 系统描述详尽
- 价值: ⭐⭐⭐⭐⭐ 对 SWE Agent 社区价值巨大——填补了大规模开源训练数据的空白