ARLArena: A Unified Framework for Stable Agentic Reinforcement Learning
Paper: arXiv:2602.21534 Code: WillDreamer/ARL-Arena Code reference:
main@a25a2a22(2026-05-02)
1. Motivation (研究动机)
Agentic Reinforcement Learning (ARL) 的目标不是只让 LLM 在单轮问题上输出答案,而是让它在 Web navigation、embodied environment、game、deep research 等多步交互任务里持续观察状态、选择动作、接收环境反馈并更新策略。论文指出,现有 LLM RL 在 math/reasoning 上已经证明了 scaling 价值,但迁移到 agentic setting 后会出现更强的不稳定性:invalid actions、稀疏终局 reward、long-horizon credit assignment、以及 agent 与环境互相影响带来的 non-stationary dynamics 会相互叠加。一个早期错误动作可能让后续状态分布完全偏离,从而把 credit-assignment 噪声和 degenerate rollout 放大。
本文要解决的具体问题是:如何在一个可复现、可比较的 agentic RL testbed 中,系统地拆解 policy-gradient 类方法的稳定性来源,并给出一个能跨 ALFWorld、WebShop、Sokoban 等多步交互环境稳定训练的 recipe。作者认为仅报告某个新 PO method 的单点结果不够,因为 ARL collapse 往往来自多个维度共同作用:输出格式错误会污染 reward,token-level clipping 会放大长序列 off-policy drift,episode-level reward 太稀疏会让 advantage 几乎退化,而 dynamic filtering 如果和错误的 advantage/format 机制组合也会损害训练。
研究价值在于:一旦稳定性问题被拆开,Agent post-training 就可以像 reasoning RL 一样形成可复现的基础框架。ARLArena 不是单纯提出 SAMPO,而是先建立标准化 testbed,再把 policy gradient 分解为四个研究维度,最后把诊断结果组合成 SAMPO。对后续工程实践来说,它给出了三个可操作原则:先清理环境和输出格式,再用 sequence-aware clipping 控制长轨迹更新,再加入更细粒度的环境 advantage 与 dynamic filtering。
Figure 1 解读:这张 overview 把论文的逻辑压缩成四部分:先通过 behavior cloning、format penalty、KL regularization、hyperparameter search 构造标准 testbed;再把 policy gradient 拆成 loss aggregation、IS clipping、advantage design、dynamic sampling 四个维度;随后诊断不同维度导致的 training collapse;最后把稳定设计组合成 SAMPO。它说明 ARLArena 的核心不是一个孤立 loss,而是一套从实验环境到 PO 设计的稳定性分析框架。
2. Idea (核心思想)
核心 insight:多轮 Agent RL 的不稳定性不是单一算法缺陷,而是由“轨迹分布偏移 + 稀疏 reward + 格式/动作有效性 + 样本筛选”共同决定;因此应该把 policy-gradient update 拆成可独立控制的四个维度,而不是只比较 GRPO/DAPO/GSPO 等方法的名字。
关键创新可以概括为三点:第一,ARLArena 用统一 policy-gradient 视角把主流 PO 方法映射到 loss aggregation、importance-sampling clipping、trajectory filtering/resampling、advantage design。第二,论文用同一组 agentic tasks 系统测试每个维度对训练曲线、KL、gradient norm、valid-format ratio 的影响。第三,SAMPO 把 sequence-level clipping、fine-grained advantage 和 dynamic filtering 组合起来,形成一个面向长交互轨迹的稳定 PO recipe。
与现有方法的根本差异在于:GRPO 主要使用 token-level ratio clipping 和 group-normalized outcome advantage;DAPO 主要强调 dynamic sampling;GSPO 强调 sequence-level importance ratio;GIGPO 引入环境/step-level advantage。SAMPO 不是只改其中一个维度,而是把 GSPO-style sequence ratio、GIGPO-style local advantage、DAPO-style filtering 组合到同一训练流程中。论文实验显示,单独的 tolerant clipping 方法 SAPO/CISPO 在 ARL 上容易 collapse,而 sequence-level clipping 才是长轨迹稳定性的关键。
3. Method (方法)
3.1 Overall framework: 从 agentic trajectory 到 policy-gradient 分解
在第 轮交互中,agent 接收 prompt/state ,生成 action/response ,环境转移到新状态 ,再构造下一轮 prompt 。完整轨迹写作: ARLArena 把多轮轨迹拆成 single-turn samples 后进行 policy optimization。论文给出的 agentic policy gradient 为: 其中 token-level importance ratio 为: 这个式子自然对应四个可控维度:loss 如何 aggregate, 如何 clip,是否过滤 zero-gradient / degenerate rollout,advantage 是否只用 episode outcome 还是引入局部环境信息。直觉上,ARL 的长轨迹会把 token-level 更新误差累积成 sequence-level distribution shift;如果只盯单 token 的 ratio,很容易看起来每步都“可接受”,但整条轨迹已经偏离旧策略。
3.2 Standardized testbed: 先把训练环境稳定住
作者先构造一个干净 testbed,否则不同 PO 方法的比较会被无效格式、初始策略太差、KL drift 等因素污染。
Behavior Cloning
作者用 Qwen3 系列模型在目标环境中自举生成 multi-turn trajectories,只保留 high-scoring rollouts 作为 SFT/BC 数据。BC 的作用是把策略初始化到合理 behavioral manifold 内,让模型至少知道环境动作格式和基本任务语义。没有这个阶段,后续 RL 很容易把大量无效 action 也当作训练样本。
Format Penalty
Agent response 必须包含显式的 <think>...</think> 和 <action>...</action> 结构。如果缺 tag、嵌套错误,或 tag 外有不合法内容,就在最终 reward 中加入固定惩罚 。这个 shaping signal 在早期训练尤其重要,因为它把“动作格式是否可执行”变成密集反馈,降低 invalid rollout 对 policy update 的污染。
Auxiliary KL Loss
为了避免策略过快远离 reference model,论文加入当前策略 与 reference policy 之间的 KL penalty,并采用 Bregman divergence estimator : 这个项的作用不是让策略不学习,而是控制 update 的幅度:在 agent 环境中,过快 drift 会让后续状态分布、动作格式和 reward estimator 同时失稳。
Hyperparameter grid search
每个 PO method 先用默认配置训练,再做 method-specific grid search,直到最后 training steps 的 success-rate variance 低于预设阈值。论文特别指出 IS clipping 相关超参非常敏感,例如 GSPO 的 从 调到 会提升 ALFWorld,而继续到 会退化。
标准化 testbed 的增量效果(Table 2, ALFWorld):
| Algorithm | Strategy | Task Score Δ | Success Rate Δ |
|---|---|---|---|
| GRPO | + Behavior Cloning | +2.56 | +20.71 |
| GRPO | + | +0.49 | +7.34 |
| GRPO | + KL | +0.95 | +18.10 |
| GSPO | +0.70 | +3.36 | |
| GSPO | -1.16 | -9.88 | |
| DAPO | Max_try | +0.59 | +22.15 |
| SAPO | Temperature | -1.20 | -9.85 |
| SAPO | Temperature | -0.70 | -9.20 |
3.3 Four policy-gradient dimensions
Loss aggregation
论文比较 sequence-mean-token-mean 与 token-mean: 其中 sequence-mean-token-mean 让每条 response 权重相近,token-mean 让每个 token 权重相近。论文结果显示,在 TIR Math 这种 response length 差异很大的任务中,sequence-level aggregation 会导致明显性能下降,因为长短 reasoning traces 的权重被重新平衡后会引入 response-level length bias。
IS clipping
IS clipping 控制 的变化范围。GRPO 使用 token-level clipping;CISPO/SAPO 使用 tolerant/soft clipping;GSPO 使用 sequence-level importance ratio。论文的诊断结论是:CISPO/SAPO 在 ARL 里会出现快速初期收益和随后 collapse,因为 tolerant clipping 允许 out-of-bound tokens 保留过强梯度,策略会快速偏离 reference,valid-format ratio 和 gradient norm 随之恶化。GSPO 的 sequence-level clipping 更稳定,因为它控制整条 response 的平均 log-ratio。
Trajectory filtering and resampling
Dynamic filtering 过滤 reward 完全相同的 rollout group:如果一个 prompt 下 个采样全对或全错,group advantage 接近无信息,梯度贡献很弱。论文用约束表达: 这表示只保留同组内既有成功又有失败的样本组。它在 math/agentic setting 中可以提高有效 gradient 密度,但如果底层方法本来格式不稳,dynamic filtering 会放大坏分布,因此必须与更可靠的 advantage 和 sequence clipping 配合。
Advantage design
GIGPO/EMPG 代表 advantage design 维度。GIGPO 把 episode-level outcome advantage 与 step/environment-level advantage 结合,缓解只用最终 reward 时的 credit assignment 稀疏;EMPG 则用训练数据中的 uncertainty reshaping advantage。论文发现,环境局部信息更稳定有效:GIGPO 平均分从 GRPO 的 48.08/46.16 附近提升到 49.71,并且 ALFWorld 提升最明显。
3.4 SAMPO: 把稳定性条件组合起来
SAMPO 的目标是同时满足三个必要条件:sequence-aware update 控制长轨迹 drift,fine-grained advantage 提供局部 credit assignment,dynamic filtering 去掉无信息 rollout group。论文公式为: subject to 其中 直觉上,SAMPO 把“更新多大”从 token-level ratio 升级到整条 response 的 geometric mean ratio;把“该往哪里更新”从全局 success/failure 扩展到局部 step advantage;把“哪些样本值得更新”限定为同组内 reward 有差异的样本。三者分别对应长轨迹漂移、稀疏 reward、zero-gradient group 这三个主要失稳来源。
Figure 2 解读:ALFWorld 和 Sokoban 的 success-rate 曲线显示,SAMPO 不只是最终分高,而是训练过程更单调、更少 collapse。这个图支持论文的核心 claim:单个维度的优化可能在某些阶段有效,但稳定 ARL 需要把 sequence-level clipping、advantage design 和 filtering 组合起来。
3.5 Released code mapping and pseudocode
Code reference:
main@a25a2a22(2026-05-02) — pseudocode and mapping based on this commit
| Paper Concept | Source File | Key Class/Function |
|---|---|---|
| Agent rollout loop / environment interaction | agent_system/multi_turn_rollout/rollout_loop.py | dynamic_multi_turn_loop, run_loop branch using filter_groups |
| Dynamic filtering | agent_system/multi_turn_rollout/utils.py | filter_group_data |
| GRPO / GIGPO advantages | recipe/shop_agent/ppo/core_algos.py | compute_grpo_outcome_advantage, compute_gigpo_outcome_advantage |
| Advantage dispatch | recipe/shop_agent/ppo/ray_trainer.py | compute_advantage, AdvantageEstimator |
| SAMPO code path | recipe/shop_agent/ppo/ray_trainer.py | SAMPO rewrites to loss_mode="gspo" and adv_estimator=GiGPO |
| Sequence-level policy loss | verl/trainer/ppo/core_algos.py | compute_policy_loss_gspo |
| SAPO/CISPO comparison losses | verl/trainer/ppo/core_algos.py | compute_policy_loss_sapo, compute_policy_loss_cispo |
| ALFWorld SAMPO launch config | examples/embody_agent_trainer/Qwen3-4B/train_sampo.sh | estimator="sampo", KL/clip/filter settings |
| WebShop SAMPO launch config | examples/shop_agent_trainer/Qwen3_4B/train_sampo.sh | estimator="sampo", filter_groups.enable=True |
论文公式与 released code 实现差异:paper 把 SAMPO 写成一个统一 objective,并在公式中使用 token-mean 风格的归一化;released code 中没有单独的 compute_policy_loss_sampo,而是在 recipe/shop_agent/ppo/ray_trainer.py 将 algorithm.adv_estimator == SAMPO 改写为 policy_loss.loss_mode="gspo" 且 adv_estimator=GiGPO。同时,compute_policy_loss_gspo 在 verl/trainer/ppo/core_algos.py 内强制使用 loss_agg_mode="seq-mean-token-mean",dynamic filtering 则通过 launch config 的 algorithm.filter_groups.enable=True 与 rollout loop 的 filter_group_data 实现。因此 code 中的 SAMPO 是“GSPO sequence loss + GIGPO advantage + config-level dynamic filtering”的组合,而不是一个单独 monolithic loss function。
def dynamic_filter_groups(batch, rewards, group_size, target_batch_size, last_try=False, needed=None):
"""Mirror agent_system/multi_turn_rollout/utils.py::filter_group_data."""
kept_groups, fallback_groups = [], []
for prompt_id in range(target_batch_size):
idx = torch.arange(prompt_id * group_size, (prompt_id + 1) * group_size)
group_rewards = rewards[idx]
if torch.unique(group_rewards).numel() > 1:
kept_groups.append(idx) # informative group: has both success/failure or varied scores
else:
fallback_groups.append(idx) # zero-advantage group under group normalization
if last_try and needed is not None:
# last attempt may backfill from uniform groups to avoid an undersized batch
remaining = max(0, needed - sum(len(x) for x in kept_groups))
kept_groups.extend(fallback_groups[:remaining])
keep = torch.cat(kept_groups) if kept_groups else torch.empty(0, dtype=torch.long)
return batch.index_select(0, keep), rewards.index_select(0, keep)def gspo_sequence_loss(old_logp, new_logp, advantages, response_mask, eps_low, eps_high):
"""Mirror verl/trainer/ppo/core_algos.py::compute_policy_loss_gspo."""
token_log_ratio = (new_logp - old_logp) * response_mask
seq_len = response_mask.sum(dim=-1).clamp_min(1)
log_s = token_log_ratio.sum(dim=-1) / seq_len
# code keeps token-level gradients while using detached sequence ratio baseline
log_ratio = new_logp - new_logp.detach() + log_s.detach().unsqueeze(-1)
ratio = torch.exp(torch.clamp(log_ratio, max=10.0))
unclipped = -advantages * ratio
clipped = -advantages * ratio.clamp(1.0 - eps_low, 1.0 + eps_high)
loss_matrix = torch.maximum(unclipped, clipped)
return masked_seq_mean_token_mean(loss_matrix, response_mask)def gigpo_advantage(outcome_rewards, step_rewards, response_mask, uid, traj_uid, anchor_obs, omega=1.0):
"""Mirror recipe/shop_agent/ppo/core_algos.py::compute_gigpo_outcome_advantage."""
episode_adv = normalize_rewards_by_prompt_and_traj(outcome_rewards, response_mask, uid, traj_uid)
step_group_uid = build_step_group(anchor_obs, uid)
step_adv = normalize_rewards_by_anchor_step(step_rewards, response_mask, step_group_uid)
return episode_adv + omega * step_advdef sampo_train_step(batch, policy, old_policy, config):
"""Released-code composition: SAMPO -> GSPO loss + GiGPO advantage + dynamic filtering."""
rollouts = collect_multi_turn_rollouts(policy, batch, n=config.env.rollout.n)
if config.algorithm.filter_groups.enable:
rollouts = dynamic_filter_groups(
rollouts, rollouts.episode_rewards,
group_size=config.env.rollout.n,
target_batch_size=config.data.train_batch_size,
)
adv = gigpo_advantage(
rollouts.token_rewards, rollouts.step_rewards, rollouts.response_mask,
rollouts.uid, rollouts.traj_uid, rollouts.anchor_obs,
omega=config.algorithm.step_advantage_w,
)
loss = gspo_sequence_loss(
old_logp=rollouts.old_logp,
new_logp=policy.log_prob(rollouts),
advantages=adv,
response_mask=rollouts.response_mask,
eps_low=config.actor_rollout_ref.actor.clip_ratio_low,
eps_high=config.actor_rollout_ref.actor.clip_ratio_high,
)
loss.backward()
return loss4. Experimental Setup (实验设置)
4.1 Tasks / datasets
论文使用四类 agentic tasks:
| Task | What it evaluates | Scale/config reported |
|---|---|---|
| ALFWorld | Text-based embodied household tasks with long sequential decisions | train prompt number 16, validation batch size 128, max interaction steps 50 |
| WebShop | E-commerce interactive search/click/buy task | train prompt number 16, validation batch size 128, max interaction steps 15 |
| Sokoban | Grid-world puzzle requiring sequential movement/planning | train prompt number 32, validation batch size 128, max interaction steps 15 |
| TIR Math | Tool-integrated reasoning / math with code interpreter style interaction | train prompt number 512, validation batch size 128, max interaction steps 5 |
论文未在主文中给出每个原始数据集的完整样本总量;Appendix 的 hyperparameter table 报告了每轮训练使用的 prompt 数、validation batch size 和 rollout group size。
4.2 Models, hardware, and optimization config
主要实验基于 Qwen3-4B:ALFWorld/WebShop 使用 Qwen3-4B-RFT,Sokoban 使用 Qwen3-4B-VL-Instruct-RFT,TIR Math 使用 Qwen3-4B-Base。扩展实验使用 SFT version of Qwen3-8B。所有实验在 NVIDIA H200/B200 GPU 上运行。代码 launch scripts 中 ALFWorld/WebShop 的实际训练入口分别为 examples/embody_agent_trainer/Qwen3-4B/train_sampo.sh 和 examples/shop_agent_trainer/Qwen3_4B/train_sampo.sh。
关键配置(Appendix Table 6 + released launch scripts):
| Config | ALFWorld | WebShop | Sokoban | TIR Math |
|---|---|---|---|---|
| Base model | Qwen3-4B-RFT | Qwen3-4B-RFT | Qwen3-4B-VL-Instruct-RFT | Qwen3-4B-Base |
| Max interaction steps | 50 | 15 | 15 | 5 |
| Memory context window | 2 turns | 2 turns | 2 turns | 8196 tokens |
| Group rollout size | 8 | 8 | 8 | 5 |
| Max prompt length | 2048 | 4096 | 1024 | 8196 |
| Max response length | 512 | 512 | 512 | 4096 |
| Format penalty coefficient | 0.1 | 0.1 | 0.1 | 0.1 |
| Learning rate | ||||
| Mini-batch size | 256 | 128 | 64 | 128 |
| KL coefficient | 0.01 | 0.01 | 0.01 | 0 |
| Temperature (train / validation) | 1.0 / 0.6 | 1.0 / 0.6 | 1.0 / 0.7 | 1.0 / 0.6 |
| Total epochs / time | 200 (~24h) | 200 (~22h) | 200 (~12h) | 17 (~60h) |
| GPUs | NVIDIA H200/B200 | NVIDIA H200/B200 | NVIDIA H200/B200 | NVIDIA H200/B200 |
4.3 Baselines and metrics
Baselines 按设计维度组织:Base 是 GRPO;loss aggregation 是 ;IS clipping 包括 SAPO、CISPO、GSPO;advantage design 包括 GIGPO、EMPG;dynamic sampling 包括 和 ;本文方法是 SAMPO。主要指标包括 task score、success rate、TIR Math 的 AIME/AIME25 Pass@4、training curves、off-policy KL、KL loss、gradient norm、valid-format ratio。对于 off-policy staleness,论文还报告 AIME/AIME25 的 和 。
5. Experimental Results (实验结果)
5.1 Main results: SAMPO 在三类 agentic tasks 上最稳
Table 3 的 Qwen3-4B 主结果显示,SAMPO 在 ALFWorld、WebShop、Sokoban 上都达到最高分;TIR Math 对 SAMPO 标为不适用,平均分按前三个任务报告。主要数值:
| Method | ALFWorld Score / Success | WebShop Score / Success | Sokoban Score / Success | TIR Math AIME / AIME25 | Avg |
|---|---|---|---|---|---|
| GRPO | 3.70 / 62.36 | 75.32 / 57.71 | 5.51 / 83.90 | 49.96 / 30.78 | 46.16 (48.08 for first three) |
| 4.41 / 72.61 | 64.57 / 51.29 | 3.03 / 68.73 | 27.55 / 21.63 | 39.23 | |
| SAPO | 0.80 / 25.16 | 73.85 / 52.10 | -0.23 / 30.25 | 45.00 / 30.85 | 32.22 |
| CISPO | 2.16 / 54.42 | 67.96 / 54.71 | -0.47 / 26.02 | 36.53 / 30.87 | 34.03 |
| GSPO | 5.19 / 78.61 | 85.29 / 72.48 | 5.22 / 82.22 | 51.29 / 37.95 | 52.28 |
| GIGPO | 4.97 / 81.09 | 67.76 / 56.55 | 5.19 / 82.67 | — | 49.71 |
| EMPG | 3.32 / 57.91 | 79.16 / 64.32 | 4.48 / 79.16 | — | 48.06 |
| 1.95 / 49.58 | 62.43 / 46.17 | 5.16 / 82.40 | 54.66 / 38.97 | 42.67 | |
| 2.49 / 60.55 | 88.10 / 76.82 | 6.01 / 86.20 | — | 53.36 | |
| SAMPO | 7.04 / 92.72 | 88.37 / 77.73 | 6.56 / 88.86 | — | 60.21 |
结论:SAMPO 相对 GRPO 的平均提升为 ;ALFWorld success 从 62.36 提到 92.72,WebShop success 从 57.71 提到 77.73,Sokoban success 从 83.90 提到 88.86。GSPO 也明显强于 GRPO,说明 sequence-level clipping 是单维度中最关键的稳定因素;但 SAMPO 进一步超过 GSPO,说明 advantage design 和 filtering 的组合仍有增益。
5.2 IS clipping: tolerant clipping 会 collapse,sequence-level clipping 更稳
Figure 3 解读:该图对比 GRPO、GSPO、SAPO、CISPO 以及 sequence-masked 变体在 ALFWorld 上的 success rate、off-policy KL、KL loss、gradient norm 和 valid-format ratio。SAPO/CISPO 初期会有更激进的提升,但随后伴随更大 policy drift、format instability 和 gradient abnormality;sequence-masked 版本能显著缓和 collapse。这证明 ARL 中“ratio 越宽松越好”不成立,长轨迹需要 sequence-level 控制。
Figure 4 解读:该图从 token-level 和 sequence-level 两个角度分析 SAPO 与 。左侧展示超出 clipping range 的 token 比例,并按 negative/positive advantage 分解;右侧按 advantage sign、entropy 和 IS ratio magnitude 划分 rollout groups。sequence masking 的效果是抑制对整条轨迹有害的 ratio outliers,而不是只在单 token 上做局部修补。
Appendix Figure 解读:CISPO 的 sequence-level masking 分析与 SAPO 结论一致:当 out-of-bound ratio 集中在负 advantage 或高 KL 轨迹上时,保留这些 token 的梯度会加速训练崩溃。masking 后的曲线说明,collapse 不是环境偶然噪声,而是 clipping 设计与多轮轨迹偏移之间的系统性问题。
5.3 Stabilizing SAPO/CISPO and off-policy staleness
对 SAPO/CISPO 的稳定化实验(Table 4, ALFWorld):
| Method | Metric | Original | KL (0.05) | Off-Policy (1024) | Seq-Mask |
|---|---|---|---|---|---|
| CISPO | Score | 2.16 | 1.60 | 0.98 | 5.25 |
| CISPO | Success | 54.42 | 38.46 | 21.59 | 78.88 |
| SAPO | Score | 0.80 | 2.40 | 3.82 | 4.88 |
| SAPO | Success | 25.16 | 48.05 | 64.30 | 76.92 |
提高 KL penalty 或增大 off-policy mini-update batch 并不能稳定解决问题,最佳策略是 sequence-level masking。这也解释了为什么 SAMPO 的 sequence-level update 是核心,而不是简单调大 regularization。
Off-policy staleness(Table 5)显示,过高 staleness 会同时损害 ALFWorld 与 Math:
| Degree | ALFWorld Score | ALFWorld Success | AIME k@1 | AIME k@32 | AIME25 k@1 | AIME25 k@32 |
|---|---|---|---|---|---|---|
| Low | 3.50 | 60.80 | 26.95 | 87.34 | 24.61 | 50.00 |
| Medium | 3.83 | 58.38 | 24.22 | 75.00 | 17.97 | 48.59 |
| High | 2.33 | 52.71 | 19.53 | 74.99 | 16.41 | 43.85 |
5.4 Dynamic filtering and format stability
Appendix Figure 解读:该图展示 ALFWorld 和 WebShop 中 GRPO、GIGPO、、 的 format-validity ratio。dynamic filtering 如果直接加在 GRPO 上,会在部分环境中损害格式稳定;但与 GIGPO 的细粒度 advantage 组合后, 更能维持 stable format behavior。这支持 SAMPO 的组合式设计。
5.5 Scaling to Qwen3-8B
8B model 的 ALFWorld/WebShop 结果与 4B 趋势一致:SAMPO 继续最强。
| Method | ALFWorld Score / Success | WebShop Score / Success |
|---|---|---|
| GRPO | 2.37 / 50.92 | 85.48 / 73.98 |
| 1.68 / 49.31 | 91.21 / 83.57 | |
| SAPO | 0.08 / 1.93 | 84.73 / 74.47 |
| CISPO | 0.80 / 30.83 | 87.80 / 73.74 |
| GSPO | 5.05 / 79.70 | 91.61 / 83.15 |
| GIGPO | 4.10 / 80.03 | 89.26 / 78.91 |
| EMPG | 4.51 / 71.48 | 88.60 / 75.46 |
| 0.81 / 38.11 | 86.52 / 76.52 | |
| 2.49 / 60.27 | 91.92 / 82.42 | |
| SAMPO | 8.98 / 97.71 | 93.43 / 84.02 |
这说明更大模型并不会自动解决 ARL 的稳定性问题;sequence clipping、advantage design、filtering 的层级重要性在 8B 上仍保持。
5.6 Qualitative case visualizations

Appendix Figure 解读:WebShop API agent 的 Sankey 图用绿色/红色分别表示成功与失败轨迹。它把错误模式从单个 reward 数字展开为 action-transition 分布:失败往往集中在搜索、点击、返回和购买之间的错误转移。

Appendix Figure 解读:该 failure-only 图按 action type 着色,帮助定位 WebShop API agent 的失败动作类别。对 ARL 稳定性而言,这类可视化说明 format/action validity 不只是日志指标,而是会改变整条交互路径的结构。

Appendix Figure 解读:RL-optimized WebShop agent 的 success/failure Sankey 与 API agent 对比,用于观察 RL 后动作转移是否更集中到有效路径。若成功路径更聚焦,说明 policy optimization 不只是提高 final reward,也改变了中间 action distribution。

Appendix Figure 解读:RL failure-only 图展示优化后仍残留的错误动作类型。它可作为后续改进 format penalty、environment-level advantage 或 action constraints 的诊断入口。

Appendix Figure 解读:ALFWorld API agent 的 success/failure Sankey 展示 embodied household tasks 中动作链的分布差异。ALFWorld 的 horizon 更长,因此早期错误 action 更容易级联成失败轨迹,这也是 SAMPO 在 ALFWorld 上收益最大的原因之一。

Appendix Figure 解读:该图把 ALFWorld failure trajectories 按动作类型着色,说明动作有效性、状态转移和长程 credit assignment 的耦合关系。它补充了主实验曲线:valid-format ratio 和 success rate 背后对应的是具体错误动作链,而不只是 scalar metric 波动。
5.7 Limitations and takeaways
论文没有声称 SAMPO 已覆盖所有 agentic domains:TIR Math 中 SAMPO 主表标为不适用,且论文主要在 ALFWorld、WebShop、Sokoban、TIR Math 四类任务验证;更开放的 Web/Research agent、多 agent 协作、真实工具调用成本等仍需要额外实验。代码层面,SAMPO 的 released implementation 是组合式配置路径,而非一个单独 loss class,因此复现实验时必须同时检查 adv_estimator=sampo rewrite、GSPO loss、GIGPO advantage、filter_groups.enable 和具体 launch script 超参。
总体结论:ARLArena 的主要贡献是把 Agentic RL 的“训练不稳定”从经验现象变成可诊断的 policy-gradient 维度问题。最强经验结论是 sequence-level clipping 对长轨迹稳定性最关键,fine-grained advantage 与 dynamic filtering 进一步提高最终表现;SAMPO 的 4B/8B 结果说明这套组合在 agentic setting 中比单维度改动更可靠。