R(τ)
TRAJECTORY REWARD
环境给的原始标量——"这一局成没成"。
多轮下它在轨迹末端才出现一次,稀疏且延迟:5 轮交互里前 4 轮做对了,最后答错,它就只说一句"失败"。
悬停展开
AGENTIC RL · REWARD CREDIT ASSIGNMENT · 2026-08-31
多轮轨迹的奖励归因,怎么进 GRPO / GSPO
单轮 RL 里整个 response 共享一个 advantage,"全对全错"天经地义。到了多轮 agentic RL:第 1 轮搜索做对了、第 2 轮 query 跑偏、最后答错——环境只回一个数。这个数该怎么分摊到每一轮,变成一个真实的设计决策。本报告沿形式化层、对照实验、归因谱系拆到 GSPO-token 为 multi-turn 留的那个口子。
ORM 零信号:失败 → 每轮 credit 全是 0.000,全员沉默(0 × γ = 0,零信号反向传播)。点击上方胶囊切换归因口径。
证据分级:论文一手 > 教材 > 教材转引 > 推断 [标注] · 全部论点忠实转写自 blog · 原文《7 轮交互失败了该怪谁》
§0 · 执行摘要
单一 trajectory reward 落在整条序列上——把它拆成每一轮的得分,是多轮 agentic RL 的第一个真实设计决策。
看一条五轮交互的轨迹:第 1 轮搜索命中了关键证据,第 2 轮改写 query 时跑偏带回了无关内容,第 3 轮纠错找回一半,第 4 轮计算出错,第 5 轮给出错误答案。环境只回了一个数:失败,reward = 0。
单轮 RL 里没有这个问题——整个 response 共享一个 advantage,"全对全错"天经地义。多轮下这个粗暴逻辑立刻出问题:第 1 轮明明做对了,凭什么和第 4 轮一起被罚?而且工程上还另有一层:轨迹里混着两类 token,模型自己生成的(思考、工具调用参数、最终答案)和环境返回的(搜索结果、代码输出),后者根本不该进梯度。所以"turn 级 reward 怎么进 GRPO/GSPO"实际是三个问题的合体:哪些 token 算动作、每个 turn 分多少 advantage、这个 advantage 乘到谁的头上。本报告按这个顺序拆。
教材把信号流拆成三层,这个分层是理解所有方案谱系的地图:
TRAJECTORY REWARD
环境给的原始标量——"这一局成没成"。
多轮下它在轨迹末端才出现一次,稀疏且延迟:5 轮交互里前 4 轮做对了,最后答错,它就只说一句"失败"。
悬停展开
STEP ADVANTAGE
把最终结果拆成每轮的得分——"第 t 轮该不该被奖励"。
信用分配(credit assignment)的主战场。ORM/PRM/折扣/IGPO 全都发生在这一层;"turn 级 reward 进 GRPO"的落点也是这里。
悬停展开
TOKEN GRADIENT
A 乘到该轮 action token 的 log-prob 上,进权重。
Δθ = Ai,t · Σk∈a(i,t) ∇ log πθ(yk | ·)。只有 action mask 标 1 的 token 参与求和。
悬停展开
所谓"turn 级 reward 进 GRPO",落点在第 2 层:GRPO 的组内比较天然工作在 trajectory 层(同一道题的多条轨迹比优劣),要落到 turn 级,就得自定义 Ai,t 再喂进去。下面的读数全部来自教材的对照实验与示例,逐项可下钻。
六项关键读数 · 点击任意一格下钻口径与出处 · 金额无涉,全部为实验读数或教材示例
§1 · 先把对象说清楚
连乘只在模型生成的 token 位置上进行——这一条先把"环境 token 该不该进梯度"永远钉死。
多轮轨迹的形式化(教材采用 AppWorld 论文的 POMDP 写法 )里,完整状态是 zt = [s0, c, x1:t]:s0 是隐藏的初始环境状态(数据库快照、REPL 状态),c 是任务上下文,x1:t 是到当前为止的全部 token 历史——包括模型生成的,也包括环境返回的。模型只看到文本部分,所以叫部分可观测。
轨迹概率的链式分解有一个关键细节,点公式里的每个符号看拆解:
翻译成 loss 就是 action mask:与轨迹等长的 0/1 向量,模型 token 标 1、prompt 和工具返回标 0。SearchR1 的实现把这件事做得非常直白:<think> 和 <search> 的内容参与训练,检索器返回的 <information> 段整体 mask 。如果让环境 token 也参与梯度,等于逼模型"学习预测搜索引擎返回什么网页",策略梯度被污染。把下面这条示意轨迹的每一段悬停或点开:
一条两轮轨迹的 action mask:模型段标 1,环境段标 0
段宽 ∝ token 数(示意)· 实线框 = 模型生成 · 虚线斜纹 = 环境返回 · 点击任一段下钻
Source · 教材转引 SearchR1 实现(blog 2026-08-31 转述,K8)
答案骨架。这一点决定了今天的答案骨架:turn 级 reward 进入训练的方式,不是给环境 token 加权,而是给每个 turn 的模型 token 构造各自的 advantage。后面的所有方案——ORM/PRM 对照、三条中间路线、反向折扣、GSPO-token——都只是给这句话填不同的实现。
§2 · 朴素方案为什么会失效
ORM 要么全员沉默、要么错怪好人;PRM 逐步独立评分,把"谁错了"讲清楚——代价是每一步都要评估。
教材的 Mini Agent Loop 实验给了最有说服力的一组数字 。任务:查地球半径 → 算赤道周长 → 验证 → 作答。构造一条"坏"轨迹:只有第 2 步错了(把 π 取成 3),第 1、3 步都正确,最终答案错。两种朴素口径的分轮 credit 对比如下,切换 ORM 口径看两种失败方式:
| 步骤 | 对错 | ORM · 零信号 | ORM · 失败给 −1 | PRM · 逐步评分 |
|---|---|---|---|---|
| 1 · 查地球半径 | ✓ 正确 | 0.000 | −0.857 | 0.656 |
| 2 · 算赤道周长(π 取 3) | ✗ 错误 | 0.000 | −0.857 | 0.376 |
| 3 · 验证 | ✓ 正确 | 0.000 | −0.857 | 0.170 |
| 4 · 作答 | ✗ 最终错 | 0.000 | −0.857 | −0.500 |
Mini Agent Loop 坏轨迹分轮 credit · 教材实验读数,blog 转述(K1)· 点击上图柱子可下钻单步口径
ORM(只看最终结果):失败时所有步骤的 credit 全是 0——因为 0 × γ = 0,零信号反向传播后每一步都"无信号";如果改成"失败给 −1",正确的第 1 步搜索会拿到 −0.857 的惩罚。错怪好人,或者干脆全员沉默。PRM(每步独立评分):正确步骤正分、错误步骤负分,区分度是 ORM 的 19 倍,同等步数下任务成功率高约 30 个百分点。代价是每步都要评估——真实场景意味着标注成本或再训一个打分模型。
PRM 太贵,ORM 太糙。2025–2026 年的中间路线按"信号从哪来"分成三类,本质都是在两者之间找折中。
谱系的起点 · 归因实验的读法
context 上面这组数字是全部中间路线的动机:不付 PRM 的评估成本,又不接受 ORM 的两种失败方式。why it matters 下文三条路线各自回答了"step advantage 从哪来"的同一个问题。
§3 · 归因谱系
别人改 Ai,t 从哪来;step-aligned 改优化的基本单元。两股正交的力量。
GiGPO · HGPO
组内多条 rollout 若在某个状态 s 汇合,就比较"同一局面下不同动作各自的后续回报",组内相对得分就是 step advantage。修正版 HGPO 指出同页面不等于同上下文(前面漏没漏约束,同一个"加入购物车"含义完全不同),用 k-step 历史把比较组分层,各层加权融合。
不需要任何额外标注 · 但依赖状态可碰撞——网页类任务天然友好,开放对话类几乎碰不上。
SPA-RL · IGPO
SPA-RL 训一个 progress estimator,要求每步贡献之和还原最终 reward(R̂ = Σ ĉt ≈ R),成功轨迹贡献和近 1、失败近 0。IGPO 更便宜:直接拿"模型对 ground-truth 答案的 log 概率增量"当 turn 级 reward——第 t 轮交互后更确信就记正,被带偏就记负,给出现成的 turn 级标量,可直接进折扣累积,不需要 Monte Carlo 估值。
IGPO 代价:依赖高质量标准答案,多答案问题会被误伤。
TURN-PPO · STEPPO
Turn-PPO 用 PPO 取代 GRPO 做多轮,理由是 trajectory 级组内 advantage 方差太大,改用 turn 级 advantage 估计——每个 turn 有自己的 advantage,在 turn 内部 token 间共享。和前面所有方法正交:别人改 Ai,t 从哪来,它改优化的基本单元。
观察窗口:turn 级 advantage 的方差应显著低于 trajectory 级组内 advantage——这是该路线的立足读数。
STEPPO 的核心论点
现有算法继承了 RLHF 的 token-centric 范式,但 agent 的决策天然是 turn 粒度的:一次搜索、一次改写、一次作答。token 级优化和 turn 级决策之间存在 granularity mismatch——优化单位比决策单位细了若干个量级,归因信息在这一层被摊薄。
这条诊断与 GSPO"优化单位应匹配奖励单位"的原则同源;它给 §5 的 GSPO-token 变体埋下了伏笔。
Source · 教材转引(SALT / GiGPO·HGPO / SPA-RL / IGPO / Turn-PPO / StepPO,arXiv 编号见 K7,未逐一核对一手)· 机制描述忠实 blog §归因谱系
无论走哪条路,多轮 RL 还多一个纯时间维度的问题:越早犯的错责任越大(第 1 步走错,后面每步都在错误上展开)。教材和工程实现都用反向折扣处理——这就是下一节。
§4 · TURN-LEVEL DISCOUNTING
7 轮交互只有最后一轮有 reward 1.0,γ = 0.9 时各轮分到的回报是 [0.531 … 1.000]。拖动 γ 看数列怎么变。
反向折扣的方向是从最终结果往回推:离结果越近的轮次拿到的回报越完整,越早的步骤折扣越大。教材示例:7 轮交互、γ = 0.9 时,各轮分到的回报为 [0.531, 0.590, 0.656, 0.729, 0.810, 0.900, 1.000] 。教材同时注明:γ 取 0.9 来自传统 RL 惯例,没有系统性消融——这是 §6 的未决问题之一。
读法。这根时间轴上"第 1 轮犯的错"会被 γ6 压到 0.531,而第 7 轮自己犯的错拿到全额 1.000——责任按与结果的距离分摊。但注意方向性:它回答的是结果回传,不是错误前传;前传要靠 §2 的逐步评分或 §3 的贡献分摊。
§5 · GRPO / GSPO 家族在这张地图上的位置
数值上恒等于序列级比率——梯度结构里却出现一个"逐 token 可定制的 advantage 位"。
上周 GSPO 那篇留下的尾巴今天兑现(姊妹报告:比率用错了单位:GSPO 把重要性采样提到序列级)。GSPO 的"优化单位应匹配奖励单位"原则在多轮场景会遇到真实张力:GSPO 的目标函数把整条 response 当一个 action,适合 outcome 级奖励;多轮 RL 想要 turn 级归因,等于要求比序列更细的粒度。GSPO 论文 §4.3 为此设计的 GSPO-token 变体 ,公式很能说明问题,逐项点:
sg[·] 是 stop-gradient(只取数值、不回传梯度)。这个构造的妙处:数值上 si,t 恒等于序列级比率 si,所以目标、裁剪条件、理论梯度与 GSPO 完全等价;但梯度表达式里出现了一个"逐 token 可定制的 advantage 位"。把同一 turn 的所有 token 设成同一个 Ai,t,就精确得到 turn 级归因——这是算法层为多轮留的正式口子,而不是工程 hack。下面用一组 token 直观看三种 advantage 粒度:
GRPO 家族走对称的另一条路:组内比较多条轨迹的机制不动,把 Ai,t 的构造外包出去——你给它 trajectory 级比较(默认)还是 turn 级分数(ORM + 折扣 / PRM / IGPO / SALT),它照乘不误。所以"turn 级 reward 进 GRPO"在实现上不是改算法,是改 advantage 构造器 + 确认 action mask 干净。
实在的空白。两条路线在论文层面的组合——GSPO-token × turn 级 Ai,t——目前没有公开消融,是个实在的空白(Qwen 内部是否验证过无从得知)。姊妹报告 GRPO 组大小的取舍 处理的则是同一族算法在 trajectory 层的另一个旋钮。
§6 · 我的三个判断
分档比单项技术重要;熵是归因质量的早期报警器;四类 reward 混归因无人拆开。
教材的选型建议按轮数分档:3–5 轮纯 ORM/GRPO 就够(episode 短,稀疏性不致命);5–15 轮上里程碑奖励或 SALT/GiGPO 这类无标注方法;15 轮以上必须 PRM 或 progress reward 加树搜索。这个分档比任何单项技术都重要——reward 密度撑不起学习时,换更强的 RL 算法收益为零。
依据:教材选型分档(K2)· 今天那条 5 轮轨迹,正处在第一档和第二档的边界上。
ORM 下失败轨迹全员受罚,模型学到的最省事的对策是降低行为多样性(少做动作、早点给答案)——熵坍缩在多轮下不是副产品,是错误归因的直接后果。反过来,PRM 或 IGPO 这类细粒度信号允许模型"保住对的步骤、只改错的",探索才得以保留。
依据:教材对熵坍缩机制的分析(K2)· 观察 turn 数分布与工具调用多样性,比看 reward 曲线更早暴露归因问题。
教材把 agentic reward 分四类:Outcome(最终对不对)、Format(动作能否被解析执行)、Cost(轮数、API 花费)、Process(步骤是否推进任务)。入门时通常只实现前两类保证训练跑通,Process 正是归因层要 dense 化的对象。但很多工程把 Format 惩罚也混进 outcome 信号里一起归因——格式错误的 turn 和推理错误的 turn 在轨迹里承担同样的 blame,这类混淆在公开报告里几乎无人拆开分析。
依据:教材四类 reward 分类(K2)· 混归因缺公开对照实验(K10)。
未决问题