96.5% 的 rollout 都失败了,奖励从哪来?TRCA:别等成功,盯着环境变化打分
你有没有遇到过这种情况:用 GRPO 训一个长程 Agent,跑了一晚上,成功率只有个位数。绝大多数轨迹都是失败的,而 GRPO 这种组间相对优势的方法,一旦一个组里全败,所有轨迹拿到的优势都是零——等于白跑。
更扎心的是,这恰恰是训练早期最真实的常态。这篇论文(arXiv: 2608.16156)开头就甩了一组数字:用 Qwen2.5-1.5B-Instruct 在多个长程任务上采样,96.5% 的 rollout 没拿到终局成功,85.6% 的训练组里一条成功轨迹都没有。那些依赖"成功锚点"往回传信用的方法(GiGPO 的 anchor state、GraphGPO 的成功终态图、HCAPO 的事后归因),在这个 regime 下基本是巧妇难为无米之炊。
但作者做了件挺有意思的事:他们把失败轨迹拆开,逐步去看每个动作引起的环境状态变化(transition),结果发现——失败轨迹里 72.2% 的动作仍然携带有用的转移信号,要么拿到了新信息,要么完成了有效操作。失败的是整条轨迹,不是每一步。
这就是 TRCA 的出发点:别等那稀缺的成功,直接从环境转移里把步级监督挖出来。
核心摘要
长程 LLM Agent 的 RL 训练一直被稀疏终局奖励卡住脖子:PRM 路线要标注、要额外推理,太贵;锚点路线要靠成功轨迹,训练早期根本凑不齐。TRCA(Transition-wise Rubric Credit Assignment)给出的方案是:离线让 LLM 给每个 benchmark 生成一套三元 rubric 库(Evidence 信息获取 / Execution 有效执行 / Invalidity 无效动作),训练时用规则对每个 transition 做 0/1 判定,不调用任何 judge 模型;判定结果组装成两个互补奖励——Foundational Rubric Reward 管"这一步做得好不好",Breakthrough Rubric Reward 管"这一步是不是第一次啃下某个任务条件"。最终在 WebShop(Qwen2.5-7B)上比最强 baseline 高 3.5-12.6 个点,SearchQA(3B)平均分 45.4 全面压过 GiGPO/HCAPO/IGPO。我的判断:这不是底层算法突破,而是把"环境可观测信号"这条一直被浪费的信息流用工程手段接进了信用分配,思路干净、成本极低,做 Agent RL 的人都值得看一眼。
论文信息 - 标题:TRCA: Transition-wise Rubric Credit Assignment for Long-horizon LLM Agents - 作者:Huan Zhang, Mingju Chen, Dongxu Zhou, Can Lv, Heng Chang, Sen Cui, Faguo Wu, Shiji Zhou(后两位为通讯作者) - 链接:https://arxiv.org/abs/2608.16156 (2026 年 8 月 17 日提交) - 机构:arXiv 页面未标注具体单位;致谢中提到北京智源人工智能研究院(BAAI)支持
🎯 问题动机:成功锚点是个奢侈品
先把这个问题为什么值得解决讲清楚。
长程 Agent 任务(具身家务、网购、多跳搜索)里,环境通常只在最后给一个 0/1 的终局奖励。PPO/GRPO/RLOO 这些从 RLHF 继承来的家伙,说到底只给得起轨迹级监督——同一个终局分数平摊到所有动作上,好的步和坏的步傻傻分不清。
要细粒度信用,市面上两条路:
| 路线 | 代表方法 | 核心做法 | 软肋 |
|---|---|---|---|
| 过程评估 | PRM、AgentPRM | 训练/调用评估器逐步打分 | 标注贵、推理贵 |
| 锚点回溯 | GiGPO、GraphGPO、HCAPO、AgentHER | 围绕成功轨迹建结构,把信用往回传 | 没有成功轨迹就瘫痪 |
第二条路在训练早期尤其尴尬。作者的诊断实验把这个尴尬量化了:96.5% rollout 失败、85.6% 组内零成功。GRPO 在零成功组里直接把所有优势置零,GiGPO 找不到足够的 anchor state,GraphGPO 的图也连不到成功终态。
但同一个实验里还有个反转发现:人工标注 + 前沿 LLM judge 双重确认,失败轨迹里超过七成的动作并非废物——它们要么揭示了任务相关信息("目标物体在抽屉里"),要么完成了有效执行("成功打开了抽屉")。轨迹失败往往是因为后面某一步搞砸了,而不是每一步都烂。
说实话,这个洞察本身不算石破天惊——做过多步任务训练的人多少都有体感。但把它量化出来(72.2%)、并且围绕它设计出一套不依赖任何学习评估器的奖励机制,这件事做得相当扎实。

图 1:(A) 左图显示训练早期超过 95% 的 rollout 失败,但这些失败轨迹中超过 70% 的步骤携带有用信号;右侧甜甜圈图是 rubric 匹配比例的分解——Evidence(绿色 24%)、Execution(蓝色 18%)、Validity(橙色 31%)三类加起来约 73%,与正文的 72.2% 对应。(B) TRCA 把三类 rubric 判定转成 Foundational 和 Breakthrough 两种步级信用,直接喂给策略更新,全程不需要成功锚点或外部评估器。
🧠 方法核心:三张清单 + 两笔账
三类 rubric:把"这一步有没有用"拆成可判定的布尔条件
TRCA 对每一步动作引起的转移 \(\xi_t = (s_t, a_t, s_{t+1})\) 做三类判定:
- Evidence(证据):这一步是否新揭示了任务相关的实体、属性、位置、关系或支撑事实。正信用。比如在 WebShop 里搜到了目标商品、在 ALFWorld 里发现了目标物体位置。
- Invalidity(无效):动作格式错误、无法解析、被环境拒绝、违反前置条件。负信用。比如去开一个根本不在场景里的柜子。
- Execution(执行):是否真正完成了任务要求的操作或中间子目标。正信用。比如"拿起抹布"这个必需动作被成功执行。
关键工程细节:这套 rubric 不是训练时在线生成的。训练前对每种任务类型(ALFWorld/WebShop/SearchQA)调用一次 LLM,生成可复用的算子库——每个类别 5 个算子,共 15 个布尔条件;训练时由规则系统(benchmark 专属的 transition adapter)做判定,整个 RL 过程不调用任何 judge 模型。和 PRM 路线比,推理开销几乎为零。
这个设计我觉得挺聪明的。它把"评估"这件昂贵的事,换成了"匹配"这件便宜的事——rubric 条目其实是把环境反馈里的可观测事实(页面类型、商品 ID、动作接受与否)映射成 0/1,完全规则化。
第一笔账:Foundational Rubric Reward,评价每一步的局部质量
每个被命中的 rubric 条目贡献一份带符号的分,条目级贡献按类别预算均摊:
其中 \(\mathcal{O}_{i,t,j}=1\) 表示转移命中条目 \(j\),\(M_c\) 是该类别的条目数。除以 \(M_c\) 这个设计值得注意:它把每个类别的奖励总量锁死在预算 \(r^c\) 内,rubric 列表长短不会影响奖励尺度——这是个防 reward hacking 的朴素但有效的处理,否则"多写几条 Evidence 条目"就能白嫖奖励。
同一步的所有条目贡献求和,得到 \(r^F_{i,t}\),只赋给该步的动作 token。
第二笔账:Breakthrough Rubric Reward,只奖励"第一次"
Foundational 有个毛病:它是逐步独立打分的。Agent 要是反复做同一个有效动作(比如连续五次"查看商品详情"),每次都拿正奖励,归一化之后那些真正关键的"突破步"反而显不出来。
作者的解法相当漂亮——给每条正向 rubric 条目维护一个"是否已被覆盖"的累积状态 \(C_{i,t,j}=\max_{1\le k\le t}\mathcal{O}_{i,k,j}\),构造累积势函数:
Breakthrough 奖励取势函数的时序差分:\(r^B_{i,t}=\Phi_{i,t}-\Phi_{i,t-1}\)。
熟悉 RL 理论的朋友看到这里应该会心一笑——这其实就是 potential-based reward shaping 的思想(Ng 等人 1999 年的经典框架):势函数的差分只奖励"新覆盖",重复动作由于 \(C\) 已经置 1,差分为零,一分钱拿不到。Invalidity 条目不进势函数,因为它描述的是局部错误,已经被 Foundational 罚过了。
两笔账合并:
默认 \(\lambda=0.8\)——注意,突破奖励的权重是主导项,这个细节后面消融实验会呼应。
优势构造与优化
TRCA 沿用了 GiGPO 的 group-in-group 框架:把相似决策上下文(页面类型、商品身份、任务谓词、交互阶段等环境信息判定的等价状态)下的步骤聚成一组,组内归一化 completion-aware return \(R_{i,t}=\sum_{k=t}^{T_i}\gamma^{k-t}(r_{i,k}+r^{\mathrm{TRCA}}_{i,k})\)(\(\gamma=0.95\)),得到步级优势 \(A^S\);再和轨迹级组相对优势 \(A^E\) 相加,\(A^{\mathrm{TRCA}}_{i,t}=A^E(\tau_i)+A^S(a_{i,t})\),套 PPO 裁剪目标更新。
有个细节我认为很实在:零成功组里 \(A^E\) 直接置零,学习信号完全由步级奖励接管。这正面回应了开头那个痛点——全败组不再是死数据。

图 2:TRCA 全景。①左上:三类 rubric 的定义——Evidence 管基础进展(正增量)、Invalidity 管解析/合法性错误(负增量)、Execution 管证据支撑的有效操作(正增量)。②右上:同一 query 采样一组 rollout,终局结果有成功也有失败。③左下 Mechanism 1:rubric 判定逐条求和得到 \(r^F_t\)。④右下 Mechanism 2:覆盖矩阵里星星标记每条任务条件首次被满足的步骤(图中 WebShop 例子:"找到相关商品""颜色匹配""材质匹配""尺寸 M 已选"),只有新覆盖才产出 \(r^B_t\)。⑤最终融合出 \(A^{TRCA}\),走 PPO/GRPO 风格更新。注意覆盖矩阵里 Step 3 到 Step 6 的"size M selected"只在第一次出现时计分,后面再打星也没用——这就是 Breakthrough 的"只认第一次"。
📊 实验:三个战场,全面压线
战场一:ALFWorld + WebShop
两个经典长程交互环境,backbone 用 Qwen2.5-1.5B/7B-Instruct,所有组方法 rollout 组大小都是 8,三种子取平均。挑关键数字(完整数据见原论文 Table 1):
| 方法(7B) | ALFWorld All | WebShop Score | WebShop Succ. |
|---|---|---|---|
| GRPO | 83.3 | 84.3 | 75.0 |
| GiGPO | 90.8 | 84.4 | 72.8 |
| HCAPO | 91.4 | 85.1 | 73.8 |
| GraphGPO | 93.3 | 86.9 | 80.3 |
| TRCA | 94.5 | 92.9 | 83.8 |
1.5B 那边差距更大:TRCA 的 WebShop 成功率 78.4%,比 GiGPO 的 65.0% 高 13.4 个点;WebShop 分数 90.5% 比 GiGPO 高 7.4 个点、比 GraphGPO 高 3.8 个点。模型越小,成功锚点越稀缺,TRCA 的优势越明显——这和论文的动机完全自洽,数据没有背叛故事。
坦率讲,7B 上 ALFWorld 单项里 TRCA 并非全胜(比如 Clean 子任务 95.0 对 GiGPO 的 98.8 略逊,Pick2 上 94.1 对 GraphGPO 的 90.4 则反超),但综合分和 WebShop 两条线是稳的。
战场二:七个 SearchQA 数据集
检索增强问答,三个单跳(NQ、TriviaQA、PopQA)+ 四个多跳(HotpotQA、2Wiki、MuSiQue、Bamboogle),严格 EM 判分:
| 方法 | 3B 平均 | 7B 平均 |
|---|---|---|
| Search-R1 | 32.5 | 38.5 |
| ZeroSearch | 31.7 | 39.1 |
| IGPO | 37.2 | 46.7 |
| GiGPO | 42.1 | 47.2 |
| HCAPO | 43.5 | 47.3 |
| TRCA | 45.4 | 48.4 |
3B 设定下 TRCA 在七个数据集上每一个都是最高分,这个一致性挺罕见的。7B 上领先的幅度收窄了(48.4 对 HCAPO 47.3,只多 1.1 个点)。摘要里那个"1.9%-18.3%"的提升区间要拆开看:1.9 个点是相对最强 baseline HCAPO,18.3 个点是相对最弱的 R1-Instruct(27.1)——拿弱 baseline 撑区间上限,论文写作的小技巧,别被唬住。
战场三:样本效率,TRCA 最值钱的一张牌
我认为这篇论文最有说服力的其实是学习曲线。同样 1.92K 条采样轨迹的预算,TRCA 把 ALFWorld Pick_two 成功率从 11.5% 拉到 34.6%,Pick_cool 从 15.0% 拉到 24.0%;3.84K 条轨迹时 Pick_two 已到 69.2%,而 GRPO 烧掉 6.40K 条才爬到 46.7%。同样的成绩,GRPO 要多花近一倍的样本。
这很合理:步级信号把失败轨迹全变成了训练燃料,样本利用率自然就上去了。训练曲线(Figure 8)也能看到验证集成功率平滑爬升,没有明显的 reward hacking 式撕裂。

图 8:Qwen2.5-1.5B 上 TRCA 的训练(橙色)与验证(蓝色)成功率。ALFWorld 验证线 300 步内爬到约 90%,WebShop 到约 80%,训练和验证曲线贴得很近,没有训练集过拟合而验证集停滞的迹象。
消融与 λ 敏感度
拆掉任一奖励组件,三个 benchmark 一致掉点;其中拆 Breakthrough 掉得更狠——这印证了"只奖励新覆盖"才是给任务关键步定音的那只手,Foundational 更多是托底的宽监督。
λ 的热力图也值得一说:

图 5:λ 从 0.2 到 1.0 变化时的 ALFWorld 成功率(%)。λ=0.8 那一行整体最优(ALL 92.0,Heat 97.8、Cool 96.6 都是格子里的峰值);λ=1.0(纯 Breakthrough)时 ALL 掉到 88.3,Cool 更是从 96.6 崩到 81.0——突破奖励挑大梁但不能独挑,Foundational 的宽监督垫着才稳。有意思的是难任务(Heat/Cool)确实更吃高 λ,和作者的直觉一致。

图 6:四个面板分别是 ALFWorld+WebShop(1.5B/7B)和 SearchQA(3B/7B)。红色 TRCA 线在绝大多数维度上构成最外圈,尤其 SearchQA 3B 面板里红色几乎包圆所有顶点;7B 面板里 HCAPO/GiGPO 的内圈贴得更近,差距收窄——和表格数据一致。
🤔 我的判断
亮点在哪。
一是问题的选取准。成功锚点稀缺不是个别现象,是任何冷启动 Agent RL 项目都会撞上的墙。把"失败轨迹里的转移信号"量化成 72.2% 这个数字,再给出一套成本几乎为零的挖掘方案,闭环很完整。
二是工程性价比高。rubric 库离线生成一次(每个 benchmark 15 个算子),训练时纯规则判定,不加一个 judge token。对比 PRM 路线的标注成本和推理成本,这个方案便宜得不像话。
三是 Breakthrough 奖励的设计有理论味道。势函数差分天然防重复刷分,附录里还给了四个命题(奖励有界不累积、对新覆盖单调、零成功组里信用不退化、条件方差缩减),虽然都是比较直接的性质,但至少说明作者认真想过这套东西为什么不会炸。
问题在哪。
最大的问号是泛化成本。rubric 算子库是 benchmark 级的,transition adapter 要逐环境写——ALFWorld 能读谓词状态、WebShop 能读页面类型和商品 ID、SearchQA 能读检索结果,都建立在"环境反馈高度结构化"的前提上。换一个反馈是自由文本的开放环境(比如真实网页、真实代码仓库),那 15 个算子和 adapter 都得重做,论文没讨论这套流程自动化能做到什么程度。
再说 Invalidity 类别依赖解析器反馈,环境里动作语法越自由,这类条目的覆盖率越没保障。
还有一点:论文把自己和 GiGPO/HCAPO/GraphGPO 的对比做得很完整,但 7B SearchQA 上领先 HCAPO 只有 1.1 个点,处于"赢了但没甩开"的状态。TRCA 真正的甜点区是小模型 + 低成功率 + 样本预算紧的场景——这恰好也是大多数实际项目的处境,所以这点不算硬伤,但读数字时心里要有杆秤。
工程启发。
如果你在跑 Agent RL 且成功率低迷,别急着上 PRM。先把环境反馈里能结构化的信号(动作是否被接受、是否拿到新信息、子目标谓词是否满足)抽成布尔判定,按"局部质量 + 新覆盖"两笔账组装步级奖励——这套思路不依赖 TRCA 的具体实现,任何 GRPO/PPO pipeline 都能嫁接。势函数差分防重复刷分这一招,尤其值得抄。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我