veRL 发布统一开源智能体框架

GitHub精选
veRL uni-agent 项目仓库结构示意
veRL 团队把 RL 训练框架延伸到了智能体侧,做出了一个统一的开源 Agent 项目

veRL(Volcano Engine Reinforcement Learning)团队 5 月 18 日在 GitHub 上放出了 uni-agent,一个尝试把训练、推理、沙盒执行整合到同一个进程模型里的开源智能体框架。仓库公开 36 小时内 Star 数突破 600,关注者主要来自做 RLHF 和 Agent 研究的实验室。

统一在哪里

uni-agent 的设计目标是”训练即运行”——同一份 Agent 代码可以同时跑在两种模式里:rollout 模式下采集轨迹用于 RL 训练,inference 模式下直接给应用调用。过去这两件事通常是两套代码,rollout 用 vLLM 或 SGLang 起一个 server,训练侧再写一份 wrapper 去消费,环境逻辑容易在两边漂移。

仓库在 examples 目录里给了一个完整的 SWE-bench 训练脚本:模型初始化、工具定义、沙盒挂载、reward 函数、PPO 优化器都在同一个 yaml 里描述。开发者只要改 reward 就能把 Agent 切到新任务上,原本要重写的部分不再需要碰。

三个值得关注的工程点

第一个是异步 rollout。uni-agent 把 trajectory 采集做成了基于 asyncio 的并发流,单卡可以同时维持几十路并行 Agent,对长链路任务的训练吞吐有显著提升——README 里报的是 4×H100 上 SWE-bench-Lite 训练吞吐相比原 veRL 提升 1.8 倍。

第二个是沙盒。仓库内置了一个轻量化的 firecracker microVM 集成,用来跑工具调用里那些会写文件、跑 shell 的部分。微 VM 启动时间在 200ms 左右,比传统 Docker-in-Docker 方案省一个数量级,对训练循环里频繁拉起的 episode 很友好。

第三个是模型侧的解耦。uni-agent 不绑定特定推理后端,目前同时支持 vLLM、SGLang、Hugging Face Transformers 三套,可以根据训练阶段切换:rollout 阶段用 vLLM 求吞吐,eval 阶段用 Transformers 求精度对齐。这种切换在配置文件里完成,不需要动 Agent 主循环。

给谁用

uni-agent 不是写给业务侧 PM 的工具,它面向的是已经在自己训练 Agent 的研究团队——把过去散落在四五个仓库(trainer、rollout server、sandbox、eval harness)的功能整合到一份配置里。对那些刚开始做 Agent RL 的小团队来说,它的价值是省掉 1-2 周的胶水代码工作量。这种基础设施类项目通常不会在社交媒体上爆红,但会安静地成为下一批 Agent 论文的事实底座,类似 TRL 在 RLHF 时代那样的位置。


参考链接: