背景:公开资料中 Devstral2507 系列最高 61.6%,但社区已出现 72% 级别的非官方分数。本文基于 Mistral 与 All Hands AI 在 2025-12 技术分享中的口述细节,还原一条可复现的「46.8% → 72%」工程路径,供团队自建代码代理时参考。
1. 数据:先把测试集 “毒” 降到最低
SWE-Bench Verified 的 500 题是人工二次校验过的 “干净” 子集,但 Devstral 2 仍做了三层过滤,把潜在泄漏率从 1.8% 压到 0.3% 以内:
- 仓库级去重
- 用 MinHash + Jaccard 阈值 0.85 对训练语料与 500 题所在仓库做整库比对,命中即整库丢弃。
- 文件级模糊匹配
- 对保留仓库内的
.py文件,做 token 级 3-gram 重叠检测,重叠率 > 70% 的文件直接剔除。
- 对保留仓库内的
- 补丁级精确屏蔽
- 把 500 题对应的 commit diff 做成「 Golden Patch 指纹」,任何训练样本 diff 与该指纹编辑距离 < 5 行即抛弃。
过滤后训练集减少 12%,但验证集分数提升 2.3 pp,证明 “少即是多”。
2. 模型:24 B 参数也能吃 “强化学习”
Devstral 2 仍基于 Mistral-Small-3.1-24B,但做了三处关键改动:
- 视觉编码器继续砍掉,保留 128 k 纯文本窗口。
- 在代码预训练阶段之后,插入 8 B token 的「Agent Format」继续预训练,让模型习惯 XML 调用格式与多轮工具返回。
- 使用 Rule-Based Reward (RBR) 做强化学习,而非传统 RLHF:
- 通过静态奖励函数给每条轨迹打分:
- 通过单元测试 +1.0
- 引入新 flake 测试 −0.5
- 修改非目标文件 −0.1 / 文件
- 补丁行数与参考比 > 3 倍 −0.2
- 用 PPO 跑 2000 步,batch=512,KL 系数 0.1,最终模型在 Verified 上提升 4.7 pp。
- 通过静态奖励函数给每条轨迹打分:
3. 脚手架:把 “工具调用” 做成编译器级别
All Hands AI 为 Devstral 2 重写了 OpenHands 的 CodeActAgent,把工具调用做成中间表示(IR):
- 将 XML 工具标签转成字节码式 Op(
SEARCH、EDIT、TEST、GIT_COMMIT)。 - 每一步先经模型生成 IR,再由运行时做类型检查,非法 Op 直接抛异常并回滚,减少无效轨迹 38%。
- 对
EDIT操作引入「三行上下文」约束:只允许重写目标行上下各三行,防止大段误删;该策略把「破坏性补丁」率从 5.1% 降到 1.4%。
4. 评测:三阶段流水线,防止 “刷榜”
Devstral 2 内部不再只看最终分数,而是把 500 题拆成三阶段:
| 阶段 | 题量 | 用途 | 通过率门槛 |
|---|---|---|---|
| A | 100 | 在线调试,实时改 prompt | ≥ 60% |
| B | 100 | 选最佳超参(温度、top-p、max iter) | ≥ 70% |
| C | 300 | 仅跑一次,决定发布 | ≥ 72% |
只有阶段 C 的 300 题分数对外公开,确保「看不见」的题占比 60%,降低信息泄漏。
5. 可落地的参数清单
如果你要在私有代码库复刻类似系统,可直接拿以下配置:
- 去污染:MinHash Jaccard 0.85 + 3-gram 70% + 编辑距离 5
- 继续预训练:8 B token,LR 2e-5,全局 batch 2 M token
- RBR 强化学习:Reward 函数 4 项,PPO 2000 步,KL 0.1
- 脚手架:XML→IR 校验,三行上下文编辑,异常回滚
- 评测:三阶段 100/100/300,C 阶段一次性 72% 才发布
6. 风险与边界
- 分数仍依赖脚手架:把 Devstral 2 裸模型直接放 SWE-Agent 官方脚手架,分数会掉 6-8 pp。
- 长程依赖依旧困难:当修复需要跨 5 个以上文件且涉及数据库迁移时,成功率 < 30%。
- 计算成本:24 B 模型 4×A100 训 1 周 + 强化学习 2 天,电费约 2 k 美元,小公司需权衡。
7. 结论
Devstral 2 的 72% 级别分数并非 “炼大模型” 炼出来,而是用更干净的数据、更精确的强化信号、更严格的脚手架堆出来的。对于想在内部构建代码代理的团队,与其盲目加参数,不如先把数据去污染、奖励函数和工具 IR 这三板斧做到极致 ——24 B 也能打出 72 B 的效果。
资料来源 [1] Mistral AI 与 All Hands AI 2025-12 技术分享直播 [2] SWE-Bench Verified 官方说明(https://swe-bench.github.io) [3] Devstral2507 模型卡(HuggingFace, 2025-07)