MPO:长程 Agent 训练把信用分配与策略更新一起锚定在回合尺度

速览

长程 LLM Agent 的奖励只在轨迹末尾出现一次,而 PPO 式梯度是逐个 token 算的,信用该记在哪把尺子上,一直是个含糊的地方。MPO 给出的答案是两把尺子都要,但共同锚点放在回合:优势在回合轴上递推,回合内只留一个均值保持的去均值修正,重要性比与裁剪也按整轮算。论文在 Qwen3-4B 与 Qwen3-30B-A3B 两个规模上各自九项指标全部排第一,4B 的三个 pass@1 比最强基线分别高 4.33、3.85、0.66 个点。MPO

这篇论文的价值不在分数本身,而在于它把长期含糊的问题写成了可以检查的形式:回合怎么切,回合内还剩多少信用可分配,以及为什么优势估计和策略更新必须同时改,这三件事它都给了明确答案。有两件事要提前说清:这个优势融合公式与二十天前另一篇独立工作 VETTA 代数同构,真正站得住的增量只剩把比值与裁剪搬到整轮;所有结果每个配置只跑了一次。

一个回合就是一个动作,token 只是它的零件

长程 agent 的信用错位是尺度选错,不是算法选错。论文把轨迹写成 $\tau=(o_0,a_0,o_1,a_1,\dots,o_T,a_T)$:$o_0$ 是任务提示,$a_t$ 是一次完整的 assistant 输出,$o_{t+1}$ 是这次输出之后环境返回的观测。一次 $a_t$ 本身是 $L_t$ 个 token,可能包含思考、工具调用,以及「这一轮到此为止」的判定。奖励只有轨迹末端的 $R(\tau)$,折扣因子取 1,也就是除最后一个 assistant token 之外,前面每个 token 的即时奖励都是 0。

三条切分规则决定了这套坐标是否自洽。回合终止的判定算在 $a_t$ 内部,因为它是策略做的决定。环境观测进入历史,但不是策略动作,因此既不产生 TD 残差,也不消耗一步衰减。奖励在最后一个 assistant token 处分发。第二条最容易写错:把观测 token 数进时间轴,等于给策略从未选择过的位置分配信用。

图注:一条长程轨迹被切成回合与环境观测交替的序列。回合内部是一条 token 级时间轴,观测节点不是策略动作,奖励只在最后一个 token 出现。

问题就落在这里:真正改变环境状态的是整轮动作,一次搜索、一次点击、一次文件写入,但梯度展开在 token 上,而 token 轴上的相邻两步与「环境状态有没有变」没有关系。现成做法各占一端。GRPO 把一段生成的奖励归一化后给整段共用一个优势,回合内不再区分;token 级 PPO 把每个 token 都当成决策点,在几万 token 的回复上把信用摊薄。GRPO

回合作为组织单位本身并不新。RAGEN 的多轮训练回路一直是轨迹级更新,ArCHer 早在 2024 年就把回合层与 token 层拆成两个过程。新的是长程任务把回复拉到几万 token 之后,这个错位从边角问题变成了主要误差来源。RAGEN ArCHer

论文的实测:critic 值主要随回合变化,作者也自己标出了反例

论文用一组 critic 值的统计说明,信用应当用回合来组织。同一组统计也说明,价值变化并不只发生在回合边界,这正是它要在回合内另留一层修正的理由。论文统计了 2,048 条轨迹、16,323 个回合,取自一次 4B search run 的 8 个 checkpoint。回合均值之间的差异解释了 critic 轨迹内价值方差的中位数 89.5%(按 token 加权)与 90.2%(按回合等权),93.8% 的轨迹上回合间方差大于回合内方差。换句话说,同一个回合内部的 critic 值大致是平的,一跳过回合边界就换了一个高度。

拆台的数据在同一张图的另外两个面板里:只有 22.4% 的轨迹,其平均边界跳变超过回合内 P95 与 P05 的跨度;把所有相邻位置的平方变化量汇总起来,发生在回合边界上的只占 9.2%。这两组数字看上去在拆自己的台,而论文的意思是它们并不矛盾:回合层面的价值差异大,不等于大部分局部价值变化发生在边界。回合内是一片平缓但有起伏的地形,边界上是稀疏的台阶。

critic 值跨回合结构诊断

图注:四个面板。(a) 每条轨迹一个点,横轴为回合内 RMS 偏差、纵轴为回合间 RMS 偏差,虚线是等值线;(b) 回合间方差占比中位数随训练步的两条曲线,蓝线按 token 加权、绿线按回合等权,带误差棒;(c) 每条轨迹的平均边界跳变与回合内跨度的累积分布;(d) 相邻位置平方变化量中,边界与回合内各占的份额随训练步变化。MPO

于是设计约束只剩一条:用回合当组织坐标,同时保留回合内逐 token 的修正。这也解释了方法为什么不能简单地「把优势聚合到回合级」。统计口径也要记住,它只来自一次 4B search run,没有覆盖 30B 与另外两类任务;图里的误差棒是 prompt-cluster bootstrap 区间,不是显著性检验。这组观察是设计线索,不是普遍规律。

MPO 的解法:回合轴算 GAE,回合内只做去均值修正,比值按整轮共享

两处改造是同一件事的两面:优势侧决定每个 token 分到多少信用,更新侧决定这份信用在多大的概率偏移内被使用。少了前者,整轮权重压在同一个常数上,回合内没有区分;少了后者,回合内的修正会在整轮比值的求导里相消。论文的总览图把这条链路画在一起。

MPO 方法总览

图注:底部是轨迹时间线,回合内画成一个个 token,回合之间夹着环境节点,下方两条括号分别标 token scale 与 turn scale;左上放大框写出 MAE 公式与均值等于回合优势的标注;绿框是回合级策略更新,标注 shared turn ratio 与 token-specific gradients,并给出整轮比值等于各 token 比值之积;右上附一小段 4B 验证曲线。MPO

MAE 分四步。先在回合边界把价值预测缝起来,令 $V_{t,L_t+1}:=V_{t+1,1}$,于是回合内所有相邻 TD 残差求和时,中间的价值预测两两相消,只剩 $\delta_t^{\text{turn}}=\mathbb{1}{t=T}R(\tau)+V_{t+1,1}-V_{t,1}$。再在回合轴上跑一遍 GAE,得到 $A_t^{\text{turn}}=\delta_t^{\text{turn}}+\lambda A_{t+1}^{\text{turn}}$,λ 每跨一个回合衰减一次。第三步在回合内部跑一条只切在边界处的 trace,λ_intra 每跨一个 token 衰减一次。最后把两条结果合成,用的不是相加,而是一个均值约束下的最小二乘投影:

$$A_{t,i}^{\text{MAE}}=A_t^{\text{turn}}+\beta\left(A_{t,i}^{\text{intra}}-\bar{A}_t^{\text{intra}}\right)$$

均值保持是这个式子的定义性性质,不是事后观察:回合内所有 token 的 $A^{\text{MAE}}$ 求平均,正好回到 $A_t^{\text{turn}}$。β=0 只是它的一个端点,退化成把回合优势原样广播给每个 token。把它读成「把优势聚合到回合级」恰好读反了,它做的是在回合锚点上叠一层零均值的细粒度修正。

两个 λ 分开调的原因在跨度。参考配置里 λ=0.80,$1/(1-\lambda)$ 约等于 5,一个回合的优势大约看得到后面 5 个回合;λ_intra=0.95 对应约 20 个 token。同一条递推式搬到两条时间轴上,两个系数数的是不同事件,衰减单位一个是回合、一个是 token,覆盖范围完全不同,所以必须给两个数。GAE 消融也说明这个平衡很敏感:λ 升到 0.85,三个 pass@1 分别掉 1.72、2.21、1.05。

讲解:优势在回合轴递推,回合内只做零均值修正

更新端要处理一个抵消问题。整轮比值是 $\rho_t=\prod_i \rho_{t,i}$。如果所有 token 的 MAE 优势都乘上这同一个可微的 $\rho_t$,求导时每个 token 的梯度都会带上其他 token 修正项之和,而那部分由构造为零,回合内的修正就被抹平了。论文构造 $\tilde\rho_{t,i}=\rho_{t,i}\cdot \mathrm{sg}\left[\prod_{j\ne i}\rho_{t,j}\right]$:前向数值上每一项都等于整轮比值,反向传播时只有 $\rho_{t,i}$ 这一项带梯度。裁剪写在这个整轮比值上,却逐 token 使用。这一步因此同时做到两件事,整轮的概率偏移被同一个上限约束住,回合内每个 token 仍然拿到属于自己的那份优势。

讲解:整轮比值共享,梯度只走自己的 token

理论部分要如实降级。论文给的是 TRPO 式的改进界与分布漂移惩罚,同一个 KL 预算下 token 尺度的界要多背 $(T+1)(L_{\max}-1)$ 量级的额外项,还构造了一个内部 critic 误差能让 token 目标反向的例子。这不是方差论证,裁剪也不构成硬性的宏观信任域。PPO MPO 没有给出 clip ε 的数值,组内比较时可以拿 PPO 原文 §3 建议的 0.2 与 VAPO 的 0.28/0.2 当同族参照,但那不是本篇的设置。critic 只有一个,沿用 VAPO 的做法令 λ_critic=1 直接回归终端回报。VAPO

两个规模九项指标全第一,把比值退回 token 级后每项都掉

主结果的说服力来自两处一致性:九项指标在两个规模上全部第一,以及把回合级比值换回 token 级后每一项都往下掉。实验覆盖三类任务,搜索类用 BrowseComp-Plus、GAIA、HLE,工具调用与自动化用 Claw-Eval 与 Automation Bench。两个模型是 Qwen3-4B-Thinking 与 Qwen3-30B-A3B-Instruct,后者按 Qwen3 技术报告属于 MoE,激活约 3B。对照包含 Base、GRPO、GSPO、PPO、VAPO、SAO 等七组。

配置BrowseComp-Plus pass@1GAIA pass@1HLE pass@1
4B,相对最强非 MPO 基线+4.33+3.85+0.66
30B-A3B,相对最强非 MPO 基线+3.59+3.80+0.12
4B,比值退回 token 级−2.36−3.12−1.03
30B-A3B,比值退回 token 级−2.05−2.19−0.58

这些数字要分两种读法。HLE 上 4B 只高 0.66、30B 只高 0.12,这个幅度不算拉开差距,HLE 本身也难。真正支撑方法主张的是另外两件事。一是九项指标没有一项被反超,二是消融方向完全一致。把回合级比值换回 token 级,两个规模三个 benchmark 全部下降。一个技巧如果在某个 benchmark 上涨、另一个上掉,可以解释成噪声;六项全掉的方向性,更像这个部件真在起作用。

test-time scaling 曲线

图注:六个并排的 pass@k 面板,横轴为尝试次数 k 从 1 到 32,纵轴为 pass@k;从左到右依次是 4B 与 30B-A3B 在 BrowseComp-Plus、GAIA、HLE 上的结果。三条曲线分别对应 GRPO、PPO 与 MPO,红色曲线在全部六个面板中都位于两条基线之上,且随 k 增大保持间距。MPO

收益也延续到更大采样预算。4B 的 pass@32 在三个 benchmark 上是 75.90、69.90、34.00,比 GRPO 与 PPO 里较强的那个高 3.61、5.82、5.80。k 从 1 涨到 32,差距没有收窄,说明它不是单次采样运气好一点。要注意图中只有三种方法,六个面板纵轴量纲也不同,不能横向比高度。

最后一条消融把两个尺度分开算了账。β=1 最好,去掉回合内修正后三个 pass@1 掉 6.28、5.27、2.04;而 β=0 只剩回合广播时仍然胜过 PPO,pass@1 高 0.95、2.49、0.66。回合锚点自己就有用,回合内那层修正再叠一层,这正好对应上一章看到的图像:回合间差得多,回合内差得少但存在。

MPO 真正新的是把比值与裁剪搬到回合,而它的证据只有一次运行

这篇论文不能当成「回合级信用分配的第一次」。它引用的 HyGAE 在 2026 年 7 月就证明了统一 critic 可以同时服务两个尺度,GiGPO 更早用 anchor state 分组做过回合与步级的信用,ArCHer 的层级结构可以追到 2024 年。更关键的是二十天前挂上 arXiv 的 VETTA:它的融合式 $A^{\text{turn}}+\alpha(A^{\text{tok}}-\bar{A}^{\text{tok}})$ 与 MAE 代数同构,两篇互不引用,作者完全不重叠(机构层面唯一重合是清华大学,成员不同)。VETTA HyGAE GiGPO

VETTA 方法总览

图注:三栏。(a) 共享轻量 critic 保留前面的 block、丢弃其余,其下 turn head 与 token head 各出一路价值;(b) actor 与环境交互收集轨迹,价值估计支撑优势计算,再做价值回归与 PPO 更新;(c) 轨迹同时按回合与 token 两条序列各跑一遍 GAE,token 优势在单个回复内去均值后与回合优势组合。VETTA

两篇在架构图上可见的机制分歧集中在两处。VETTA 用一个共享 backbone 接两个独立的头,回合级与 token 级各有一个价值函数;更新仍然走 token 级比值与 token 级裁剪。MPO 用单一 critic 支撑两个尺度,靠边界缝合让同一价值函数在回合轴上接得上;比值与裁剪搬到整轮。这样一算,可辩护的增量只剩四条:整轮的重要性比与裁剪、单一 critic 支撑双尺度、显式的边界缝合项、critic 值方差结构的诊断。前三条是机制,第四条是论证来源,四者都不构成「回合级信用」的首创。

证据强度也要摆平。每个配置只跑了一次,论文没有给种子数、方差或置信区间;Claw-Eval 与 Automation 的训练数据是公司内部私有数据;clip ε 与算力规模都没报;上一章那组诊断只来自一次 4B search run 的八个 checkpoint。论文本身没有单独的局限章节,这些边界是作者散在正文与附录里的自述,加上从实验设置推出的归纳。

还有一个容易忽略的反面证据:SAO 在自己论文里做过粒度消融,把 step 级价值配上 step 级 GAE,两个变体是 85.8 与 87.3,反而不如 token 级的 89.8。这说明「回合是更自然的动作单位」和「回合是更好的信用分配单位」是两回事。MPO 的处理方式是把这两件事拆开,回合当锚点,回合内保留 token 级信用,而不是把信用整体抬到回合。SAO

判断可以下得具体一点。这是一篇值得照着做的工程参考,它把双尺度坐标、均值保持投影和整轮比值写到了可以复现公式的程度;它还不是定论,因为新颖性被同期工作挤到一条,证据只到单次运行。如果你的多轮训练里回合切分稳定、回复又足够长,这套锚点可以直接借;如果任务是短回合或者异步 rollout 主导,它解决的问题未必是你的问题。

想深入可以读原文:Multiscale Policy Optimization for Long-Horizon LLM Agents(arXiv:2610.35013)。

参考文献

MPO:长程 Agent 训练把信用分配与策略更新一起锚定在回合尺度