TARL
Agentic RL · arXiv 2025

TARL:多轮工具调用的信用分配,交给一个逐回合打分的 LLM 评审员

τ-bench 的一条轨迹最多 30 个回合、上下文可到 32,768 token,但环境只在末端给 0/1。TARL 让 GPT-4.1 读完整对话与 ground-truth tool calls,给每个回合打 −1 / 0 / 1,再与末端奖励合成;Qwen3-8B 的 pass@1 从 42.6 提到 57.4,语音 agent 从 14.8 提到 37.4。代价是评审员本身是外部大模型,且训练只覆盖 Retail 一个域。

Weiting Tan、Xinghua Qu 等 · ByteDance Seed / Johns Hopkins University 原文 v1 ↗
TL;DR · 30 秒抓住核心

多轮工具调用的轨迹很长,末端 0/1 奖励无法告诉模型「哪一回合开始偏了」。TARL 用 LLM judge 给每个回合打 −1 / 0 / 1:−1 是重大偏差(下错单、改错商品),0 是小问题或后续能修正,1 是正确执行;每条轨迹最多只有一个 −1,推断是为了避免惩罚叠加(依据:论文只规定该约束,未解释动机)。

合成时末端奖励乘 10、重大偏差乘 5、其他回合按轨迹长度缩放;这样一条轨迹被分成 Perfect(15 分)、Good(10–15)、Good attempt(0–5)、Failed(−5–0)四类。TARL 接 GRPO 时直接把逐回合奖励加到末端奖励上;接 PPO 时,把归一化后的轨迹总分均匀铺到所有 token 比逐回合分配更稳。

在 τ-bench Retail 上,Math + TARL 把 pass@1 从 GRPO 的 51.3 提到 57.4(+6.1 个百分点),从基座 42.6 提到 57.4(+14.8 点);语音评测里,Qwen2.5-Omni-7B 从 14.8 提到 37.4(+22.6 点)。论文同时报告了几个失败尝试:只加数学题、只限制高熵 token 更新、或让 judge 实时打断,都没有带来测试集提升。

57.4
Retail pass@1;GRPO 51.3,基座 42.6
+6.1pp
Math + TARL 相对 GRPO(57.4−51.3)
37.4
语音训练 + 语音评测的 pass@1;基线 14.8
01

一条轨迹 30 个回合,末端只给 0/1——中间哪一步偏了,RL 看不见

读完这节你应该知道:为什么多轮工具调用的奖励稀疏问题,不是「多训几次」就能解决。

论文以 τ-bench 为实验床:agent 与模拟用户多轮对话,通过 MCP 调用后端工具(查订单、换商品、取消订单等)。一条轨迹最多 30 个交互回合,上下文可到 32,768 token;环境在末端用规则 verifier 检查写操作是否与 ground-truth 一致,只返回 0/1。对一条 30 回合的轨迹,这个信号无法区分「第 6 回合换货时选错型号」(原文 Figure 3 的 −1 场景)和「第 20 回合语气不好」(后者是示意)。

Table 1 先给出轨迹级 RL 的基线:Qwen3-8B 的 Retail pass@1 是 42.6,GRPO 把它拉到 51.3、PPO 到 48.7、RLOO 到 47.0;但 pass@4 只有 27.0 / 26.1 / 24.3,论文据此说「sampling consistency remains limited」。更关键的是行为变化:GRPO 后 #Wait 从 14.6 降到 11.7、平均响应长度从 228 降到 204,模型更自信、更少自我反思。

稀疏

末端 0/1

30 个回合只有最后一个二值信号;中间的工具调用步没有独立信用。§2.2

自信

#Wait 下降

GRPO 后「wait」token 从 14.6 降到 11.7,响应从 228 降到 204;探索在变少。Table 1

跨域

Airline 掉得更快

Qwen3-8B 的 Airline pass@4 是 20,GRPO 只有 4;只在 Retail 训练,OOD 的高 k 一致性没有转过去。Table 1

02

轨迹级 RL 能抬高 pass@1,但抬不动中间步骤的信用

读完这节你应该知道:PPO/GRPO/RLOO 与 TARL 的差别不在优化器,而在奖励的粒度。

路线 A

轨迹级 RL:PPO / GRPO / RLOO

三者都用完整轨迹的末端奖励。GRPO 在组内做均值/方差归一化,PPO 用 GAE 把 token 级优势回传,RLOO 用留一法基线。Table 1 里 GRPO 的 Retail pass@1 最高(51.3),但 pass@4 只有 27.0;论文指出这种提升主要来自单样本场景,复杂多轮任务的一致性仍然有限。

Table 1 · §2.3

路线 B

过程奖励:从规则打分到 LLM judge

过程奖励建模(PRM)把中间步骤纳入监督;已有工具 agent 工作多用结构化的规则评估器。TARL 的不同点是用 LLM judge 读取完整对话与 ground-truth tool calls,输出 −1/0/1,从而区分「小错但可恢复」与「重大偏差」。论文把这种细粒度判断作为相对规则评估器的优势。

§3.2 · §6.2

值得注意的是,TARL 并没有替换 RL 优化器:它只是把奖励从「末端一个数」变成「末端一个数 + 每回合一个数」。GRPO 仍然做组内归一化,PPO 仍然用 GAE;变化发生在奖励合成与分配方式上。也正因如此,论文能把 TARL 同时接到 GRPO 和 PPO 上,并分别报告结果。

03

核心机制:逐回合 −1/0/1,末端 ×10,重大偏差 ×5,其余按长度缩放

读完这节你应该知道:评审员看什么、分数怎么合成、四类轨迹怎么分,以及 GRPO/PPO 两种接法。

3.1 评审员看什么

每个「回合」包含两部分:agent 的 ReACT 式推理 + 工具调用,以及环境反馈(工具执行结果或用户回复)。judge 收到四类信息:任务 policy、用户指令、ground-truth tool-call 轨迹、完整对话轨迹。它按回合判断 agent 的推理与动作是不是偏离 ground-truth 的主要原因,并给 −1 / 0 / 1:

−1

Major deviation

重大偏差:基于错误推理给出错误信息(例如换货时选错型号),或执行导致不可逆数据库变更的错误写操作(例如不该取消的订单被取消)。每条轨迹最多一个 −1。

0

Minor issue

小问题:后续回合能修正,或是重大偏差的副产物。不是每个不完美的回合都被重罚。

1

Correct

该回合执行正确、没有发现问题。

3.2 奖励合成与四类轨迹

末端二值奖励 R(τ) ∈ {0,1} 乘 10;重大偏差 −1 乘 5;其他回合乘 1/T,论文称这样能把逐回合奖励的总贡献限制在 5 分以内。四类轨迹的分数区间是:

§3.2 的四类轨迹;分数是论文给出的区间,不是页面自行划分。
轨迹类型总分构成
Perfect15末端成功 10 + 逐回合奖励 5
Good10–15末端成功 10 + 逐回合 0–5(部分回合有小问题)
Good attempt0–5末端失败 0 + 逐回合正分;规则 verifier 失败但 judge 没发现重大错误
Failed−5–0末端失败 0 + 一个重大偏差 −5,其他回合仍有正分

这里有一处原文没有对齐:文字说其他回合「scaled by 1/T」就能把贡献限制在 5 分,但 T 个回合各 1/T 相加只有 1 分;要得到 Perfect 的 15 分(10 + 5),逐回合部分需要按 5/T 量级缩放。页面不替原文消解,只把「1/T」与「上限 5 分」两个说法并列;四类轨迹的分数区间按原文列表呈现。推断(依据:Perfect 15 = 10 + 5,与 1/T 的字面算术不一致)。

3.3 接 GRPO 与 PPO:一个直接加,一个要选分配粒度

GRPO:把逐回合奖励与末端奖励相加,得到整条轨迹的总分,再用组内均值/方差算优势(Eq. 5)。因为 GRPO 本来就是轨迹级,这个接法最直接。

PPO:PPO 在 token 级算优势,因此有两种分配方式:(1)Per-Turn Assignment,把每回合奖励只贴到该回合最后一个 token,由 GAE 反向传播到该回合之前的 token;(2)Trajectory-Level Assignment,把整条轨迹归一化成一个总分,均匀铺到所有 token。论文的实验结论是后者更稳:per-turn 分配导致训练不稳定,均匀分配在论文报告里更好;Table 2 里 PPO + Math + TARL 的 pass@1 是 53.0,比 PPO 的 48.7 高 4.3 个百分点。

3.4 混合任务:数学题不是为了数学分数

训练时在 Retail 任务之间交替插入中等难度的数学题(来自 DeepScaleR,筛整数答案)。论文的理由不是让 agent 学会做题,而是数学题会自然拉长 CoT、触发自我纠错,从而把「探索行为」正则化到工具任务上。§5.2 / Figure 5 显示:GRPO + Math 在测试集上的表现与 GRPO 基线相当;Table 2 只支持 Math + TARL 的 pass@1 从 51.3 到 57.4 这一项。论文的解释是:探索和信用分配必须同时改善,单独的探索不够。

04

工程账:3,000 条合成任务、batch 128、30 回合上限

读完这节你应该知道:这套训练需要什么环境、多少数据、哪些超参,以及哪些 token 不计 loss。

沙盒

SQLite + MCP + 用户模拟器

后端用 SQLite 存 τ-bench 的 Products / Orders / Users 等表,工具通过 RESTful API 暴露并注册成 MCP tools;用户模拟器用 GPT-4 按 ReACT 提示扮演用户;语音侧用 SeedTTS 把文本回复转成语音。规则 verifier 只检查写操作是否与 ground-truth 完全匹配,返回 0/1。

§2.1

数据

3,000 条 Retail 合成任务

训练数据由 GPT-4.1 基于 APIGEN-MT 的公开轨迹合成,约 3,000 条,只覆盖 Retail;Airline 只用于 OOD 评测。多模态 warm-up 先用简化任务跑 30 步 GRPO,再进入正常训练;训练数据批次在数学、纯文本 Retail、语音 Retail 三类之间交替。

§4.1 · §4.3

训练框架是 verl + RL Factory;batch size 128(32 个不同任务 × 4 条 rollout),训练到收敛(通常 200–300 步)。loss 只覆盖 agent 生成的 token,环境返回的 token 全部 mask,避免模型去拟合工具输出或用户回复。

Appendix B / Table 5 的训练超参;左右两列是同一张表的两半。
超参值超参值
grad_clip1.0max_prompt_length4096
clip_ratio0.2max_response_length1024
ppo_epochs1kl_coef0.001
num_rollout4kl_loss_coef0.003
top_p0.95actor_lr1×10⁻⁶
temperature0.7critic_lr1×10⁻⁵
max_turns30
05

一轮 TARL:agent 行动 → 环境反馈 → 逐回合打分 → 奖励合成 → 策略更新

读完这节你应该知道:judge 在流程中的位置,以及末端奖励与逐回合奖励在哪里汇合。

任务 + 用户 GPT-4 模拟器 Agent 回合 reason + tool call 工具执行 MCP / 用户回复 环境反馈 observation LLM Judge 每回合 −1 / 0 / 1 奖励合成 末端 ×10 + 回合 ×5 规则 Verifier 写操作 → 0/1 四类轨迹 15 / 10–15 / … GRPO / PPO 更新策略 下一步 rollout math / text / speech 交替 完整对话 + GT
按 §2.1、§3.2 与 Figure 1/2 重绘。judge 需要完整对话与 ground-truth tool calls;规则 verifier 只看写操作是否完全匹配,二者在「奖励合成」处汇合。
06

效果:Retail pass@1 到 57.4,语音到 37.4,但仍低于 GPT-4.1 的 60.9

读完这节你应该知道:提升落在哪些 k、哪些设置没有提升,以及论文的百分比写法与表格点差如何对应。

6.1 文本任务:Table 2 的策略对比

四行分别是 pass@1–pass@4;柱高按固定上限 60 满格。GRPO 视图有三根柱(GRPO / +TARL / +MATH+TARL),PPO 视图有两根(PPO / +MATH+TARL)。

手算两组参数 与 JS 同口径:Math.round(v / 60 × 1000) / 10,MAX=60

组 1(GRPO 视图,pass@1):51.3 → 57.4。柱高:Math.round(51.3 / 60 × 1000) / 10 = 85.5%;Math.round(57.4 / 60 × 1000) / 10 = 95.7%。差值 57.4 − 51.3 = +6.1 个百分点;相对 6.1 / 51.3 × 100 = 11.9%。

组 2(PPO 视图,pass@1):48.7 → 53.0。柱高:Math.round(48.7 / 60 × 1000) / 10 = 81.2%;Math.round(53.0 / 60 × 1000) / 10 = 88.3%。差值 53.0 − 48.7 = +4.3 个百分点;相对 4.3 / 48.7 × 100 = 8.8%。

两组都按 JS 的 Math.round(v / MAX * 1000) / 10 手算,MAX=60;数字取自 Table 2 的 pass@1 列。

Table 2(完整转录):τ-bench Retail,Qwen3-8B;括号内是相对该组 vanilla RL 基线(GRPO 或 PPO)的差值。
Agent Model#WaitLenpass@1pass@2pass@3pass@4
Qwen3-8B14.622842.630.425.221.7
GRPO11.720451.337.430.427.0
+TARL14.021053.9 (+2.6)40.9 (+3.5)33.9 (+3.5)30.4 (+3.4)
+MATH + TARL15.823657.4 (+6.1)42.6 (+5.2)36.5 (+6.1)33.9 (+6.9)
PPO8.416248.736.531.326.1
+MATH + TARL11.520453.0 (+4.3)40.0 (+3.5)35.7 (+4.4)31.3 (+5.2)

6.2 域内与跨域:Table 1 的 Retail / Airline

Table 1(完整转录):GPT-4.1、Llama-xLAM-2-8B、Qwen3-8B 与三种轨迹级 RL 的 pass^k;#Wait / Len 只对 Retail 报告。
Agent ModelRetail pass@1pass@2pass@3pass@4#WaitLenAirline pass@1pass@2pass@3pass@4
GPT-4.160.955.751.347.80.35448342624
Llama-xLAM-2-8B42.634.828.726.10.11936262018
Qwen3-8B42.630.425.221.714.622832242020
GRPO (n=4)51.337.430.427.011.7204281484
RLOO (n=4)47.031.328.724.311.118036201612
PPO (n=4)48.736.531.326.18.416232221412

训练域 Retail 上,RL 的 pass@1 都高于基座;但 Airline 上 GRPO 的 pass@4 只有 4,低于基座的 20。论文把原因归为训练数据只有 3,000 条且只覆盖 Retail,探索策略没有迁移到 OOD。这是论文/TARL 的边界,不是「TARL 通用」的证据。

6.3 多模态:Table 3 的文本 / 语音评测

Table 3(完整转录):Qwen2.5-Omni-7B 在 τ-bench 上的文本 / 语音评测;S&T = speech-text 混合训练,T-only = 只用文本训练。
Eval ModeAgent / Train Modepass@1pass@2pass@3pass@4
TextQwen2.5-Omni-7B(基线)7.87.87.87.8
SpeechQwen2.5-Omni-7B(基线)14.88.75.25.2
TextGRPO + Math S&T31.320.912.212.2
TextGRPO + Math + TARL S&T36.525.221.716.5
SpeechGRPO + Math S&T34.825.221.716.5
SpeechGRPO + Math + TARL S&T37.426.122.620.9
SpeechGRPO + Math + TARL T-only32.218.314.811.3

语音基线是 14.8,S&T 训练 + 语音评测的最好结果是 37.4,差 22.6 个百分点;文本评测从 7.8 到 36.5,差 28.7 点(相对 +367.9%)。TARL 在文本评测上把 GRPO + Math 的 31.3 提到 36.5(+5.2 点),在语音评测上把 34.8 提到 37.4(+2.6 点)。T-only 训练在语音评测上只有 32.2,比 S&T 低 5.2 点:论文据此说,只用文本微调可能丢失预训练的语音理解能力。

6.4 百分比口径:原文几处把点差写成了百分比

口径

照引原文,同时给出点差与相对值

§4.2 写「6% relative improvement over GRPO」;Table 2 是 51.3 → 57.4,绝对差 +6.1 个百分点,相对 +11.9%。同一段写「15% improvement over the base model」;Table 2 是 42.6 → 57.4,绝对差 +14.8 点,相对 +34.7%。§5.1 的「4.3% improvement」对应 48.7 → 53.0,绝对差 +4.3 点,相对 +8.8%。§4.4 的「more than 20%」对应 14.8 → 37.4,绝对差 +22.6 点,相对 +152.7%。

这些不是页面改写:原文自己把「点差」写成「percent / relative」。页面统一用百分点,并把原文写法并列,避免读者把 +6.1 点理解成 +6.1%。

还要看两个「没有超过」:Table 1 的 GPT-4.1 在 Retail pass@1 是 60.9,高于 TARL 的 57.4;论文只说 TARL 的结果「competitive with capable closed-source models」,没有说超过 GPT-4.1。Table 3 的语音 37.4 也低于文本 agent 的 57.4,但两者来自不同基座模型、不同评测条件(Qwen2.5-Omni-7B vs Qwen3-8B),不能直接比较;多模态仍是弱项。论文还报告了几个失败尝试:只加数学题的 GRPO 测试集表现与 GRPO 基线相当;只更新 top-20% 高熵 token 的 GRPO+Entropy+TARL 训练奖励更低;让 judge 实时打断并强制自我纠错的 GRPO+Intervention 训练不稳定,KL 上升、entropy loss 下降,最终比基线更差(Figure 7)。

07

边界:一个域、一个 judge、一个 8B 文本模型 + 一个 7B 多模态模型,以及几处没有对齐的口径

读完这节你应该知道:哪些结论能带走,哪些必须带上论文没有解决的条件。

数据

只在 Retail 训练,Airline 是 OOD

训练集约 3,000 条,只覆盖 Retail;Airline 只用于评测。Table 1 里 GRPO 的 Airline pass@4 从基座的 20 掉到 4,说明轨迹级 RL 的探索没有迁移到新域。TARL 的域内提升不能直接外推到多域或开放工具集。

Judge

GPT-4.1 是外部依赖,论文没有报告 judge 可靠性与成本

judge 用 GPT-4.1,需要完整对话、ground-truth tool calls 与 policy;论文只在 §5.1 定性地担心 judge 不准会让 per-turn 分配不稳,没有报告 judge 与人工的一致率、调用成本/延迟,也没有做可靠性的定量分析。每条轨迹最多一个 −1 的约束,推断是对 judge 噪声的一种保护(依据:论文只规定该约束,未解释动机),但不是可靠性证明。

奖励

「1/T」与「上限 5 分」的算术没有对齐

§3.2 写其他回合按 1/T 缩放、总贡献上限 5 分;但 T 个回合各 1/T 相加只有 1 分。要得到 Perfect 的 15 分(10 + 5),逐回合部分需要按 5/T 量级缩放。原文没有解释这个差异,页面并列两种说法,不替原文补公式。推断(依据:Perfect 15 = 10 + 5)。

模态

语音评测排除了 authentication step

语音评测时,Retail 的 authentication step 被排除,因为用户 ID 的「name_number」格式经 TTS 容易出错;评测直接把 user profile 给 agent。这个条件让语音 37.4 与文本 57.4 不能直接对比,也不能把 37.4 当成完整语音任务的端到端成功率。

最后,论文在贡献列表里写「The first demonstration of this framework to successfully train a multimodal voice agent through RL on interleaved speech-text interactions」。这是作者的主张,页面按「论文称」引用;论文没有报告独立复现或与同期系统的受控比较。混合任务、top-20% 熵更新、实时打断三种策略的对比也只在 Qwen3-8B / τ-bench 上做,换模型或换任务是否需要同样的设计,论文没有回答。