跳转至

veRL Agentic Loop 实践

LaTeX 源码 · 备用 PDF

字段 内容
作者/整理 基于公开课程资料整理
来源 五道口纳什
日期 2025

veRL Agentic Loop 实践

引言

本期正式进入 Agentic RL 训练的核心:veRL 中的 Agentic Loop 实现。

Agentic Loop 的概念

Agent 通过多轮 think-act-observe 循环与环境交互。在 RL 训练中,模型需要在每一步:

  1. 生成(Generate):输出文本或 tool call
  2. 调用工具(Tool Call):执行代码、查询 API 等
  3. 获取反馈(Observe):拿到工具返回结果
  4. 继续生成:基于反馈继续推理

这个 Multi-turn 过程由配置文件控制。

veRL 的 Agentic Loop 架构

核心代码文件:agentloop.py,包含:

  • AgentLoopManager:统一管理所有流程
  • AgentLoopWorker:执行具体的 Agent 逻辑
  • AgentLoopBase:抽象基类,需要自定义 run 方法
  • Server Manager:管理推理服务

generate_sequence 方法

AgentLoopManagergenerate_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 这套交互逻辑抽象成了可复用的系统骨架。

总结与延伸

  1. Agentic Loop = Multi-turn 的 think-act-observe 循环
  2. veRL 通过 AgentLoopManager 统一管理
  3. 可自定义 Agent 逻辑(SingleTool, TwoAgents 等)