伯克利最强代码Agent屠榜SWE-Bench!用Scaling RL打造,配方全公开
【导读】新晋AI编程冠军DeepSWE来了!仅通过纯强化学习拿下基准测试59%的准确率,凭啥?7大算法细节首次全公开。
AI编程领域竞争激烈,但多被闭源模型主导。
如今,一款开源软件工程模型DeepSWE横空出世,以59%的准确率大幅刷新了SOTA。
DeepSWE基于Qwen3-32B打造,并且只使用强了化学习进行训练。
地址:https://github.com/agentica-project/rllm
模型:https://huggingface.co/agentica-org/DeepSWE-Preview
Agentica的项目负责人Michael Luo感叹道,「那个过度定价、黑箱式的编码助手时代要终结了!」
另外一个好消息是,Agentica团队也慷慨解囊,开源了所有内容。
除了模型,还包括训练代码(rLLM)、数据集(R2EGym)以及实现完全可复现的训练配方。
训练方法
DeepSWE最大亮点是,相较于之前许多依赖「老师模型」(如 GPT-4)进行模仿学习(SFT或蒸馏)的路径不同。
它仅用强化学习(RL)就能从零开始将一个基础模型训练成性能亮眼的智能体。
据官方介绍,DeepSWE是在模块化RL后训练框架rLLM上训练的。
rLLM有一个好处,说白了,就是让你自己动手攒一个用强化学习训练出来的AI小能手,从头到尾都不再那么费劲了,直接拿去干活儿就行。
使用R2E-Gym进行可扩展数据集管理
训练环境方面,DeepSWE是在R2E-Gym训练环境中(一个现有的Gym环境)训练,用于高质量可执行SWE环境的可扩展管理。
状态与动作
R2E-Gym定义了一组四个工具作为动作空间的一部分:
1. 执行Bash:输出LLM生成的bash命令的stdout和stderr。
2. 搜索:搜索并返回目录或单个文件中所有符合LLM定义的查询的结果。
3. 文件编辑器:允许查看、创建、替换字符串、插入以及撤销对特定文件的编辑。
4. 完成/提交:LLM已决定解决了该拉取请求,这将终止轨迹生成。
奖励模型
奖励函数采用了一种稀疏的结果奖励模型(ORM)。
研究人员惊喜的发现,仅仅通过简单的「成功/失败」奖励信号,DeepSWE自发地学会了高级程序员才具备的复杂行为,例如:
主动思考边缘案例和回归测试。
根据任务的复杂程度,自适应地调整「思考」的深度。
通过扩展RL训练SWE智能体
算法方面,DeepSWE仅仅使用了强化学习来直接训练,没有使用蒸馏方法。
更值得关注的是,研发人员使用了独家改良的GRPO++算法,这个算法在之前的基础上做了增强。
为了提升模型训练的稳定性和性能的提升,研发人员整合7个算法:
1. Clip High (DAPO):提高GRPO/PPO替代损失的上限可以鼓励探索并稳定熵。
2. 无KL损失(DAPO):消除KL损失可以防止LLM受限于原始SFT模型的信任区域。
3. 无奖励标准差(Dr.GRPO):去除奖励标准差可消除GRPO损失中的难度偏差,从而更好地区分难易问题。
4. 长度归一化(Dr.GRPO):将替代损失除以最大上下文长度,可以消除GRPO中存在的长度偏差,这种偏差会增加错误响应的长度。
5. 一法(Loop/RLOO):在优势估计中移除一个样本,可以在不引入偏差的情况下降低策略梯度的方差。
6. 紧凑过滤:受DAPO启发,对达到最大上下文长度、生成过程中超时(20分钟)或达到最大步数的轨迹进行损失屏蔽。
7. 无熵损失:熵损失会引入更高的不稳定性,最终导致熵呈指数增长,从而使训练崩溃。如果基础模型的令牌级熵在0.3到1之间,则不需要熵损失。
针对其中一个算法「紧凑过滤」,研发人员强调了其对模型训练优势:
好处1:防止或延缓训练过程中的奖励崩溃(上图)
好处2:减少了每一步的过度思考,并鼓励跨步骤的长篇推理(下图)
挑战
当然,在训练过程中也遇到了挑战——扩展SWE-Bench环境。
研发人员指出,你可以想象下,在最后的训练过程中,需要同时启动好几百个Docker容器。
因为跑得太多、太猛,一瞬间搞出了几千个,直接把Docker给整崩溃了。
为了解决这个问题,研发人员将Kubernetes支持集成到了R2E-Gym环境中,使编排器能够在节点池中调度容器。
研发人员,给每个干活的服务器都配了顶配装备:
差不多200核的CPU,还有6T多的超高速固态硬盘。
为了让程序跑得飞快,研究员提前把所有要用的软件(镜像)都下载好存到本地硬盘里了。
这样一来,每次启动程序就跟打开桌面软件一样秒开,根本不用再吭哧吭哧地去网上下载了。
研究人员指出,该集群可以扩展到超过1000个CPU核心,并依赖Kubernetes集群自动缩放器来自动添加或移除节点。
当Pod在短时间内无法调度时,自动缩放器会配置额外的工作节点;相反,它会移除那些大约二十分钟内利用率较低的节点。
这种弹性设置能够可靠地收集数百万条轨迹,同时保持计算成本与负载成比例。
评估策略(TTS)
除了强大的模型本身,DeepSWE还采用了「测试时扩展 (TTS)」这一评估策略。
该策略通过「多方案生成 + 智能验证」的方式,将性能推向了新的高度。
为了提升其模型的Pass@1性能,研发人员在「测试时」想到了两种方法:
方法一:扩展上下文长度(见上图):
将最大上下文从16K扩展到128K个标记,性能有所提升。在超过32K时收益约为2%,达到42.2%的Pass@1。
方法二:扩展代理部署(见下图):
使用最佳选择策略为每个问题生成了多个代理部署。采用结合基于执行和免执行方法的混合验证器,以选择最佳的代理轨迹。
两种方法确实带来了性能的提升,在SWE-Bench Verified上达到59%,在开放权重的SWE-Agent中实现新的SOTA。
作者简介
Michael Luo
Michael Luo,加州大学伯克利分校电气工程与计算机科学系博士生,研究兴趣聚焦人工智能和系统领域。
硕士和本科研究主要集中在强化学习(RL)的实际问题和应用,包括自然语言处理(NLP)、数据库查询优化以及视频流。
Sijun Tan
Sijun Tan,目前是加州大学伯克利分校计算机科学系在校三年级的博士生,本科毕业于弗吉尼亚大学,获得了计算机科学和数学双学士学位。
研究重点是LLM后训练和代理 AI。曾在Facebook人工智能研究(FAIR)实习,并在蚂蚁集团担任过高级算法工程师。
参考资料:
https://pretty-radio-b75.notion.site/DeepSWE-Training-a-Fully-Open-sourced-State-of-the-Art-Coding-Agent-by-Scaling-RL-22281902c1468193aabbe9a8c59bbe33 https://x.com/michaelzluo/status/1940504105686126748
https://x.com/hardmaru/status/1940592814884376919
https://pretty-radio-b75.notion.site/rLLM-A-Framework-for-Post-Training-Language-Agents-21b81902c146819db63cd98a54ba5f31
声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。

游客
- 鸟过留鸣,人过留评。
- 和谐社区,和谐点评。