veRL Agentic Loop 实践
| 字段 | 内容 |
|---|---|
| 作者/整理 | 基于公开课程资料整理 |
| 来源 | 五道口纳什 |
| 日期 | 2025 |

引言
本期正式进入 Agentic RL 训练的核心:veRL 中的 Agentic Loop 实现。
Agentic Loop 的概念
Agent 通过多轮 think-act-observe 循环与环境交互。在 RL 训练中,模型需要在每一步:
- 生成(Generate):输出文本或 tool call
- 调用工具(Tool Call):执行代码、查询 API 等
- 获取反馈(Observe):拿到工具返回结果
- 继续生成:基于反馈继续推理
这个 Multi-turn 过程由配置文件控制。
veRL 的 Agentic Loop 架构
核心代码文件:agentloop.py,包含:
AgentLoopManager:统一管理所有流程AgentLoopWorker:执行具体的 Agent 逻辑AgentLoopBase:抽象基类,需要自定义run方法- Server Manager:管理推理服务
generate_sequence 方法
AgentLoopManager 的 generate_sequence 方法是核心,将所有组件统一管理起来。
本章小结
veRL 的 Agentic Loop 提供了完整的 Multi-turn RL 训练框架。
系统视角:Manager、Worker 与 Loop 的分工
理解 veRL 的 Agentic Loop,不只是记住几个类名,而是要看清它如何把多轮推理、工具调用和服务管理拆开。Manager 负责 orchestration,Worker 负责执行,LoopBase 负责定义抽象接口,这种分层使系统可以在不同任务之间复用基础设施。
为什么这种架构适合 Agentic RL
- 多轮循环天然需要统一的状态管理
- 工具调用与模型推理通常要分模块复用
- 训练时要同时照顾 rollout、server 与任务逻辑
本章小结
Agentic Loop 的重点不是某个类写得多复杂,而是它把 think-act-observe 这套交互逻辑抽象成了可复用的系统骨架。
总结与延伸
- Agentic Loop = Multi-turn 的 think-act-observe 循环
- veRL 通过 AgentLoopManager 统一管理
- 可自定义 Agent 逻辑(SingleTool, TwoAgents 等)