多轮 agent 的失败轮不再被奖励:自教师只调梯度大小不动方向

Teach the Magnitude, Not the Direction: Verifier-Bounded Credit Assignment for Multi-Turn Multi-step LLM Agents

Zechuan Wang, Siyuan Lu, Hongxuan Zhang, Linjian Mo, Chenyi Zhuang, Leilei Gan

cs.AI

2026-08-13

CrEST 把多轮 agent RL 的逐 token 优势拆成轮级验证优势与熵门控自教师调制,BFCL V3 平均 52.0%,超过 GRPO 与全部蒸馏基线。

这篇在解决什么

训多轮工具调用 agent 的主流做法是 RLVR:任务结果可验证,奖励信号干净。但标准 GRPO 把整个 session 的一条轨迹打一个分,再把这个分摊到轨迹上所有 token。单轮任务里这只是噪声;多轮 session 里,每一轮有独立的成败,却共享同一个奖励。第一轮成功、第二轮失败的轨迹,失败轮的 token 一样被强化。信用分配在结构上就是错的。WildToolBench 上 57 个 LLM 的 session 准确率没有一个超过 15%,轮数越多掉得越狠。

另一条路是在线蒸馏(OPD):教师模型给学生逐 token 的密集信号,信用分配天然解决。但它要求教师与学生同家族同 tokenizer,而且学生的上限被教师封顶。自蒸馏(OPSD)去掉外部教师,让学生看着标准答案当自己的教师,又会在约 100 步内因梯度集中到少数 token 上而崩掉。

方法

CrEST(Hierarchical Credit Assignment via Entropy-Gated Self-Teacher)把逐 token 优势拆成两个因子的乘积:轮级优势定方向,token 级调制定幅度。

轮级部分不复杂:每轮从环境拿各自的验证奖励,在 GRPO 的 rollout 组内独立算组相对优势。失败的轮拿负优势,不管同轨迹其他轮成没成功。

token 级部分是这篇的核心设计。教师仍是学生自己,但喂给它标准答案当特权上下文,对每个 token 算教师与学生的对数概率差。这个差值不直接当优势用,只当幅度调制:乘上 λ 后作用在轮级优势的大小上,永远不改变符号。两道门控制它:

最终每个 token 的优势在 $[1, 1+\lambda\epsilon]$ 内有界,λ=0.3 时对 GRPO 梯度的偏置上界约 8.4%。相比 GRPO 只多一个超参 λ,τ、ε、ρ 全部固定。

结果

方法BFCL V3 平均(4B)WildToolBench session(8B)
GRPO43.635.47
MT-GRPO49.257.03
EnvTuning47.257.81
OPD44.503.91
OPSD38.753.91
CrEST52.009.38

Qwen3-4B-Instruct 和 Qwen3-8B 两个规模、14 个评测格子里 CrEST 拿到 13 个最优或并列最优。增益在最能暴露信用分配问题的地方最大:BFCL 长上下文集(最长轨迹)比最强基线高 7.0(4B)和 2.0(8B)。

消融把两层拆开验证:只做轮级切分 43.63→47.88,只做 token 级调制到 48.75,合起来 52.00,单独任何一层都到不了完整版。去掉方向门掉到 46.75,去掉熵门掉到 46.25,两个都去掉跌回 GRPO 水平的 43.50。

训练动力学上有个值得看的测量:OPSD 的 top-1% token 占了约 42% 的梯度,top-5% 占约 77%,信号被极少数 token 主导;GRPO 很散(top-10% 只占 31%);CrEST 居中(top-10% 约 57%),既有区分度又没塌缩。

为什么重要

agent 训练里「RL 上限干净但信号稀疏、蒸馏信号密集但上限被封」是个真实的两难。这篇给出的答案有工程上的直接可用性:不需要外部教师,不需要改奖励函数,在标准 GRPO 训练循环上加一个带特权上下文的自我教师前向和两道门就行。方向由验证器决定这一条,理论上保证了学生可以超过教师,消融里也确实看到超过。

对正在做多轮 agent RL 的团队,轮级优势切分这一半可以单独搬走,它不依赖任何教师信号,实现成本接近零。

局限与存疑

作者自己列的:只在两个工具调用 benchmark、4B 和 8B 两个规模上验证;熵门用惊异度当 token 重要性代理,在工具调用轨迹里够用,换到别的生成场景未必最优。此外轮级切分依赖「组内所有 rollout 用同一组固定用户轮次」的对齐假设,对可变轮次结构、只有终止奖励、强耦合轮次的任务不直接适用。这是设定一节里承认的:限制不在 benchmark 选择,在这类验证结构本身。

数据面上 WildToolBench session 准确率从 7.81 到 9.38,绝对值仍然很低,所有方法都还在个位数,这个战场离解决还远。每个方法单训练种子,评测跑三次温度近零解码测的是解码一致性而非训练方差,训练随机性没有覆盖。

术语

原文与代码

社区讨论

相关论文

全部论文解读