别再给整条轨迹发"平均奖"了:AgentOPSD 用递归贝叶斯信念揪出真正立功的那几轮

核心摘要

跑过 agentic RL 的人都知道一个别扭的地方:一条 10 轮的轨迹,环境只在最后给你一个 0/1 奖励,GRPO 把这个奖励算成一个轨迹级优势,然后均匀广播到每一个 token 上。功劳均摊、锅也均摊。这篇 AgentOPSD(arXiv:2608.05987)干的事,就是把自蒸馏的 token 级师生 log-prob gap 先按轮聚合,再喂进一个在 log-odds 空间递归更新的贝叶斯信念状态里,用"这一轮让成功信念动了多少"来当 turn-level credit。整套东西不需要 critic、不需要额外 rollout,每轮只多一次教师前向。结果在 ALFWorld 上用 Qwen2.5-7B 刷到 89.1% 成功率,而且任务越长优势越明显——每多一轮交互,GRPO 掉 2.91 个点成功率,它只掉 0.54。这不是颠覆性新框架,而是给 group-relative RL 打了一个相当精巧的"信用分配补丁",思路漂亮,值得细读。


论文信息

  • 标题:AgentOPSD: Recursive Self-Distillation for Agentic Reinforcement Learning
  • 作者:Zi-Han Wang, Zhengxi Lu, Zhiyuan Yao, Jinyang Wu, Jie Wu, Zhengzhou Cai, Yueqing Sun, Ziang Ye, Linji Hao, Qi Gu, Xunliang Cai, Yongliang Shen, Yujiu Yang(通讯)
  • 机构:清华大学、浙江大学、美团
  • 发表:2026 年 8 月 6 日提交,arXiv:2608.05987v1 [cs.AI]
  • 链接:https://arxiv.org/abs/2608.05987
  • 代码:https://github.com/ZethWang/AgentOPSD

问题动机:平均主义的奖励,分不清"关键一步"和"日常操作"

先想象一个场景。你训一个 ALFWorld 智能体,让它"把杯子洗干净再放到桌上"。这条轨迹要十来轮交互:找杯子、拿起来、找水槽、开水龙头……最后环境告诉你:成功了,奖励 +1。

GRPO 的处理方式是什么?对同一个任务采样 G 条轨迹,算出每条轨迹的组内相对优势 \(A_{\mathrm{seq}}\),然后把这个标量原封不动地贴到轨迹里每个 token 上。找到杯子的那一轮和中间随口说了句废话的那一轮,拿到的梯度信号一模一样。

这在数学推理那种"一条 CoT 出一个答案"的场景里还凑合——推理链本身同质化程度高。但 agentic 任务里,决策的贡献极度不均:成功轨迹里可能混着好几步冗余甚至误导性动作,失败轨迹里也可能藏着相当漂亮的推理。任务越长,这个问题越刺眼。

已有的补救方案是 OPSD 一脉的自蒸馏:训练时给模型看一个"特权信息"(比如检索出来的技能提示),教师分支(带特权)和学生分支(不带特权)对同一段生成打分,log-prob gap 就能当密集的监督信号用。这个思路之前的 DAPD、SDAR 等工作都验证过有效性。但作者指出了两个没解决好的错配:

  1. 粒度错配:OPSD 的 gap 是 token 级的,可 agentic 任务里一个动作由一堆 token 共同构成,环境只在轮边界给响应。token 级信号和环境反馈的节奏对不上。
  2. 孤立看问题:像 StepOPSD 这样的 step-aware 方法,每一轮独立算分,完全不考虑"前面已经积累了什么证据"。

第二个错配是这篇文章真正的切入点。作者给的洞察我很喜欢,一句话:一轮动作的信用,不该由它自己的局部信号孤立决定,而该由"这个信号让最终成功的概率估计变化了多少"来决定。

说实话,这个视角转换是整个方法的灵魂。局部 gap 只是"新证据",证据的重要性取决于它放在已有信念上能掀起多大波澜——这已经快扳回一城的时候再进一球,和 0 比 0 时进一球,含金量完全不同。


方法:三步把轨迹级优势拆成轮级信用

图2:AgentOPSD 方法总览

图2:AgentOPSD 总览。左侧是智能体与环境的多轮交互循环;中间是核心三步流水线——轮内 token 级师生 gap(\(\delta_{k,t}\))聚合成轮级证据(\(e_k\)),信念状态 \(B_k\) 从组成功率初始化并递归更新,读出的边际修正 \(\Delta B_k\) 就是轮级信用;右侧作为对比,vanilla GRPO 把同一个序列级优势广播给所有 token。每个 token 最终继承所属轮的重塑优势。

整个方法拆开就三步,对应图 2 中间的流水线。

第一步:token gap 聚合成轮级证据

教师和学生共享参数 \(\theta\),区别只在上下文里有没有特权技能 \(c^{+}\)(从 SkillRL 的 SkillBank 按关键词检索,只在训练期用,推理时不用)。对第 \(k\) 轮第 \(t\) 个 token:

\[\delta_{k,t}=\log\pi_\theta(y_{k,t}\mid h_{k,t}^{+})-\log\pi_\theta(y_{k,t}\mid h_{k,t})\]

然后把整轮的 gap 求和:

\[e_k=\sum_{t=1}^{L_k}\delta_{k,t}=\log\frac{\pi_\theta(a_k\mid s_k,c^{+})}{\pi_\theta(a_k\mid s_k)}\]

这个求和不是拍脑袋的工程选择。附录里有个挺漂亮的推导:在"技能条件分支近似成功条件下的动作分布"这个假设下,\(e_k\) 恰好是理想贝叶斯因子(Bayes factor)的符号一致代理——\(e_k > 0\) 说明这个动作在成功轨迹里比在自然分布里更典型,反之亦然。换句话说,求和之后的 \(e_k\) 有了明确的概率解释:它是"这个动作提升还是降低了成功支持度"的证据

第二步:log-odds 空间的递归信念更新

这是全文最核心的设计。作者维护一个信念状态 \(B_k\)——"给定目前交互历史,这条轨迹最终会成功"的相对支持度——并在 log-odds 空间里做递归更新:

\[B_0=\operatorname{clip}(\bar{R},\epsilon_0,1-\epsilon_0),\qquad c_k=\gamma\,c_{k-1}+e_k\]
\[\ell_k=\operatorname{logit}(B_0)+c_k,\qquad B_k=\sigma(\ell_k)\]

几个细节值得说道:

  • 先验 \(B_0\) 直接取 GRPO 组内成功率 \(\bar{R}\)。作者证明了这就是任务成功率的极大似然估计,不用学任何额外参数。全对或全错的组用 \(\epsilon_0=10^{-4}\) 兜底防止 logit 爆炸。
  • 衰减因子 \(\gamma\) 只折扣证据、不动先验\(\gamma=1\) 时退化成 Wald 序贯检验里的对数似然比累加;\(\gamma < 1\)(实际用 0.95)让近期证据权重更高,长轨迹里早期证据不会无限累积。
  • 作者明说了 \(B_k\) 是"相对支持度"而非校准概率——这个坦诚我觉得是加分项,没有过度 claim。

然后,轮级重要性定义为边际信念修正

\[\Delta B_k=B_k-B_{k-1}\approx B_{k-1}(1-B_{k-1})\big(e_k-(1-\gamma)\,c_{k-1}\big)\]

你想想看这个式子在说什么:新证据 \(e_k\) 先扣掉衰减残留,再乘上 \(B_{k-1}(1-B_{k-1})\) 这个门控项。这个门控项在 \(B=\frac{1}{2}\) 时最大——信念越不确定,新证据的影响力越大;信念已经饱和(几乎确定成功或失败),同样的证据就只配溅起小水花。这就是前面说的"0 比 0 进球 vs 垃圾时间进球"的数学化。

最后把结果对齐到验证器给出的方向:

\[q_k=\operatorname{sign}(A_{\mathrm{seq}})\,\Delta B_k\]

幅度表示信念动了多少,符号表示这个修正和最终成败一不一致。

第三步:有界优势重塑,绝不反水

信用算出来了,怎么塞进策略梯度?作者的选择非常克制:轨迹内标准化 \(q_k\) 得到 \(z_k\),然后做一个有界乘数

\[w_k=\operatorname{clip}\!\left(1+bz_k,\,1-b,\,1+b\right),\qquad \widetilde{A}_k=A_{\mathrm{seq}}\big[(1-\lambda)+\lambda w_k\big]\]

乘数被夹在 \([1-b,1+b]\) 区间里,严格为正。这意味着 AgentOPSD 只调节每轮更新的力度,永远不反转 GRPO 的方向——成功轨迹里再烂的轮次也只是少夸一点,绝不会变成惩罚。\(\lambda=0\) 时整个方法精确退化回 GRPO(论文里 Prop. 3 证明了这一点)。

最终目标是标准的 PPO 裁剪 + KL 正则,token 继承所属轮的优势。相比 GRPO,唯一的新增开销是每轮一次教师前向传播,没有 critic 网络,没有额外 rollout,也没有独立的蒸馏 loss。

这个"只做重加权、不动优化框架"的保守设计,我个人很欣赏。之前不少 credit assignment 工作恨不得重写整个 RL 流水线,最后收益和复杂度不成比例。AgentOPSD 把改动面压到最小,工程上几乎是无痛接入。


实验:三个环境、两个规模,全面压制自蒸馏基线

设置

  • 基准:ALFWorld(文本具身,6 类家庭任务)、Search-QA(遵循 Search-R1 设置,NQ/HotpotQA 域内、TriviaQA/PopQA/2Wiki/MuSiQue/Bamboogle 域外)、WebShop(128 个固定验证任务)
  • 模型:Qwen2.5-3B-Instruct 和 Qwen2.5-7B-Instruct,8 张 H800 训练
  • 基线分三组:training-free(Vanilla、Skill-Prompt)、group-relative RL(GRPO、Skill-GRPO)、自蒸馏 RL(OPSD、GRPO+OPSD、Skill-SD、RLSD、SDAR、StepOPSD)
  • 默认超参:\(\lambda=0.5\)\(\gamma=0.95\),clip-higher \(\epsilon_{\mathrm{high}}=0.24\)

主结果

方法 ALFWorld 成功率 Search-QA 准确率 WebShop Score WebShop Acc
Vanilla 12.5 33.9 5.9 1.6
GRPO 81.2 42.0 80.9 72.6
GRPO+OPSD 80.4 47.0 86.8 76.5
Skill-SD 85.1 47.8 86.1 76.5
RLSD 82.0 49.0 87.4 77.3
SDAR 85.9 49.0 89.4 82.8
StepOPSD 88.4 48.2 87.2 78.1
AgentOPSD 89.1 49.2 90.2 79.7

表:Qwen2.5-7B-Instruct 上的聚合结果(%),技能均为训练期专用(带 ∗ 者验证期也用技能,此处略)。

3B 规模的格局类似:AgentOPSD 在 ALFWorld 84.4(与 SDAR 并列)、Search-QA 46.7、WebShop Score 90.4、Acc 69.5,四项聚合指标全部第一或并列第一。

有几个数字值得单独拎出来:

  • WebShop Score 90.4/90.2 是两个规模上的全场最佳,而且比 GRPO 高出约 10 个点。WebShop 是长交互的网购任务,恰好是信用分配最难的场景。
  • ALFWorld 7B 的 89.1% 里,Clean 类任务直接到了 100%。
  • 但 WebShop Acc 上 SDAR(82.8)仍然压过 AgentOPSD(79.7)一头——8 项聚合比较里 AgentOPSD 赢了 SDAR 6 项,不是全胜。作者没在正文里多解释这个,我猜是 WebShop 的 Acc 指标对精确匹配商品属性要求很苛刻,SDAR 的幅度注入方式在这种"最后一步定生死"的任务上歪打正着。这块原文没展开,我也只是推测。

训练动态与时程鲁棒性

图1:训练动态与时程敏感性

图1:Qwen2.5-7B / ALFWorld 上的三条曲线。左:验证成功率随训练步数的变化,AgentOPSD(紫色实线)全程压过 GRPO(蓝色虚线)约 10 个点。中:时程敏感性——每多一轮交互损失的成功率点数(OLS 斜率),越接近 0 越稳。右:策略熵曲线,AgentOPSD 的熵被压得更低。

中间那张柱状图是全文最有说服力的一个数字:每多一轮交互,RLSD 掉 3.59 个点成功率,GRPO 掉 2.91 个点,AgentOPSD 只掉 0.54 个点

这说明递归信念更新确实在解决它声称要解决的问题——长时程信用分配。方法论的卖点和实验证据对上了,这在 RL 论文里不算常见。右边那张熵曲线也有意思:AgentOPSD 的策略熵明显低于 GRPO,说明信念引导的重塑让策略更快收敛到高置信动作。至于是不是有探索不足的风险,论文没讨论,我持保留态度。

消融:每个组件都在干活,但贡献大小不一

消融项 成功率 降幅
AgentOPSD 完整版 89.1
轮级粒度 → 改回 token 级累积 85.9 降 3.2 个点
递归状态修正 → 直接用局部 gap \(e_k\) 82.8 降 6.3 个点
符号方向 → 只保留幅度 \(\|\Delta B_k\|\) 80.5 降 8.6 个点
状态先验 \(B_0\) → 去掉成功率锚定 78.9 降 10.2 个点

表:ALFWorld / Qwen2.5-7B 上的组件消融(成功率 %)。

这张表的信息量很大。贡献最大的不是那个 fancy 的递归贝叶斯更新,而是两个"看起来平平无奇"的设计:先验锚定(降 10.2 个点)和符号方向(降 8.6 个点)。递归修正和轮级粒度各贡献 6.3 和 3.2 个点。

作者的总结挺到位:"belief revision localizes credit, the signed direction aligns it with the final outcome, and prior anchoring stabilizes its reference point"——三者角色可分离。但从消融看,如果只能留一个,留的应该是先验锚定。这也侧面说明组内成功率这个信号本身就很强,递归机制是在它的基础上做精细化。

超参敏感性:只有 λ 值得调

图3:超参数敏感性

图3:三行分别是 ALFWorld-7B、Search-QA-3B、ALFWorld-3B;三列分别扫 λ(重塑权重)、γ(证据衰减)、\(\epsilon_{\mathrm{high}}\)(裁剪上界)。红色曲线(默认配置)在多数场景下处于领先位置,但 γ 和 \(\epsilon_{\mathrm{high}}\) 的各条曲线几乎缠在一起。

敏感性实验的结论很干净:λ 是唯一有系统性影响的旋钮——0.5 最优,越小越退化成纯 GRPO;γ 从 1.0 扫到 0.8 结果都在几个点内波动且无单调趋势;\(\epsilon_{\mathrm{high}}\) 几乎无感。

还有个细节很能说明问题:在四轮左右的短程 Search-QA 上,所有超参的差异都急剧缩小。作者的原话是"在长时程 ALFWorld 上重要的设置,在缺乏历史积累时基本失效"。这其实是对方法适用边界的一次自我暴露——历史越短,递归信念能积累的修正越少,方法越接近 GRPO。诚实,而且对使用者很有参考价值。


我的判断:一个精致的补丁,而不是新范式

亮点在哪?

这个工作最值钱的地方,是把"turn-level credit"重新形式化为"对成功信念的边际修正"。这个说法听起来抽象,落到实现上却异常朴素:一次教师前向、一个递推式、一个有界乘数。附录里 7 个命题把有界性、符号保持、GRPO 退化、先验的 MLE 性质都证了一遍,理论包袱收拾得很干净。和同期一票"再造 RL 框架"的工作比,AgentOPSD 的侵入性低到几乎可以当成 GRPO 的一个插件。

问题在哪?

几处我得泼点冷水。

一是证据质量高度依赖特权技能的相关性。\(e_k\) 的符号一致性建立在"技能条件分支近似成功条件分布"的假设上,如果 SkillBank 里检索出来的技能文不对题,整个证据链的可信度就要打折。论文没有分析技能检索失败时方法的退化情况。

二是 \(\Delta B_k\) 依赖成功率较高的组才能提供有效先验——全对或全错的组里 \(B_0\) 被 clip 到边界,\(\Delta B\) 的门控项 \(B(1-B)\) 趋近于零,等于这些组里所有轮的信用都被压平。这其实是 GRPO 零方差问题的换皮再现,方法并没有根治它。

三是 WebShop Acc 上输给 SDAR 这件事没被充分讨论。我怀疑当任务成败集中在最后一两轮(比如最终下单决策)时,递归累积的机制反而可能稀释了决定性轮次的权重。这个猜测论文没给证据,但值得后续工作验证。

工程上怎么用?

如果你正在跑 agentic RL,任务是长时程多轮交互(具身、网页操作、多轮检索),而且已经在用 GRPO + 某种特权蒸馏,那 AgentOPSD 基本是"白捡的收益":改动小、开销低、全程不反 GRPO 的方向。λ 用 0.5、γ 用 0.95 直接抄默认配置就行,别的旋钮不用碰。反过来,如果你的任务平均只有三四轮交互,别指望它带来明显提升——论文自己的敏感性实验已经承认了这一点。

说到底,这篇论文给我的感觉是:它没有发明新的 RL 算法,但它给"自蒸馏 gap 到底该怎么用"这个问题交了一份有理论、有消融、边界清晰的答卷。在 credit assignment 这个老问题上,这种扎实的小步前进,比很多大口号的工作都更有复用价值。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我