智猩猩AI整理
编辑:BugMaker、没方、林夕
前几天,小米 MiMo 把 MiMo-V2.6 的大规模强化学习训练直接搬到了网上。
小米 MiMo 大模型负责人罗福莉公开了 MiMo-V2.6-Pro 和 MiMo-V2.6-Flash 的 RL 实时训练看板,并表示接下来几周会把相关技术细节逐步开源。
六天 RL 直播结束后,今天小米正式发布并开源 MiMo-V2.6系列。
与此同时,CodeMidas第二作者李磊在小红书发文称,“MiMo RL直播结束,我们把数据管线开源了”,并将 CodeMidas 概括为“只需源码,即可点石成金”。
这条数据管线正是CodeMidas。
小米 LLM Core联合北京大学、香港大学和中国人民大学提出了面向 Coding Agent 强化学习的环境构建管线CodeMidas,可直接从现有代码库中自动生成训练任务、开发环境和可执行 Verifier。
这项工作本身更早已经在 MiMo-V2.5 上完成验证。
团队从3185个开源代码库中构造出5545个 RL 训练任务,覆盖23种编程语言和15个技术领域,再用这些任务继续训练 MiMo-V2.5,5 个外部 Coding Benchmark 全部提升。
CodeMidas先在MiMo-V2.5上验证了规模化构建高质量Coding RL环境这条路线,到了MiMo-V2.6,小米又把Agentic RL进一步推向更大的训练规模。
01
不找Issue和Commit,直接
从源代码里“挖题”
训练 Coding Agent 做 RL,有两个东西缺一不可。
一个是任务,另一个是能判断任务有没有完成的 Verifier。
传统做法通常从真实软件开发记录里找题。例如一个 Issue 提出 Bug,再找到对应 PR、Commit 和测试,把修改前的项目交给 Agent,让它重新完成修复。
代码库里实际存在的功能,远比留下完整Issue和Commit记录的功能多。
CodeMidas 因此把方向反了过来。
一个已经能够正常工作的开源项目,本身就包含大量已经实现好的功能。既然这些功能已经有正确实现,完全可以先理解它,再把实现删除,让 Coding Agent 重新写一次。
Agent 首先探索代码库,理解项目结构、公开接口和程序行为,再挑选适合变成训练任务的功能。
随后,CodeMidas 删除其中的核心实现,同时保留项目原本的目录、依赖以及周围代码。
被删除前的正确代码则保留下来,成为 Reference Solution。
一个原本正常工作的功能,就这样被反向改造成了一道真实的软件工程训练题。
这也是 CodeMidas 最值得注意的地方,它不要求每个项目必须有 Issue,不要求 PR 和 Commit,也不依赖项目提前写好测试。
对于任务构造来说,Source Code 本身就可以成为原材料。
这意味着互联网上大量开源项目,不再只是给模型学习代码风格的数据,也可能直接变成下一阶段 Coding RL 的训练环境。
02
不只是自动出题,还要给每道题
造一个可靠判卷器
只删除代码并不难,真正决定这些数据能不能做强化学习的,是模型写完之后怎么判断对错。
CodeMidas 会围绕选中的功能自动构造测试,并把相同输入交给原始完整代码真正执行。
原代码实际跑出来的行为,就是构建测试预期的重要依据。
普通函数可以检查输入输出,CLI 工具可以观察命令运行结果,有状态 API 则可以连续执行多步调用,检查状态有没有按照预期变化。
但自动生成测试仍然可能出错。
所以 CodeMidas 还加入了多轮执行检查。
每个候选环境会放进多个全新的 Container 中重新测试。删除实现后的起始代码必须失败,恢复 Reference Solution 后则必须稳定通过。
后面还会检查环境里有没有编译产物、Cache 或残留源码泄露答案,再让 Coding Agent 真正尝试解题,用 Rollout 结果进一步过滤有问题的任务。
CodeMidas做的并不是单纯批量生成代码题,而是批量制造带可执行Verifier的真实软件环境。
经过整套流程后,最终留下5545个训练任务。
它们来自3185个代码库,覆盖 Python、TypeScript、Go、C++、JavaScript 等23种语言,以及 Systems、Web、Developer Tools、AI和ML、Security、Cloud和DevOps等15个技术领域。
03
5545个任务训练MiMo-V2.5,
5项评测全部上涨
数据管线到底有没有用,最终还是要交给训练结果验证。
团队使用这些 CodeMidas 任务对 MiMo-V2.5 继续进行 GRPO 强化学习。
训练后的模型被放到5个不同类型的外部 Coding Benchmark 上,结果全部提升。
其中 DeepSWE 从10.0%提升至21.7%,增加11.7个百分点。
ProgramBench 的 Almost Solved 从4.5提升至21.5,增加17个百分点。
Terminal-Bench v2.1 则从63.7%提升至72.2%,增加8.5个百分点。
这些 Benchmark 覆盖真实仓库修复、完整程序构建和终端操作等不同任务。
也就是说,从现有源代码里自动挖出来的 RL 环境,并没有只让模型适应 CodeMidas 自己的一套题。
还有一个更值得注意的实验,团队比较了不同数量和不同质量的训练数据,发现高质量3K任务已经能够超过未经完整过滤的8K数据。
这说明 Coding RL 不是简单地把题目越堆越多越好。
如果环境不稳定、Verifier判错或者任务存在答案泄漏,再多 Rollout 也可能只是在消耗算力。
真正有价值的是能够稳定执行、可靠返回Reward的高质量环境。
04
大规模RL之后,训练环境也
开始一起Scaling
MiMo-V2.6 的直播让大家第一次非常直观地看到,大规模 Agent RL 到底会消耗多少 Rollout 和 Token。
CodeMidas 则把镜头往前移了一层。
当模型能够越来越快地生成训练轨迹以后,谁来持续生产足够多的训练环境,也开始成为Scaling的一部分。
过去大家从代码中学习代码,CodeMidas进一步把现成软件变成了生产新任务的原材料。
Agent先理解一个已经实现的功能,再自动把它拆成任务、开发环境、Reference Solution和Verifier,最后交给另一个Agent重新解决。
这或许也是它与这次 MiMo RL 直播联系最紧的地方。
直播展示的是RL能够Scale到多大,CodeMidas回答的则是这么大的RL训练需要的Coding环境从哪里来。
关注+星标,获取AI前沿进展与开源一线动态
热门跟贴