AgentGym-RL × ScalingInter-RL: 给多轮 agent RL 配上"模块化框架 + 渐进 horizon 课程"

Fudan & ByteDance Seed · Zhiheng Xi et al. · 2025-09-10 · arXiv:2509.08755
关键词: multi-turn RL · agent · horizon scheduling · GRPO · WebArena / TextCraft / BabyAI / SciWorld / Deep Search

速读卡片 (TL;DR)

一句话:把 multi-turn agent RL 里两件事拆开做——(1) 一个 解耦 的开源训练框架,把 environment/agent/training 三模块用 server-client + 标准 API 隔离;(2) 一个简单但管用的 horizon 课程 ScalingInter-RL,训练早期把交互轮次卡小(逼 exploit),后期再放大(允许 explore),避免长 horizon 直接训崩。

5 / 27
scenario / sub-task 覆盖
+33.65
7B 平均提升 (vs Qwen2.5-7B)
57.0
SciWorld 7B 模型(超过 o3 的 41.5)

立场:不是新算法,是新工程基线 + 一个被低估的训练 trick。亮点不在 RL 公式,而在"长 horizon 多轮 RL 终于能稳训"这件事:模块化让别人复现你,horizon 课程让模型自己跑得稳。


1 · 动机:为什么 multi-turn agent RL 总训不稳

1.1 历史脉络:从单轮 reasoning RL 到多轮 agent RL

2024 年以来,RL post-training 在单轮任务(MATH / CodeForces / 各种 verifiable task)上取得了相当成熟的范式——DeepSeek-R1 路线是其代表:一个 prompt → 生成一段长 CoT → outcome reward → GRPO 更新。这一支系研究的核心问题是 reasoning 长度,而非环境交互。

但 agent 任务本质是 POMDP:agent 给 action,环境返回 observation,agent 再给 action……一个 episode 可能有 5 / 10 / 30 轮交互。把单轮 reasoning 那套直接搬过来,会撞到三类全新的麻烦:

这篇 paper 想做的事可以一句话总结:把 reasoning RL 那一套搬到 multi-turn agent RL 上,中间该补的工程债一次性补齐

1.2 别的方案为什么不够

同期已经有一些 agent RL 框架/工作:Search-R1、WebRL、ToolRL、AgentRL、verl/AgentGym 旧版。它们各自都覆盖了一个切片,但没有一个是"训练框架 + 多 scenario 环境 + 稳定算法"的全栈方案:

方案覆盖主要短板
Search-R1 / ToolRL单一 scenario(检索 / 工具)环境 hard-coded,横向不可扩
WebRLweb 一个 scenarioSFT warmup 强依赖,无法 from-scratch
原版 AgentGym多 scenario,但只支持 SFT/DPO没有 online RL pipeline
OpenRLHF / verl / NeMo-RLRL 训练框架本身默认是 single-turn,没有 env client 抽象
prime-rl / AReaL异步 RL 训练高性能但 env 集成靠用户自己写
AgentGym-RL 👈多 scenario × online RL × 解耦架构填了"训练框架 + 多 env + 课程"的中间地带

另一类天真做法是"加大 max horizon 让模型自由探索"。Paper 里 Figure 7 给了非常清晰的反例:Deep Search 上 H=10 早期 reward 上得快,但 200 步后直接崩;H=5 稳定但 ceiling 低。固定 horizon 没法同时拿到稳定性和上限——这是 ScalingInter-RL 出场的直接动机。

1.3 为什么这事不平凡

表面上"模块化 + 课程"听起来都不新,但实际工程里有几道坎:

Take:这是一篇"基础设施 + 一招 trick"的工作。基础设施的价值在于把同行从重写环境胶水的地狱里捞出来,trick 的价值在于"长 horizon 多轮 RL 不再需要靠 SFT warmup 才能不崩"。后者比前者更有方法论意义。

2 · 背景速查

2.1 关键术语

术语含义
POMDP(U,S,A,O,T,r)。U=instruction,S=隐状态,O=observation。Agent 看不到完整 S,只能靠 O。
Trajectory ττ = (a₀ᵀ, o₁, a₁ᵀ, ..., aₖ₋₁ᵀ, oₖ)。aᵀ 表示 action 里包含 thinking 段。
Horizon H / K一个 episode 允许的最大 agent-env 交互轮数。本文核心变量。
GRPODeepSeekMath 提出的 group-relative PPO,用一个 prompt 下多个 sample 的 reward 标准化作 advantage,无需 value model。
REINFORCE++REINFORCE 加了 PPO 风格 clip + KL penalty 的稳定版。
RLOO同 batch 其他 sample 的均值作 baseline,比 GRPO 更朴素。
Outcome reward整个 episode 结束后由 env 一次性给的 r ∈ [0,1]。中间步无 reward。
Sequential / parallel scaling测试时增加 compute 的两种方式:加 turn 数 vs 加 sample 数(Pass@K)。
Scenario / Environment / Task本文层级:5 个 scenario(web/search/game/embodied/sci) × 多 env × 共 27 sub-task。
veRL字节开源的 RL 训练框架,本文 training 模块的底座。

2.2 GRPO 复习

A_i = (r_i − mean(r_{1..G})) / std(r_{1..G})

从同一个 prompt 采 G 个 trajectory,每条得 r_i;advantage 是组内 z-score。Loss 用 PPO 风格 clipped surrogate:

L = E[min(ρ·A, clip(ρ, 1±ε)·A)] − β·KL(π||π_ref)

ρ 是 token-level 的 importance ratio。在 multi-turn 设置里,A_i 的 r_i 是整条 episode 的 outcome reward,但 ρ 还是 per-token——所有 turn 里 agent 自己生成的 token 都会被同一个 advantage 放大或抑制。这是 multi-turn agent RL 的典型建模方式。


3 · 框架架构:三件套 + server-client

3.1 顶层结构

三个核心模块,各自独立可换:

Training 模块 PPO / GRPO REINFORCE++ / RLOO SFT / DPO / AgentEvol ScalingInter-RL 调度 veRL 底座 FSDP / Megatron vLLM rollout advantage / KL Agent 模块 Policy πθ (LLM) RolloutHandler prompt 模板 / reflection action parser Environment 模块 BaseEnvClient → HTTP → server WebArena (browser pool) Deep Search (RAG) TextCraft BabyAI SciWorld reset() · step() · observe() + outcome reward r ∈ [0,1] batch action obs / r trajectory
三模块解耦,通过 RolloutHandler / BaseEnvClient 两个抽象拼接。换 env 只需继承 BaseEnvClient 实现三个方法,换 RL 算法只需在 Training 模块替换 advantage/objective 计算——这是"plug-and-play"的具体含义。
RL step 内部数据流(单 step 8 sample × 5 turn 示意) ①expand prompt × G=8 ②env.reset 8 个独立 client subprocess pool ③for t in 1..h_t: vLLM batch generate env.step in parallel ④log_prob actor + ref ⑤update GRPO h_t 由 ScalingInter 注入 单条 trajectory token 结构(mask 视角): prompt a₀ᵀ o₁ a₁ᵀ o₂ a₂ᵀ o₃ ... final → r ∈ [0,1] 红 = agent token (loss 内, ratio 计算);灰 = env-returned obs (mask 掉,只参与 attention);绿 = 终态。
RL step 数据流。每步 8 条 trajectory 由 vLLM 批生成,env.step 在 8 个独立 client 上并行;ScalingInter 唯一插入点是第 ③ 步的循环上界 h_t。这是为什么"模块化"和"horizon 课程"能正交组合的根本原因。

3.2 Rollout 主循环 (paper 的伪代码)

tasks = expand(task_ids, sample_num)         # G 个 sample / prompt
envs  = create_env_clients(tasks, "webarena", base_url)
parallel: env.reset(task) for env, task in zip(envs, tasks)
handlers = [RolloutHandler().add_user_message(env.observe()) for env in envs]

for i in range(max_rounds):                   # 关键:max_rounds 受 ScalingInter 控制
    prompts   = [h.get_prompt() for h in handlers]
    responses = actor.generate(prompts)        # vLLM 批生成 (cross-trajectory)
    parallel: results = [env.step(resp) for env, resp in zip(envs, responses)]
    for h, r, res in zip(handlers, responses, results):
        h.add_assistant_message(r)
        h.add_user_message(res.state)
        h.score = res.score
    if all_done(handlers): break

batch = gen_batch_from_rollout_handlers(handlers)
batch = actor.compute_log_prob(batch)
batch = reference.compute_ref_log_prob(batch)
batch = compute_advantages(batch, method="grpo")
actor.update_actor(batch)

设计上的关键 invariant:

3.3 工程债清单(paper 自爆)

问题修复
WebArena 单浏览器单进程,无法并行改成 subprocess pool,一个 server 多 chromium
SciWorld 多实例并行 init/reset 失败重写 init/reset 路径
WebArena 跨 episode 状态污染full-reset interface,每 episode 还原 web server
TextCraft crafting_tree 递归 self-replication → 指数 OOM消除冗余 list copy
SciWorld 内部 clock memory leak重写 clock 机制

这些看起来"无聊"的工程修复其实是 paper 最被低估的贡献:它们让"长 horizon RL 训几小时不崩"从科幻变成默认。

3.4 三个常被混淆的概念,逐个讲清

(1) "Memory leak" 是什么 —— 不是 agent memory,是进程级内存泄漏

论文里出现两次 "memory leak",都指的是 开源 env 代码的 Python 进程级 bug,跟"agent long-term memory"完全不是一回事。两处具体来源:

环境泄漏来源后果修法
TextCraftrecursive crafting_tree 实现 里 list 反复 self-replicate指数级内存增长 → 训练几小时 OOM 崩溃重构递归,消除冗余 list copy
SciWorld内部 clock 机制每 step 累积对象不释放线性内存累积,长 rollout 不稳定重写 clock 实现
区分: 你可能在别的论文里见过 "memory" 指代 agent 长期记忆(MemoryBank / Mem0 / Memory-R1 那条线)。AgentGym-RL 这里完全不同 — 它说的是跑 RL 训练的 Python 进程占内存越来越多最后 OOM。是工程 bug 不是 algorithmic 问题。这件事重要,因为 multi-turn RL 训练动辄要跑十几个小时,一次崩溃损失巨大 — 但凡有一个 env 漏一点内存,batch 里上百个 parallel client 一起漏,几个 epoch 就崩。所以 paper 把这件事郑重写进 §3.2.3。

(2) "多 env" 指什么 —— 并行环境客户端架构

"多 env" 在论文里是 parallel environment clients 的简称。具体是什么?Trainer 一次要采 sample_num × batch 条 trajectory,如果每条 trajectory 串行跑一个 env,一个 rollout 要等几分钟。AgentGym-RL 的解法:server-client 架构 + 一个 server 多实例:

Trainer (veRL) policy π_θ rollout HTTP WebArena server (1 个进程) Chrome 1 Chrome 2 Chrome 3 ...×N subprocess pool: 一个 server 管多个 Chromium 实例 Trainer 同时发起 N 个 rollout client #1 → task A client #2 → task B client #3 → task C ... ×N 三个关键保证: 隔离:client 互相不见, 一个 task 状态污染不到另一个 失败局部化:Chrome i 崩 不影响 Chrome j 的 rollout full-reset:每 episode 后 完全还原 web server 初态
"多 env"的真实结构: 一个 env server 进程 + 内部 subprocess pool 管 N 个真实 Chromium / SciWorld / TextCraft 实例。Trainer 通过 HTTP 同时发起 N 个 rollout(N = sample_num × batch),每个 rollout 拿一个独立 client,client-instance 一一对应。这是 paper §3.1 的核心 — 没有它,multi-turn RL 训练就退化成串行,速度差 N 倍。

对比 paper 之前的方案:WebArena 原版是"一个 Chromium = 一个 OS 进程",上 16 个 parallel rollout 就要 16 个独立进程,内存爆炸还慢。AgentGym-RL 把这个改成 subprocess pool,一个 server 进程内开多个 Chrome,context 共享、内存可控。

(3) 这个框架到底是什么,能干嘛,支持什么

本质: 一个 训练 harness(不是模型,不是算法),用来在多个 multi-turn agent 场景上做 RL 训练。回答你三个具体的子问:

问题
是什么建在 veRL 之上的 multi-turn agent RL training framework + 一个名为 ScalingInter-RL 的训练 recipe
能达到什么Qwen2.5-7B 训完跨 5 场景平均涨 +33.65 个点,匹敌甚至超过 OpenAI o3 / Gemini-2.5-Pro。把"7B 模型也能做 agent"从假设变成实证
谁不用它纯单轮 RLVR (math/code) 用 veRL/AReaL 更直接;单 GUI 场景用 ClawGUI 部署更全;算法层创新用 RLAnything 更激进。AgentGym-RL 的位置是跨多 domain 的 multi-turn agent 训练

支持的 5 个 scenario × 5 个 benchmark(论文 §4.1):

Scenario具体 benchmark任务形式
Web NavigationWebArena4 个 domain: online shopping / forum / 协作开发 / business 内容管理。点击 + 表单 + 多页面跳转
Deep SearchRAG-based 自建环境multi-hop QA,LLM 调 search engine + Python interpreter
Digital GamesTextCraft文字版 Minecraft-style 合成游戏,自然语言交互
EmbodiedBabyAI2D grid world,文字指令驱动 agent 导航 + 拿取
ScientificSciWorld科学实验模拟,agent 设计实验、读反馈、迭代假设

共 27 个 task,所有场景共用同一套 trainer 代码、同一组 RL 算法、同一份 ScalingInter-RL recipe。

支持的 RL 算法(可一行配置切换):

支持的 backbone: 任意 HuggingFace causal LM。论文实测 Qwen2.5-3B / 7B 为主,作 baseline 用 Qwen-72B / Llama-3.1-8B/70B / DeepSeek-R1 / GPT-4o / Gemini-2.5-Pro / o3 / Qwen-Max 对比。

一句话 这个框架做的事是把 "multi-turn agent + RL" 这一组合工业化:把环境并行(多 env)、把训练崩(memory leak)、把场景碎片(5 benchmark 接一套接口),三件事一次性解决,然后再叠 ScalingInter-RL 这个 horizon curriculum 当算法侧贡献。

4 · ScalingInter-RL: horizon 课程

4.1 现象先于公式

Paper 的 Figure 7(Deep Search)给出了 ScalingInter-RL 最有说服力的动机图。复现一下核心走势:

step reward 0.30 0.50 0.65 H=10 (固定): 早期飙升 → 崩溃 H=5 (固定): 稳但 ceiling 低 ScalingInter-RL: 稳步登顶 h: 5→7 h: 7→10
三种 horizon 设定下 Deep Search 的 reward 轨迹示意。固定大 horizon 早期信号丰富但后期崩;固定小 horizon 稳但天花板低;ScalingInter-RL 在两个 transition 点把 h 抬一档,既拿到稳定性又解锁了上限。

4.2 调度规则

Paper 用的是简单的 monotonic step schedule:

h₁ < h₂ < ⋯ < hₙ;  h_{t+1} = h_t + δh, 每 Δ 步切一档

具体数字 paper 没给一张完整表,但结合 Figure 6 / 7 / 8 的横轴可以推出:

Paper 在文字里强调"不靠精细 hyperparameter 调,只把 transition 点按 RL 总步数等比例切"—这个简化是它能"跨 5 个 scenario 都 work"的关键。

ScalingInter-RL horizon 调度时间线(Deep Search 场景) step 0 step 350 Phase 1: exploit h₁ = 5 trajectory 短 advantage 方差小 学基础技能 Phase 2: 半放 h₂ = 7 允许 multi-hop 出现 reflection batch token ↑1.7× Phase 3: explore h₃ = 10 允许深度规划 strategic backtrack batch token ↑3× 长 horizon 行为 step ~117 step ~233 δh = +2 / phase, Δ ≈ total_steps / 3
3 阶段课程具体配置(Deep Search 推断值)。Paper 用"按总步数等比例切"代替 hyperparameter 搜索,跨 5 scenario 通用——这种"无调参"恰好是它能做成 framework default 的关键。

4.3 为什么"先 exploit 后 explore"是对的

反直觉吗?直觉上 RL 应该 explore 后 exploit。但在 LLM 多轮 RL 这个特定 setting 里反过来,原因很具体:

4.4 Worked example: 在 GRPO 里 ScalingInter 改了什么

展开:具体的 batch shape 与 advantage 计算

设 batch_size=64, group_size G=8(同 prompt 8 sample),即一个 RL step 处理 8 个 prompt × 8 trajectory。

阶段H_max每条 trajectory tokenbatch 总 tokenGRPO advantage 标准差
Phase 1 (step 0–100)5~1.2k~610k低 (~0.2)
Phase 2 (100–200)7~2.0k~1.0M中 (~0.35)
Phase 3 (200–)10~3.5k~1.8M高 (~0.5)

注意 Phase 1 时 batch 总 token 只有 Phase 3 的 1/3,RL step 时间也短得多——这就是 paper 提到的"reduce computational resources and time"的来源:不是 algorithmic trick,而是早期物理上 batch 就小。


5 · 公式 + 物理直觉

5.1 优化目标

J(θ) = E_{τ~πθ}[r(τ)],  τ = (a₀ᵀ, o₁, a₁ᵀ, ..., a_{K-1}ᵀ, o_K), K ≤ h_t

关键变化只在约束 K ≤ h_t:每条 trajectory 的最长交互轮数受 phase t 当前 horizon 上限。当 K 在某一步达到 h_t 还没完成,episode 就被截断,对应的 outcome reward = 0(或环境给的部分分,看具体 env)。

5.2 GRPO 在 multi-turn 下的具体形式

L_{GRPO} = E [ Σ_t min(ρ_t A, clip(ρ_t,1±ε) A) ] − β KL(πθ ‖ π_ref)

其中 ρ_t = πθ(token_t | ctx_t) / πθ_old(token_t | ctx_t),context 是整个 trajectory 到 t 时刻的所有 (action, observation) 拼接。这一点跟单轮 RL 的本质区别在 context 里包含 env-returned observation token——这些 token 不在 loss 里(只 mask 掉,不参与 ratio),但参与了 attention。

5.3 物理直觉

把 trajectory 视为一个"被 chunk 成 K 段、中间有外部 token 注入"的长序列。GRPO 的 advantage A 是整段的标量,所有 agent-generated token 共享一个 A:

这种"全或无"的 credit 在 H 大时极其有害——一个失败 trajectory 里可能有 80% 的 turn 是合理的,全被压低。ScalingInter-RL 早期小 H 等于变相缩短了"无差别奖惩"的范围,让正信号不被噪声稀释

5.4 数值敏感度

H典型 success rate (Deep Search)每个 prompt 至少 1 条成功的概率 (G=8)GRPO 标准差稳定?
3~5%~33%是,但学不深
5~15%~73%稳定,信号充足
10~25%(早期高,后崩)~90%早期好,后期方差爆炸

这张表解释了为什么 H=5 是个"甜点":每个 prompt 的 8 条 sample 里大概率至少有 1 条正反馈,GRPO 的 z-score 不会因为全 0而退化(全 0 → std=0 → advantage=NaN/0)。


6 · 5 个 scenario × 27 任务概览

Scenario环境子任务示例典型 HAction 形态
Web NavigationWebArenaShopping / CMS / Maps / GitLab&Reddit10–25click[id] / type / scroll / tab_focus
Deep SearchRAG envNQ / TriviaQA / PopQA / HotpotQA / 2Wiki / Musique / Bamboogle3–10search(q) / answer(a)
Digital GameTextCraftDepth 1–4 物品合成5–15craft / get / inventory
EmbodiedBabyAIGoTo / Pickup / AOD / Find / Room / SLoc5–10go forward / turn / pickup / toggle
ScientificSciWorldMeasure / Test-Cond / Find / Chem-Mix / Lifespan15–30自然语言 + 物体操作

5 × 多 = 27:WebArena 4 + Deep Search 7 + TextCraft 4 + BabyAI 6 + SciWorld 5(各 paper 表里直接对应一栏)。这是 paper 标题里"27 tasks"的具体来源。

各 scenario 典型 H 范围 BabyAI 5–10 Deep Search 3–10 TextCraft 5–15 WebArena 10–25 (长) SciWorld 15–30 (最长) 0 30 turn
不同 scenario 的 horizon 量级差很大。SciWorld 的 chemistry-mix 子任务上限到 30+ 步,但所有模型(包括 o3)在该子任务上得分都是 0——multi-turn agent RL 的真正前沿就在这种长链科学推理。

7 · Worked example: Deep Search 的 8 轮 trajectory

用 NQ-style 多跳问题为例,过一遍 ScalingInter-RL 在 Phase 2(h=7)下的一条成功 trajectory:

Question: Who was the screenwriter of the film that won Best Picture at the Academy Awards in the year that the actor who played Tony Stark in the MCU was born?
turnagent actionenv observation评注
1think: 我需要先找 Tony Stark 的演员。
search("actor played Tony Stark MCU")
"Robert Downey Jr."子任务 1 启动
2search("Robert Downey Jr birth year")"April 4, 1965"得到 1965
3search("Best Picture Academy Award 1965")"My Fair Lady (1964 film), winner at 37th Academy Awards (April 5, 1965)"需要消歧义
4think: Oscar 是颁前一年片子,所以 1965 颁的是 1964 年片 My Fair Lady。
search("My Fair Lady 1964 screenwriter")
"Alan Jay Lerner"关键 reasoning step
5answer("Alan Jay Lerner")r = 1.0,episode 终止5 步完成

对比 base Qwen2.5-7B 在同问题上的失败 trace(简化):

turnactionobs
1search("Tony Stark actor birth year")多个结果,模型直接抓到错的"1968"
2search("Best Picture 1968")"In the Heat of the Night"
3search("In the Heat of the Night screenwriter")"Stirling Silliphant"
4answer("Stirling Silliphant")r = 0.0

ScalingInter-RL 学到的具体能力:

展开:同一道题在 H=10 固定训练崩坏后的失败模式

Paper 的 over-interaction case study(Figure 16 web 版)显示:H 大且训练后期模型会陷入"无意义重复点击 / 重复搜索",哪怕已经拿到了答案也不 stop。机制猜测:大 H 下 trajectory 长,outcome reward 的 noise floor 高,policy 学到的反而是"多动总比少动好"的伪相关。这正是 paper 里说的 "overfitting to spurious behaviors"


8 · 实验关键结果

8.1 总览(Figure 1 加权)

模型5-scenario 平均对比基线提升
Qwen2.5-7B (base)~25%
AgentGym-RL-7B~52%+27
ScalingInter-7B~58.6%+33.65
GPT-4o~46%
Gemini-2.5-Pro~52%
OpenAI o3~62%

7B 模型超过 70B Llama3.1 (~47%) 和 72B Qwen2.5 (~43%)。这就是 paper 标题里"matches/surpasses commercial models"的来源——但需要注意商用模型未做 task-specific RL,这是公平 vs 不公平的边界。

5 scenario 上 ScalingInter-7B vs 关键基线 0 25 50 75 score WebArena 9.8 / 16 / 34 / 26 Deep Search 18.8 / 26.8 / 49.5 / 38.3 TextCraft 42 / 83 / 93 / 91 BabyAI 66.7 / 86.7 / 94.4 / 96.7 SciWorld 1.5 / 21 / 41.5 / 57 Qwen2.5-7B base GPT-4o OpenAI o3 ScalingInter-7B
5 scenario 上 ScalingInter-7B(红)与 base、GPT-4o、o3 的对比。SciWorld 的提升最戏剧化(1.5→57);WebArena / Deep Search 的相对收益较小(open-ended 反馈下的 RL 仍是开放问题);BabyAI 直接 SOTA 超 o3。

8.2 SciWorld:最戏剧性的提升

模型OverallTest-CondFindChem-Mix
Qwen2.5-7B base1.500.000.000.00
OpenAI o341.5025.3056.8240.00
AgentGym-RL-7B50.5059.0465.910.00
ScalingInter-7B57.0055.4288.640.00

1.50 → 57.00 是 paper 最强信号——但同时 Chem-Mix 全模型 0 分(包括 o3)说明 multi-turn agent RL 没有解决真正的程序化科学推理瓶颈,只是把"环境探索 + 信息提取"做到了上限。

8.3 GRPO vs REINFORCE++(Table 6)

BackboneAlgoTextCraftBabyAISearchQA
Qwen2.5-3BGRPO75.0093.3325.75
Qwen2.5-3BREINFORCE++28.0070.0013.25
Qwen2.5-7BGRPO83.0092.2234.00
Qwen2.5-7BREINFORCE++73.0084.4424.00

3B GRPO 全面超过 7B REINFORCE++ —— paper 直接得出结论:在 sparse-reward agent 任务里 algorithm 比 model size 更重要。物理解释:REINFORCE++ 的 Monte Carlo return 在长 trajectory 下方差爆炸,GRPO 的组内 z-score 是天然的方差缩减。

8.4 Test-time scaling(Figure 8/9)


9 · 与同类工作对比

框架定位多 envOnline RL课程/horizon 调度开源主要差异点
AgentGym-RLmulti-turn agent RL 全栈5 scenario / 27 taskPPO/GRPO/REINFORCE++/RLOOScalingInter把 env / agent / training 三模块完全解耦
AgentRL (Wang et al.)multi-turn agent RL少数 envPPO/GRPO无 horizon 调度,默认依赖 SFT warmup
verl / OpenRLHFRL training 框架无 env 抽象PPO/GRPO/REINFORCE++底座型,本文 training 模块即基于 veRL
NVIDIA NeMo-RLRL training 框架用户自带 envPPO/GRPO + speculative偏 single-turn / reasoning,训练侧工程优化深
prime-rl / AReaL异步 RL pipeline用户自带PPO/GRPO async关注 throughput;多轮 env 集成需用户自写
Search-R1 / WebRL / ToolRL单 scenario 工作1 scenarioPPO/GRPO部分有 hand-tunedenvironment hard-coded,跨任务不可复用

定位差别一句话:OpenRLHF / NeMo-RL / prime-rl / AReaL 是训练侧框架,Search-R1/WebRL/ToolRL 是单任务工作,AgentGym-RL 填的是中间——多 env × online RL × 解耦架构 × horizon 课程。

同期姊妹笔记参考:


10 · 局限 / 个人 take / 待验证

10.1 paper 自承的局限

10.2 个人 take

10.3 待验证问题

  1. ScalingInter 的 transition 点放在 RL 总步数的哪几个比例最优?跨 scenario 是否真有 universal schedule?
  2. 如果用 async RL(prime-rl / AReaL 风格),horizon 调度和 policy lag 怎么交互?lag 越大是否越需要小 H?
  3. Chem-Mix 全 0 是 reward 信号问题还是 horizon 不够?能否设计 process reward 解开?
  4. AgentEvol(rejection sampling)+ ScalingInter 组合会不会比纯 GRPO + ScalingInter 更稳?
  5. 在 70B 量级上,from-scratch RL(无 SFT warmup)是否还成立?paper 只测到 7B。
  6. WebArena 的 GitLab&Reddit 子任务为什么是所有 model 的瓶颈?是 long-horizon 还是 action space 问题?

11 · 速记盒

立场 多轮 agent RL 的"训练能稳"比"算法新"更紧迫;模块化框架 + horizon 课程一起把这事推到了 production-ready。
框架 Environment / Agent / Training 三模块完全解耦,通过 BaseEnvClient.{reset, step, observe}RolloutHandler 抽象拼接。
trick ScalingInter-RL: h₁ < h₂ < ⋯ < hₙ,等比例切 transition,不调超参,跨 5 scenario 都 work。
curriculum 反直觉:LLM 多轮 RL 应该先 exploit(小 H)后 explore(大 H),因为 base policy 已是 pretrained,缺的是稳信号不是搜索面。
algo GRPO >> REINFORCE++ 在 sparse-reward 长 horizon 下:3B GRPO 全面超 7B REINFORCE++。
数字 7B 平均 +33.65,SciWorld 1.50 → 57.00,WebArena 26%(Match Gemini-2.5-Pro)。
边界 Open-ended 任务(WebArena / Deep Search)收益较小;Chem-Mix 所有模型 0 分。
工程债 WebArena 浏览器池化 / SciWorld clock leak / TextCraft crafting_tree 指数 self-replication —— 这些 fix 才让长 RL 不崩。