Agent-R1
面向多步交互LLM Agent的端到端强化学习框架,Step-level MDP为核心创新
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
面向多步交互LLM Agent的端到端强化学习框架,Step-level MDP为核心创新
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你让一个大语言模型去解一道数学题,它第一次做错了,第二次就自动学会了正确答案——这听起来像魔法,但背后靠的正是一套叫做强化学习的训练机制。Agent-R1 就是这样一套面向 LLM Agent 的端到端强化学习框架,它不只教模型"答对",更教模型在多轮交互中学会"正确地使用工具"。
大语言模型(LLM)的能力近年来突飞猛进,但大多数模型的训练方式仍是"监督微调"——给问题,给标准答案,让模型模仿。这种方式有两个根本性局限:一是模型只能学习训练数据中见过的任务,二是它无法在交互过程中动态适应新情况。
在真实场景中,一个 AI Agent 需要在多轮对话中调用搜索引擎、执行代码、查询数据库,每一步都可能影响后续决策的质量。传统 RLHF 虽然引入了奖励机制,但大多数实现都是单轮的——把整个对话当作一个整体来评判,忽视了中间每一步决策的独立价值。
2024 年,DeepSeek 团队提出 DeepSeek-R1,在数学推理任务上取得了突破性进展,展示了纯 RL 训练的可行性。2025 年 3 月,来自中国科学技术大学认知智能国家重点实验室的团队在此基础上,提出了 Agent-R1——专门针对多步交互 Agent 的端到端强化学习框架,并于 2026 年 5 月发布了全面重构的技术报告。
传统的 LLM RL 训练把整个多轮对话当成一个整体来优化,模型只需要最大化最终输出的整体质量。但 Agent-R1 提出了一个更细粒度的视角:Step-level MDP(步骤级马尔可夫决策过程)。
所谓 MDP,是强化学习中的基础模型框架——智能体在每个时刻处于某种"状态",执行一个"动作",环境返回一个"奖励"和新的"状态",如此循环往复直到任务完成。Agent-R1 将这一框架引入 LLM Agent 训练:
这种建模方式的优势在于:credit assignment(奖励分配)可以精确到每一步,而不仅仅是对整个轨迹笼统打分。例如,模型在第 3 步调错了一个工具,但在第 4 步纠正了——传统方法可能让这两步的信号互相抵消,而 Step-level MDP 可以分别评价它们。
Agent-R1 的设计哲学是"算法-系统解耦"——训练算法、环境、推理引擎可以独立演进而不互相绑架。它定义了五层抽象架构:
第一层:AgentFlowBase
最底层的抽象,提供了对 prompt 构造、模型调用、分支管理、上下文管理和步骤组装的全链路控制。适合需要高度自定义复杂 Agent 逻辑的场景。
第二层:AgentEnvLoop
通用的交互循环引擎,将模型生成与环境的标准 reset() / step() 接口连接起来。所有遵循 RL 环境接口的任务都可以直接接入这一层,无需关心模型调用的细节。
第三层:AgentEnv
定义任务环境的抽象接口,要求实现者返回 observation(当前状态)、reward(奖励信号)、done(终止标志)以及 info(元数据)。这是实现自定义任务环境的入口点。
第四层:ToolEnv
内置的工具调用环境,专门针对多轮工具交互场景设计。如果你的任务只需要定义工具(计算器、搜索 API、数据库查询等),而无需自定义环境逻辑,使用 ToolEnv 是最省力的路径。GSM8K + Calculator 工具就是这一层的经典案例。
第五层:BaseTool
工具接口的基类,所有可执行工具都需要继承这个接口。设计目标是零门槛添加新工具。
这种分层设计的最大好处是:研究员换算法、环境工程师换工具、推理工程师换模型,三方可以独立工作而不互相影响。
Agent-R1 的实现重度依赖以下基础设施:
verl(volcengine RL):字节跳动开发的分布式 RL 训练框架,提供了 Actor-Rollout-Ref 三进程架构、异步 rollout 支持、以及与 vLLM 的深度集成。Agent-R1 构建在 verl 的 agent_loop 扩展之上,复用了其分布式训练和推理加速能力。当前版本要求 verl==0.7.0。
vLLM:用于高效推理 Serving 的引擎,支持 PagedAttention、连续批处理和 tensor parallel。verl 通过集成 vLLM 实现 RL 训练中的高效 rollout 阶段。
Ray:分布式计算框架,verl 和 Agent-R1 的训练器都基于 Ray 构建,支持多 GPU 和多节点的横向扩展。
Hydra + OmegaConf:实验配置管理,支持命令行参数覆盖和配置组合,便于快速跑不同实验。
Transformers + DeepSpeed/FSDP:模型加载和分布式训练后端。
Agent-R1 的完整训练流程如下:
数据准备:将任务数据(prompt、reward_model 配置、agent_name、环境参数)打包成 parquet 文件。每个任务在 recipes/ 下有对应的预处理脚本。
环境初始化:根据配置创建对应的 AgentFlow(控制交互逻辑)和环境实例(ToolEnv 或自定义 AgentEnv)。
Rollout 阶段:模型在当前策略下与环境交互,生成完整的多步轨迹。每一步记录:observation、action、feedback、reward、done 标志,以及用于构建下一步的 next_observation。
Reward 计算:对每一步调用任务特定的 reward_fn(奖励函数)。Agent-R1 支持过程奖励(每步打分)和结果奖励(仅最终状态打分)两种模式。
Advantage 估计:使用 GAE(Generalized Advantage Estimation)或 StepPO 等方法,从原始 reward 序列计算出每一步的 advantage,用于指导策略更新方向。
策略更新:使用 GRPO、PPO、REINFORCE、RLOO 等算法更新模型参数。所有算法在同一个 AgentEnvLoop 下运行,只需切换 algorithm 配置即可。
迭代训练:重复步骤 3-6,直至收敛。
Agent-R1 团队在 Qwen3-4B 上进行了系统性的实验,涵盖四个代表性 Agent 任务:
| 方法 | GSM8K 准确率 | HotpotQA 准确率 | ALFWorld 成功率(Seen) | WebShop 得分 |
|---|---|---|---|---|
| ReAct(SFT 基线) | 53.1% | 25.8% | 7.14% | 51.58 |
| GRPO | 83.3% | 59.4% | 81.29% | 65.83 |
| PPO | 78.1% | 56.7% | 76.42% | 70.18 |
| REINFORCE | 78.9% | 52.8% | 73.84% | 63.41 |
| RLOO | 81.6% | 55.2% | 79.08% | 68.02 |
数据清晰地展示了一个结论:所有 RL 方法都大幅超越训练-free 的 ReAct 基线。最令人印象深刻的是 ALFWorld(embodied AI 任务),ReAct 基线成功率仅 7.14%,而 GRPO 达到 81.29%——提升超过 10 倍。这说明 Step-level MDP 的细粒度 credit assignment 对于需要多步规划的任务效果尤为显著。
不同任务的最优算法也不同:GRPO 在数学推理和多跳问答上领先,PPO 在 WebShop 购物场景表现最佳。这印证了 Agent-R1 框架的通用性——同套架构可以承载不同算法的特性。
Agent-R1 目前已有多个基于其训练范式的衍生应用:
必须坦诚地说,Agent-R1 的部署门槛相当高:
不过,文档质量极高(MkDocs + Material 主题),examples 下的 recipe 脚本覆盖了 GSM8K、HotpotQA、ALFWorld、WebShop 等标准任务,且 ModelScope 上提供了预处理数据集供直接下载,大幅降低了入门门槛。
Agent-R1 的核心贡献不只是某个算法的性能提升,而是为 Agentic RL 提供了一套标准化的基础设施。在此之前,每个研究团队都需要从零搭建自己的 Agent 训练框架,rollout 环境、reward 计算、advantage 估计、策略更新各环节耦合严重。Agent-R1 证明了分层抽象可以让这些组件各自独立演进,而统一的 Step-level MDP 建模则让不同任务的训练经验可以互相迁移。
从更宏观的视角看,随着 LLM Agent 在实际应用中的渗透(代码生成、科学发现、自动化工作流),如何高效训练能可靠使用工具的多步 Agent 成为关键问题。Agent-R1 代表了当前学术界在这个方向上最系统性的探索,其论文已被中国科学技术大学认知智能国家重点实验室正式发表。
一句话总结:Agent-R1 是面向多步交互 LLM Agent 的端到端强化学习框架,以 Step-level MDP 为核心创新,支持 GRPO/PPO/REINFORCE/RLOO 等多种 RL 算法,在 ALFWorld 等复杂任务上相比 SFT 基线提升超过 10 倍,是 Agent 训练领域的重要基础设施。