跳转至

Agentic RL 00: 总述

视频参考来源:Agentic RL训练:从单一算法到系统协同

背景

传统的 RLHF、数学推理 RL 或代码任务,往往可以近似理解为:给模型一个问题,模型生成一个答案,再依据最终答案给出奖励,并调整文本生成分布。 Agentic RL 更复杂。它面对的通常不是单轮问答,而是:

  • 长上下文和长时程任务;
  • 多轮工具调用与函数调用;
  • 部分可观测环境;
  • 异步执行与不同长度的轨迹;
  • 多智能体协作;
  • 不止一种奖励信号;
  • 训练环境与真实部署环境之间的差异。

因此,Agentic RL 的核心不只是“选 PPO、GRPO,还是某个新变体”,而是建立一套能够长期稳定地产生有效学习信号的系统。

总结一句话:保持三个不变量,协同建设八个系统要素。

第一部分:三个不变量

1. 始终保留可探索空间

强化学习会不断奖励已经成功的行为。模型一旦找到一条较容易获得高奖励的轨迹,就会反复强化这条路径,生成结果逐渐趋同。 这会造成两个后果:

  1. 多样性下降;
  2. 奖励曲线很快进入平台期。

所以,训练过程中必须持续保留探索能力。最简单的手段包括调整 temperature 和 entropy,但真正的探索不只发生在 token 层面,还应覆盖更高层级的策略空间。

Token-level 探索

提高某些 token 的可采样性,会增加局部分支数量,使后续轨迹出现更多变化。这类似于在已有策略附近做更细粒度的搜索。

Turn-level / trajectory-level 探索

不同轨迹即使 token 表达差异很大,也可能采用同一种高层思路。真正有价值的多样性,还包括:

  • 是否选择了不同工具;
  • 是否采用不同规划路径;
  • 是否以不同顺序完成子任务;
  • 是否形成不同的高层策略。

理想状态是同时控制 token-level entropy 与 trajectory-level diversity,而不是只提高采样温度。

2. 始终产生非退化的学习信号

以基于组内相对优势的训练为例,如果一个样本的多次 rollout 全部正确,或者全部错误,那么组内几乎没有差异,也就难以产生有效的 relative advantage。 换句话说: 全对和全错,都可能意味着“没有足够的训练信号”。 因此,训练系统不能只关心样本数量,还要持续监控每个样本是否能够产生有辨识度的奖励差异。

可使用的指标和策略包括:

  • group reward variance;
  • group reward entropy;
  • 当前模型对样本的成功率;
  • 不同 rollout 之间的策略差异;
  • 动态调整 rollout 数量;
  • 动态调整样本进入训练的顺序;
  • 训练一个小模型,预估某个样本在当前策略下的奖励方差或难度。

方差过小可能表示样本太容易、太难,或者模型总在重复同一种轨迹。可以:

  • 更换样本;
  • 增强探索;
  • 暂时移出当前训练池;
  • 在模型能力发生变化后重新放回。

方差过大可能导致训练不稳定。可以:

  • 增加 rollout 数量,以获得更可靠的组内估计。

冷热优先与样本调度

三类实用机制:

  • 淘汰:某个样本连续多个 step 都能稳定做对,说明它当前提供的增量信号很弱,可以暂时移出。
  • 熔断:某个样本长期无法产生正确轨迹,继续消耗大量算力也没有有效梯度,可以暂时停止训练。
  • 热度补偿:被淘汰或熔断的样本不能永久消失,应定期重新进入训练池,防止能力遗忘,也检查模型是否已经获得处理这些样本的新能力。

对于超长轨迹,还可以进一步做 credit assignment:定位真正决定成败的关键节点,并在关键节点之后进行更高密度的采样,把算力集中在最有价值的状态转移上。

3. 始终控制 on-policy / off-policy 偏移

理论上,强化学习希望使用当前策略产生的数据更新当前策略。但 Agentic RL 的 rollout 长度差异非常大:有的任务一分钟结束,有的任务可能运行数小时。 系统不可能等待最慢的轨迹全部完成后再统一更新,因此通常会采用:

  • 并行 rollout;
  • 异步返回;
  • actor 与 learner 解耦;
  • 多版本模型同时产生轨迹。

这意味着 off-policy 无法完全避免。真正的问题不是“是否存在 off-policy”,而是: 偏移有多大,以及系统能否将其控制在可接受范围。 偏移主要来自三方面:

  1. rollout 异步返回,轨迹由旧策略生成;
  2. 训练框架与推理框架的数值实现不一致;
  3. 模拟训练环境与真实部署环境不一致。

需要通过窗口化更新、importance sampling、clip、mask、版本控制和一致性校验等机制控制偏移。

第二部分:八个系统要素

1. 环境构建

Agentic RL 首先需要可交互、可验证、可并发运行的环境。 代码、数学和部分科学任务相对容易构造,因为它们通常具有明确的执行结果或验证器。但医疗、生物信息、搜索、办公和现实世界任务更难完整模拟。

环境构建不必一开始就百分之百复刻现实。更重要的是回答: 环境中的哪些因素真正影响最终决策、准确率和任务成功率?

应优先抽象这些决定性因素,而不是追求表面上的全量还原。 环境还应具备:

  • 清晰、稳定的工具接口;
  • 可重复执行;
  • 可并发运行;
  • 可记录完整轨迹;
  • 可判断成功与失败;
  • 可切换不同 scaffold、workflow 或 agent 配置;
  • 与真实部署环境保持尽可能高的一致性。

多种 scaffold 和 agent 配置可以防止模型只适应单一工作流,提高泛化能力。

2. 算力分配、样本编排与学习信号管理

Agentic RL 的算力成本很高,因此不能对所有样本平均分配 rollout。 训练系统应根据样本当前能够提供的学习价值,动态决定:

  • 哪些样本先训练;
  • 哪些样本增加 rollout;
  • 哪些样本暂时移除;
  • 哪些样本稍后重新加入;
  • 哪些轨迹值得在关键节点继续分叉采样。

这本质上是一种动态 curriculum learning。 与传统“从易到难”的固定课程不同,Agentic RL 的样本难度会随模型能力变化。同一个样本今天可能太难,过一段时间可能刚好能够产生有效信号,再往后又可能变得过于简单。 因此,样本状态需要持续重新评估,而不能一次性分类。

3. Policy Model:冷启动质量决定可探索上限

Agentic RL 并不能凭空创造模型从未见过的动作空间。 如果模型在预训练或 SFT 阶段没有见过某类工具、操作格式、调用模式或长轨迹结构,仅靠后续强化学习通常很难高效探索出来。 冷启动模型不能只看单次准确率,还应考察:

  • pass@k;
  • 成功轨迹的多样性;
  • action space 覆盖程度;
  • 工具调用格式的稳定性;
  • 是否能产生不同的有效策略;
  • 是否具有足够的长程规划能力。

因此,最适合作为 RL 起点的模型,未必是 SFT 验证集准确率最高的模型,也可能是探索空间更大、pass@k 更好的模型。 当真实数据不足时,可以先明确:

  • 允许哪些 action;
  • 策略空间有哪些主要分支;
  • 环境能够返回哪些反馈;
  • 成功轨迹需要覆盖哪些模式。

再通过 synthetic data 扩充冷启动数据。

4. 目标函数与 Policy Optimization

很多团队一开始就尝试更换强化学习算法,但更重要的是先判断训练到底出了什么问题。

  1. 奖励方差接近零 优先检查样本选择与 rollout 数量,而不是先改算法。

  2. 奖励方差存在,但模型不收敛 需要检查 advantage 估计、目标函数和梯度更新方式。

  3. KL、policy loss 或 clip 比例异常升高 通常说明新旧策略偏移过大,或者训推 log probability 不一致。

  4. 训练集持续提升,泛化能力下降 应考虑:

  5. 混入更广泛的数据;
  6. 定期回放旧样本;
  7. 热度补偿;
  8. 防止某类轨迹长期主导训练。

Policy optimization 中常见的改进方向,仍然集中在如何处理重要性比率和 clipping:

  • token-level clip;
  • 双边 clip;
  • 对偏移过大的 token 直接 mask;
  • sequence-level 或 sentence-level 限制;
  • 为整体 advantage 与 probability ratio 设置上限。

更激进的 token mask 能直接排除高度 off-policy 的局部更新;更温和的 sequence-level 限制则允许句子中保留少量高变化 token,同时约束整体更新幅度。选择哪一种,需要依据实际的偏移程度和训练稳定性。

5. 训推一致性

这是 Agentic RL 最基础、也最容易被低估的问题之一。

训练可能使用一种框架,rollout 使用另一种推理框架。即使输入和生成 token 完全相同,两边计算出的 log probability 也可能不同。

主要误差来源包括:

  • 训练与推理框架实现不同;
  • 并行方式不同;
  • attention 或算子实现不同;
  • tokenizer、编码与拼接边界不一致;
  • 精度不同,如 FP32、BF16、FP16;
  • 量化方式不同;
  • 多卡归约顺序不同;
  • 长轨迹由多个策略版本拼接;
  • MoE routing 对微小数值差异高度敏感。

对于 MoE 模型,极小的 logit 差异就可能让 token 被路由到不同 expert,进而放大 log probability 偏差。

可采用的控制方法

  • 在有限 window 内允许异步,window 之间保持同步;
  • 记录每段轨迹对应的策略版本;
  • 重新计算或校验 log probability;
  • 对高度偏移的 token 做 mask;
  • 使用双边 importance sampling;
  • 对训练端和推理端做逐 token 数值对齐测试;
  • 检查相同 token 序列下两端 log probability 的差异。

严重 off-policy 的典型信号

  • reward 曲线持续上升,但测试集不变或下降;
  • policy loss、KL 或其他偏移指标异常;
  • 被 clip 的 token 比例越来越高;
  • 训练端与推理端生成相同 token,却得到明显不同的 log probability;
  • 模拟环境效果很好,真实部署效果很差。

需要区分两类问题:

  1. 训练曲线上升、测试集不升:更可能是训推偏移;
  2. 测试集有效、真实部署无效:更可能是模拟环境没有覆盖真实工具和状态分布。

6. Reward 与 Verifier

真实 Agentic RL 通常需要混合奖励,而不是只有最终结果的 0/1 分数。 可能使用的信号包括:

  • outcome reward;
  • 任务成功率;
  • 工具调用正确性;
  • 轨迹长度;
  • token 成本;
  • step 数量;
  • 执行时间;
  • 格式约束;
  • 安全约束;
  • 通用 reward model;
  • 领域 rubric 或 expert verifier。

但不建议从训练一开始就把所有奖励直接加权求和。更实用的方式是分阶段或交替启用:

  1. 先强化 outcome reward,使模型获得基本任务能力;
  2. 能力达到一定水平后,再加入 step penalty、token penalty 或效率约束;
  3. 后续再加入通用 reward model、rubric 或更细的质量信号。

这样可以避免模型在尚未学会任务时,就被过强的长度惩罚压制探索。

为什么过程奖励很难

对每个 turn 或每次工具调用分配 reward,理论上能提供更密集的训练信号。但关键不是“能否设计一个分数”,而是这个分数是否足够可靠。

可参考的过程信号包括:

  • 工具调用是否成功;
  • 返回信息是否与目标相关;
  • 不确定性是否下降;
  • 信息增益是否增加;
  • 当前状态是否更接近任务目标;
  • 该步骤是否减少后续搜索空间。

问题在于:如果过程奖励经常把错误步骤判成正确,强化学习就会同时奖励正确行为和错误行为。密集但噪声大的 reward,可能不如稀疏但可靠的 outcome reward。

因此:Dense reward 的价值,取决于 reliability,而不是密度本身。

奖励是离散还是连续,不是核心矛盾

奖励只有 0、0.5、1,或者在 0 到 1 之间有很多取值,并没有本质区别。真正重要的是同一 group 内是否存在合适的差异。

  • 方差为零:没有 relative advantage;
  • 方差太小:信号区分度不足;
  • 方差太大:训练可能不稳定。

7. Memory 与 Self-Evolving

现实环境持续变化,而部署后的 agent 参数通常保持不变。很多 agent 在上线时表现最好,之后随着工具、数据和用户行为变化,性能逐渐下降。

Memory 的意义,不只是“让模型记住更多文本”,而是让 agent 能够适应动态环境。

可将 memory 粗略分为:

  1. Working Memory服务于当前任务和当前上下文,例如:

    • 从长上下文中检索关键信息;
    • 多跳推理;
    • 维护当前计划、状态和中间结果。
  2. Temporal / Short-term Memory记录近期交互和阶段性状态,用于跨若干轮或若干任务保持连续性。

  3. Long-term Memory把 agent 与环境交互形成的经验沉淀下来,支持长期适应、复用和回溯。

一个有用的 memory 系统至少应满足:

  • 支持文本、图、数据库等多种表示;
  • 能够长期存储与更新;
  • 每条 memory 可追溯到对应 trajectory 和 evidence;
  • 可以验证、撤销或修正;
  • 能处理环境变化后的 regression;
  • 能区分任务经验、用户偏好、工具知识和策略知识。

长期来看,memory 不应永远停留在外挂检索层。积累到一定规模后,可以把多领域、多任务、多环境中的 memory 转化为 experience data,重新用于 continual training 或 post-training。

于是形成一个循环: 环境交互 → 形成 memory → 沉淀为训练数据 → 更新模型 → 降低对外部 memory 的依赖 → 进入更复杂环境。

8. Infrastructure

Agentic RL 需要强大的训练基础设施,包括:

  • actor 与 learner 解耦;
  • 高吞吐 rollout;
  • 大规模并发环境;
  • 长任务调度;
  • 模型版本管理;
  • 轨迹与 reward 的可追踪性;
  • 动态算力分配;
  • 异步采样;
  • 失败恢复;
  • 训推一致性校验。

开源框架已经能实现部分并发 rollout 和 actor–learner 架构,但真正困难的部分往往是:

  • 如何在异步条件下控制策略版本差;
  • 如何校正训练端与推理端数值差异;
  • 如何为不同长度、不同难度任务动态分配资源;
  • 如何让每个 batch 持续包含有效学习信号;
  • 如何让模拟环境与生产环境保持一致。

如果这些问题没有解决,Agentic RL 训练出来的模型,可能还不如直接把成功轨迹用于 SFT。

第三部分:未来方向

1. 更长时间尺度的任务

未来 agent 需要持续工作数小时、一天,甚至一周。训练系统必须能够处理:

  • 数小时的 trajectory;
  • 中间状态恢复;
  • 长期 credit assignment;
  • 多阶段目标;
  • 动态环境变化;
  • 长轨迹中的局部失败与纠错。

长任务并不是简单增加 context length,而是对环境、调度、记忆和训练基础设施的共同挑战。

2. 真正动态的 self-evolving benchmark

很多所谓 evolving benchmark 仍然只是静态长上下文测试。真正的 self-evolving 应发生在动态环境中:

  • 同一任务规则会变化;
  • 工具和接口会变化;
  • 用户需求会变化;
  • 新约束持续出现;
  • agent 需要复用旧知识并学习新技能。

没有动态环境,就很难判断 agent 是真的适应了变化,还是只记住了更长的上下文。

3. 个性化 Agent

Memory、环境交互和持续训练结合后,最终可能形成面向个人的 personalized agent。 它不仅记住偏好,还能逐渐学会:

  • 用户何时会批准或拒绝某个操作;
  • 用户习惯从哪里搜索信息;
  • 用户如何修改 agent 的结果;
  • 哪些任务必须保留 human-in-the-loop;
  • 哪些任务可以完全自动化。

4. 用户行为模拟与数据飞轮

工业界一个很有价值的方向,是从真实交互中反向建模用户行为,例如:

  • approve / reject;
  • 编辑结果;
  • 补充信息;
  • 指定搜索路径;
  • 接管某个步骤;
  • 调整最终决策。

当模型能够模拟这些行为后,可以产生更多高质量、多样化的交互轨迹,再用于 SFT 或后训练。

它的最终目标不是单纯生成更多数据,而是:

让 human-in-the-loop 的比例逐渐降低,使 agent 更接近稳定、自动化的任务执行系统。

第四部分:问答整理

Q1:Token-level entropy 与 turn-level entropy 有什么区别?

Token-level entropy 描述局部生成分布的多样性。它增加词元层面的分支,相当于在当前策略附近进行搜索。 Turn-level 或 trajectory-level entropy 描述高层规划和策略差异,例如是否选择不同工具、是否采用不同任务分解方式。 Token 表达不同,不一定代表策略不同。因此,更理想的训练应同时约束局部生成多样性与高层策略多样性。


Q2:能否按每个 turn 或每次工具调用分配 reward?

可以设计,例如依据:

  • 工具调用是否正确;
  • 返回结果是否有帮助;
  • 信息增益是否增加;
  • 不确定性是否降低;
  • 是否更接近最终目标。

但过程 reward 必须高度可靠。如果它频繁奖励错误步骤,会直接污染强化学习信号。很多工业训练仍更依赖 outcome reward,原因不是过程奖励没有价值,而是可靠的过程奖励很难构造。


Q3:Reward 的取值种类越多,学习效果越好吗?

不一定。 离散 reward 和连续 reward 没有本质差别。关键是一个 rollout group 内是否存在适当方差,从而形成 relative advantage。 取值种类很多,但每次 rollout 都得到相近分数,仍然没有有效信号;只有 0 和 1,但同一 group 内能够稳定区分好坏,也可以有效训练。


Q4:没有大量数据,怎样做 Agentic RL 冷启动?

首先要有足够的 action 和 trajectory 覆盖。可以通过 synthetic data 构造:

  • 工具调用样例;
  • 不同策略路径;
  • 成功与失败轨迹;
  • 纠错轨迹;
  • 长任务分解;
  • 不同 scaffold 下的交互。

冷启动模型应优先保证探索空间,而不只是追求 SFT 的单次准确率。


Q5:LLM 幻觉与 Agent 幻觉的处理方式相同吗?

高层逻辑相似,都是判断输出是否可靠。 纯 LLM 可以依赖:

  • confidence;
  • log probability;
  • 不同层分布变化;
  • self-consistency。

Agent 还可以调用外部工具进行验证,例如:

  • 执行代码;
  • 查询数据库;
  • 使用搜索;
  • 构建或查询知识图谱;
  • 调用其他 verifier。 因此,Agent 环境中的幻觉处理通常有更多外部证据可用,理论上比只观察模型内部概率更可靠。

Q6:如何判断 off-policy 已经失控?

典型信号包括:

  • 训练 reward 上升,但测试集不升反降;
  • KL 或 policy loss 异常;
  • clip token 比例持续增加;
  • 同一 token 序列在训练和推理框架中得到不同 log probability;
  • 长轨迹由多个旧模型版本拼接,却直接用于更新新策略。

出现这些现象后,不能只调 clip threshold,还应系统检查 rollout 版本、框架实现、数值精度、MoE routing 和异步更新策略。


Q7:Self-evolving Agent 最值得关注什么?

两个基础条件:

  1. 一个真正动态变化的环境或 benchmark;
  2. 一个可验证、可追溯、可长期管理的 memory 系统。

之后还要研究如何将 memory 转化为 continual training 或 post-training 数据,让 self-evolving 不只是“外挂记忆不断变多”,而是模型能力本身持续增长。


第五部分:Takeaway

三个不变量

  1. 探索空间不坍缩:模型持续产生不同策略,而非反复强化单一路径。
  2. 学习信号不退化:避免 rollout 全对或全错,保持合适的组内奖励方差。
  3. 分布偏移可控:允许有限 off-policy,但必须控制策略版本和训推差异。

八个系统要素

  1. 环境构建
  2. 算力分配与样本编排
  3. Policy Model 与冷启动
  4. 目标函数与 Policy Optimization
  5. 训推一致性
  6. Reward 与 Verifier
  7. Memory 与 Self-Evolving
  8. Infrastructure

核心判断

  • Reward 方差小:先看样本和 rollout,不要急着换算法。
  • 训练涨、测试不涨:优先排查 off-policy 和训推不一致。
  • 测试有效、线上无效:优先排查模拟环境与真实环境的差距。
  • Process reward 不可靠:宁可使用稀疏但准确的 outcome reward。
  • 冷启动准确率高但多样性低:未必适合继续做 RL。
  • 没有可靠环境、数据编排和基础设施:RL 可能不如直接做 SFT。

最重要的一句话

有效的 Agentic RL 不是某个算法单点取胜,而是环境、数据、策略、奖励、记忆与基础设施共同形成闭环。