SKYRL-AGENT: Efficient RL Training for Multi-Turn LLM Agent
SKYRL-AGENT: Efficient RL Training for Multi-Turn LLM Agent
发表时间: 2025-11 · arXiv:2511.16108 (NovaSky AI / UC Berkeley / Anyscale)
文章标题: SKYRL-AGENT: 高效的面向多轮 LLM 智能体的强化学习训练
作者/机构: Shiyi Cao§∗, Dacheng Li§∗, Fangzhou Zhao§†, Shuo Yuan§†, Sumanth R Hegde¶†, Connor Chen§†, Charlie Ruan§†, Tyler Griggs§, Shu Liu§, Eric Tang¶, Richard Liaw¶, Philipp Moritz¶, Matei Zaharia§, Joseph E. Gonzalez§, Ion Stoica§ (NovaSky AI, §加州大学伯克利分校, ¶Anyscale)
A1 主要贡献
本文介绍了一个名为 SKYRL-AGENT 的框架,旨在实现高效、多轮、长周期的智能体训练和评估。该框架旨在解决现有智能体训练中缺乏一个模块化、高性能的智能体 rollout 编排层的问题。当前的研究人员和实践者不得不为协调异步 rollout、管理环境和智能体状态以及与现有训练框架集成而构建临时解决方案,这导致了效率低下、执行脆弱和调试困难。
研究目标:
为了实现高效、可扩展和可扩展的智能体训练,该框架应满足以下三个关键特性:
1. 灵活的工具和任务集成:支持轻松集成新任务和具有不同运行时需求的各类工具(如无状态工具、环境修改工具、智能体状态修改操作)。
2. 高效的 rollout 调度:支持细粒度的调度,将 rollout 分解为多个阶段(如初始化、LLM 生成、奖励计算)并独立调度,以重叠 CPU 和 GPU 密集型操作,平衡异构资源负载,最大化硬件利用率。
3. 训练后端无关:将智能体设计、工具执行逻辑与训练后端解耦,使单个智能体实现可以在不同训练框架(如 Tinker、VeRL、SkyRL-train)之间无缝切换。
核心创新点:
SKYRL-AGENT 框架通过引入三个关键组件来实现上述目标:
1. 以工具为中心的任务接口:支持动态注册用户定义的工具、指令构建器和验证器,以最小的代码改动实现新任务和工具的无缝集成。
2. 细粒度的异步分发器抽象:为设计多阶段 rollout 任务批次的调度策略提供统一接口。
3. 后端桥接:连接到 Tinker、VeRL 和 SkyRL-train 等强化学习训练系统,用于优势估计和策略优化。
主要成果:
为了验证框架的有效性,作者使用 SKYRL-AGENT 训练了 SA-SWE-32B,这是一个从 Qwen3-32B(初始 Pass@1 为 24.4%)纯粹通过强化学习训练的软件工程(SWE)智能体。训练过程中的效率提升源于两个关键贡献:
* 异步流水线分发器:通过重叠 CPU 和 GPU 密集型操作,该分发器相比朴素的异步批处理实现了 1.55 倍的加速(如图 1b 所示)。
* 工具增强的训练方案:利用一个基于 AST 的搜索工具来促进代码导航,从而提高了 rollout 的 Pass@K 和训练的样本效率(如图 1a 所示)。
最终,SA-SWE-32B 在 SWE-Bench Verified 数据集上达到了 39.4% 的 Pass@1,其性能与同规模的顶尖模型相当,但训练成本降低了 2 倍以上。尽管仅在 SWE 任务上进行训练,SA-SWE-32B 仍能有效地泛化到其他智能体任务,如 Terminal-Bench、BrowseComp-Plus 和 WebArena。此外,本文还通过在深度研究、计算机使用和记忆智能体上的案例研究,展示了 SKYRL-AGENT 的可扩展性和与不同训练后端的互操作性。
(a) SA-SWE-32B 及基线的训练指标。我们使用第 125 步的检查点进行最终评估。DeepSWE 的曲线取自其 wandb 日志。
(b) 异步流水线和异步批处理(有界)在生成过程中的 GPU 利用率。在批大小为 64 和 8 个 rollout(总共 512 个)的条件下,使用 2×8 H100 GPU 对 SA-SWE-32B 训练进行评估。
图 1: SA-SWE-32B 的训练动态和系统性能。(a) 比较了不同消融实验的训练指标;(b) 显示了异步分发策略之间的 GPU 利用率对比。
A3 背景知识
多轮 LLM 智能体训练。强化学习(RL)在改进数学、逻辑和编码等单轮推理任务方面显示出巨大潜力(【52】Shao et al., Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv;【13】Guo et al., Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025, arXiv;【16】Hu et al., Open-reasoner-zero: An open source approach to scaling up reinforcement learning on the base model, 2025, arXiv;【3】An et al., Polaris: A post-training recipe for scaling reinforcement learning on advanced reasoning models, 2025, http://hkunlp.github.io;【68】Yu et al., Dapo: An open-source llm reinforcement learning system at scale, 2025, arXiv)。在这些场景中,模型为单个提示生成完整响应,并接收一个反映其正确性或质量的标量奖励。基于这些成功,研究人员进一步探索了工具集成的推理,模型与搜索引擎、计算器或代码执行器等外部工具交互(【30】Li et al., Torl: Scaling tool-integrated rl, 2025, arXiv;【20】Jin et al., Search-r1: Training llms to reason and leverage search engines with reinforcement learning, 2025, arXiv;【6】Chen et al., Retool: Interactive microtask and workflow design through demonstration, 2017, CHI Conference on Human Factors in Computing Systems),以增强其推理能力,在相关推理基准上取得了显著进步。由于工具的响应(如检索到的文档或计算结果)与模型的自身推理交织在一起,大多数方法采用基于掩码的损失构建方式,在优化过程中掩盖非模型生成的 token,以确保只有生成的片段对策略梯度有贡献。
多轮智能体的 POMDP 公式化与挑战。最近的工作已将强化学习应用于长周期、多轮的智能体训练(【4】Cao et al., Skyrl-v0: Train real-world long-horizon agents via reinforcement learning, 2025;【40】Luo et al., Deepswe: Training a state-of-the-art coding agent from scratch by scaling rl, 2025, Notion Blog;【11】Gao et al., Beyond ten turns: Unlocking long-horizon agentic search with large-scale asynchronous rl, 2025, arXiv;【38】Lu et al., Arpo: End-to-end policy optimization for gui agents with experience replay, 2025, arXiv),从而能够对 ReAct(【66】Yao et al., React: Synergizing reasoning and acting in language models, 2022, ICLR)、CodeAct(【59】Wang et al., Executable code actions elicit better llm agents, 2024, ICML)和 MemGPT(【47】Packer et al., Memgpt: Towards llms as operating systems, 2023)等智能体框架进行监督学习之外的优化(【48】Pan et al., Training software engineering agents and verifiers with swe-gym, 2024, arXiv;【63】Yang et al., Swe-smith: Scaling data for software engineering agents, 2025, arXiv)。一个多轮智能体可以被形式化为一个部分可观察马尔可夫决策过程(POMDP)(【22】Kaelbling et al., Planning and acting in partially observable stochastic domains, 1998, Artificial intelligence),在每一步 t,智能体观察一个上下文 $o_t$,从策略 $\pi_\theta(a_t|o_t)$ 中生成一个动作 $a_t$,并从环境中接收一个标量奖励 $r_t$。目标是最大化期望累积回报:
其中 T 是每个任务中智能体的轮数。
基于转换的数据表示。在多轮设置中,智能体经常通过摘要、截断或选择性地整合检索到的信息来修改其上下文,这使得整个交互历史变得非平稳。这种动态的上下文管理打破了单个连续文本序列的假设,使得传统的基于掩码的方法难以推广到短时、工具集成的推理任务之外。基于 POMDP 公式,最近的工作转而采用更通用的基于转换(transition-based)的数据表示(【54】Tan et al., rllm: A framework for post-training language agents, 2025, Notion Blog;【41】Luo et al., Agent lightning: Train any ai agents with reinforcement learning, 2025, arXiv),其中每个模型调用及其产生的反馈被表示为一个元组 $(o_t, a_t, r_t)$。这种表示支持灵活的奖励分配,并将学习与智能体执行和上下文管理的细节解耦。它也自然适用于多智能体或子智能体系统,其中不同的策略在共享环境中交互。
现有 LLM 智能体训练框架的局限性。现有的智能体训练框架,如 VeRL-Tool(【18】Jiang et al., Verltool: Towards holistic agentic reinforcement learning with tool use, 2025, arXiv)、rLLM(【54】Tan et al., rllm: A framework for post-training language agents, 2025, Notion Blog)、GEM(【37】Liu et al., Gem: A gym for agentic llms, 2025, arXiv)和 AgentLightning(【41】Luo et al., Agent lightning: Train any ai agents with reinforcement learning, 2025, arXiv),推动了 LLM 智能体的大规模 RL 训练,但仍受限于朴素的异步批处理(即数据并行)执行。SKYRL-AGENT 支持多维度(例如,数据并行+流水线并行)的灵活 rollout 调度。除了执行效率,SKYRL-AGENT 在单个工具下统一了无状态工具(如 python 解释器)、环境修改动作(如文件编辑器)和智能体状态修改操作(如摘要),这与以 Gym 为中心的循环(【54】Tan et al., rllm: A framework for post-training language agents, 2025, Notion Blog;【37】Liu et al., Gem: A gym for agentic llms, 2025, arXiv)不同,后者通过临时实现来管理 env.step 之外的智能体状态。如表 1 所示,AgentLightning 充当训练后端和工作流框架(如 LangChain【【24】LangChain, 2025】和 AutoGen【【2】AutoGen, 2025】)之间的中间层,但缺乏对用户定义工具和新任务集成的原生支持。rLLM 和 VeRL-Tool 提供了更强的可扩展性,但它们与 VeRL(【53】Sheng et al., Hybridflow: A flexible and efficient rlhf framework, 2025, EuroSys)后端绑定,并且 VeRL-Tool 基于掩码的轨迹构建限制了其在多智能体系统或记忆智能体等场景中的应用。
表 1: SKYRL-AGENT 与现有智能体训练框架的比较。SKYRL-AGENT 为可扩展的智能体训练提供统一的工具接口、高效的 rollout 调度、后端可移植性、运行时扩展工具和动态轨迹构建。
A2 方法细节
SKYRL-AGENT 被设计为一个用于大规模训练和评估工具使用智能体的模块化框架。系统架构如图 2 所示,包括三个主要组件:用于灵活工具和任务集成的以工具为中心的智能体循环(§3.1),用于异构调度的细粒度分发器(§3.2),以及用于与 RL 训练系统无缝连接的后端桥接(§3.3)。
图 2: SKYRL-AGENT 概览架构。该框架将每个 rollout 分解为三个阶段:(1) 用于工具执行运行时设置的运行时初始化,(2) 智能体通过工具接口执行动作的智能体运行,以及 (3) 用于结果评估的奖励计算。在执行期间,LLM 调用的输入和输出被记录为转换并存储在缓冲区中,而后处理将这些转换及其奖励聚合成与多种 RL 训练后端(如 SkyRL-train、VeRL 和 Tinker)兼容的格式化数据。分发器根据预定义策略在三个阶段之间调度作业。
3.1 以工具为中心的智能体循环
智能体通过函数调用与环境交互。在 SKYRL-AGENT 中,智能体完全通过 OpenAI 风格的函数调用来行动。每个工具实现自己的执行逻辑并指定其运行时。现有的 Gym 风格环境(【37】Liu et al., Gem: A gym for agentic llms, 2025, arXiv;【17】Jain et al., R2e-gym: Procedural environments and hybrid verifiers for scaling open-weights swe agents, 2025, arXiv;【61】Xie et al., Osworld: Benchmarking multimodal agents for open-ended tasks in real computer environments, 2024),可以通过将其 step() 函数包装成一个工具来进行集成。例如,列表 1 展示了计算机使用智能体工具的一个实现。
该设计的优势。这种设计带来了几个实际好处:(i) 统一管理智能体和环境状态:与以 Gym 为中心的智能体循环(【54】Tan et al., rllm: A framework for post-training language agents, 2025, Notion Blog;【37】Liu et al., Gem: A gym for agentic llms, 2025, arXiv)不同,在那些循环中,智能体状态是通过临时代码在 env.step 之外管理的。SKYRL-AGENT 将其置于与其他动作相同的工具抽象之下,使得如上下文管理这类修改智能体状态的操作变得模块化和可学习。(ii) 便捷的多任务训练:不同的数据集可以绑定到不同的工具集和验证器,而无需修改智能体循环,从而允许运行器在单个训练作业中复用任务。(iii) 最小改动的任务集成:添加一个新任务简化为提供一小组工具实现以及任务特定的指令构建器和验证器,而无需更改智能体代码或触及系统的其他部分。
@register_tool("osworld_action")
class OSWorldActionTool(BaseTool):
name = "osworld_action"
description = ( "Execute desktop automation actions using pyautogui. "
"Provide Python code such as 'pyautogui.click(500, 300)' "
"or 'pyautogui.typewrite(\"Hello World\")'." )
parameters = {
"type": "object",
"properties": {"code": {"type": "string"}},
"required": ["code"]
}
def call(self, params: Union[str, dict], runtime=None, **kwargs) -> str:
code = params.get("code", "").strip()
obs, reward, done, info = runtime.step(code, TIMEOUT)
列表 1: 计算机使用智能体的工具实现示例。
3.2 通过分发器进行细粒度的异构调度
将 Rollout 分解为多阶段作业。多轮 RL rollouts 包含成本和设备亲和性各不相同的操作。如图 2 所示,SKYRL-AGENT 将每个轨迹分解为阶段性作业:1) 运行时初始化,2) 智能体运行,和 3) 奖励计算。分发器为每个阶段维护有界队列,并根据预定义策略路由作业,从而平衡异构设备上的工作负载以提高整体资源利用率。
提供多种分发策略。我们在一个统一的接口下提供了几种分发策略,允许实践者方便地选择最适合其任务特性的策略,如图 3 所示。Async Batch 会并发启动所有轨迹,当运行时初始化和奖励计算都比较轻量时(例如在搜索集成的推理任务中【【20】Jin et al., Search-r1: Training llms to reason and leverage search engines with reinforcement learning, 2025, arXiv】),这种策略是有效的。Async Batch (Bounded) 将并发性限制在一个可配置的池大小内,这适用于必须限制并发以防止运行时过载的环境,或者可以跨 rollouts 高效重用持久性资源(例如计算机使用任务中的长寿命虚拟机)的场景。Async Pipeline 采用三个不同、可配置大小的有界队列来重叠 CPU 密集型阶段和 GPU 密集型推理,防止 CPU 开销节流智能体循环和运行时服务过载。现有的智能体训练框架通常采用异步批处理方法。
图 3: 支持的分发方法示例。Async Batch 通常用于运行时初始化和奖励计算轻量的推理任务。Async Batch (Bounded) 以有限的并发性顺序调度轨迹,导致各阶段 GPU 利用率不均衡,但在运行时重置成本低廉时(如计算机使用任务)仍然有效。Async Pipeline 重叠三个阶段以保持高 GPU 利用率,适用于运行时或奖励阶段成本高昂的任务。
列表 2: Async Batch (Bounded) 的简化实现。
Async Pipeline 的性能优势。在我们的 SWE 智能体训练中(§4.2),Async Pipeline 分发策略相比朴素的 Async Batch (Bounded) 方法实现了约 1.55 倍的加速,如图 1b 所示。使用异步流水线方法,GPU 利用率在整个生成阶段稳定在 90% 左右。相比之下,异步批处理策略表现出大的波动和频繁的利用率下降,揭示了由 CPU 密集型操作(如运行时初始化和奖励计算)引起的 GPU 端“气泡”。在这些时间段内,GPU 在等待 CPU 端准备完成时处于空闲状态。异步流水线方法通过重叠 CPU 和 GPU 密集型阶段来消除这些空闲期,使 GPU 持续保持活跃,并实现显著更高的整体硬件效率。
分发器接口的可扩展性。列表 2 提供了 Async Batch (Bounded) 的一个示例实现,表明在统一接口下,只需最少的代码即可添加新的分发策略。这种设计使得为不同的工作负载特性实现定制的并行化策略变得容易,例如,基于优先级的调度,优先处理评估成本更高(例如,更多测试用例)的轨迹,防止它们成为长尾拖延者并减少整体任务完成时间。
@register_dispatcher("async_batch_bounded")
async def async_batch_bounded(cfg, trajs, init_fn, run_fn, eval_fn):
sem = asyncio.Semaphore(cfg.get("max_parallel_agents", 8))
async def one(i, j):
async with sem:
tr = trajs[i][j]
await getattr(tr, init_fn)()
await getattr(tr, run_fn)()
await getattr(tr, eval_fn)()
await asyncio.gather(*[asyncio.create_task(one(i, j)) for i in trajs for j in trajs[i]])
3.3 连接到训练后端
采用基于转换的设计。我们采用一种基于转换(transition-based)的设计,将每次 LLM 调用记录为包含输入 token、输出 token 及其相应对数概率(如果推理端点提供)的单个转换。这些转换构成了构建最终训练数据的基础,并为稳健的 RL 训练提供了几个关键能力。首先,它有助于缓解推理和训练之间的一致性问题。通过明确记录对数概率,我们可以应用像 Flash-RL(【35】Liu et al., Flashrl: 8bit rollouts, full power rl, 2025, fengyao.notion.site)这样的最新技术来纠正推理-训练引擎不匹配的问题(【65】Yao et al., Your efficient rl framework secretly brings you off-policy rl training, 2025, fengyao.notion.site)。其次,它保证了 token 级别的保真度。转换格式自然支持 token-in/token-out 处理,消除了由重新分词或文本后处理引起的离策略漂移(【55】The Agent Lightning (AGL) Team, No more retokenization drift: Returning token ids via the openai compatible api matters in agent rl, 2025, http://blog.vllm.ai)。第三,它实现了算法的灵活性。转换级别的数据使得除了基于掩码的连接方法(通常效率低下且僵化)之外,还可以使用更广泛的 RL 算法。例如,我们可以动态地总结先前的上下文(见 §5.2 中的例子),插入结构化提示,甚至在不同轮次中修改智能体的角色,从而实现更多样化和灵活的智能体训练方法。该记录机制通过一个轻量级的装饰器实现,该装饰器在生成过程中透明地捕获模型输入和输出,创建转换对象而无需对智能体逻辑进行任何修改:
@record_transition
async def _generate(self, input_ids, sampling_params):
return await self.backend.generate(input_ids, sampling_params)
动态打包与后端无关的数据格式。此外,为了计算效率,我们使用标准的基于掩码的方法,将共享相同前缀的转换动态打包成单个训练样本。因此,对于在执行期间没有任何上下文修改的轨迹,系统自然地回退到传统的连接和掩码方法。
后端桥接。执行后,运行器将训练样本聚合成一个统一的中间格式,如列表 3 所示。SKYRL-AGENT 透明地将此格式转换为不同后端所需的输入结构,用于优势估计和策略更新。因此,从本地评估切换到分布式训练只需要调整配置而不是修改智能体或任务代码,从而在保持关注点清晰分离的同时,实现了后端专业化。
列表 3: post_process 返回的与后端无关的训练数据。
抽象训练后端的好处。通过抽象训练后端,研究人员可以在相同的任务上比较替代方法,而不会受到不同实现带来的混淆因素的影响,从而加速算法进展。同样,这种抽象保留了对后端特定优势的访问,例如高级模型支持、新颖的训练算法、专门的硬件支持(例如,GPU/TPU/AMD 加速器)以及用于非常大型模型的基于 API 的执行,因此实践者可以通过配置来利用这些能力,而无需更改代码。
3.4 错误处理
处理智能体执行中的失败。在现实环境中执行智能体不可避免地会遇到各种失败:LLM 生成问题、格式错误的工具调用、执行超时和资源耗尽。虽然我们以工具为中心的设计已经将许多特定于环境的错误定位到工具级别,但 SKYRL-AGENT 还在智能体循环中额外处理两类失败:终止条件(例如,超出上下文窗口、达到最大迭代次数),这会立即停止该回合;和可恢复条件(例如,解析失败、参数不正确),对于这些情况,框架会将纠正性反馈注入到对话历史中,以在下一步中实现自我纠正,从而使智能体能够从这些失败中恢复,提高整体成功率。
4.2 训练方案
通过更好的工具引导训练。最近的研究表明,智能体在错误定位方面常常遇到困难,这是软件工程任务中的一个关键瓶颈(【7】Chen et al., Locagent: Graph-guided llm agents for code localization, 2025, arXiv;【69】Zan et al., Multi-swe-bench: A multilingual benchmark for issue resolving, 2025, arXiv)。我们观察到,这种失败很大程度上源于智能体无法有效使用命令来导航代码库。具体来说,智能体倾向于过度依赖直接查看文件,而不是利用搜索工具(如 grep、find),并且常常无法用信息丰富的模式或精确的关键词来优化其查询,导致重复无法定位相关上下文。结果,智能体频繁地回退到使用 view 工具逐块查看文件,或者检索大量不相关内容,这两种情况都消耗了过多的上下文并降低了整体效率。
实现基于 AST 的搜索工具。基于这些观察,我们实现了一个基于 AST 的搜索工具,该工具提供了强大的检索能力,支持模糊匹配和结构化模式搜索,其灵感来源于 LocAgent(【7】Chen et al., Locagent: Graph-guided llm agents for code localization, 2025, arXiv)。为了进一步鼓励使用搜索工具,我们在每个搜索结果的末尾附加了上下文提示(例如,建议接下来搜索哪些特定的术语或模式),以引导智能体进行更精确的查询。我们发现,这种工具增强对于高效的 RL 训练至关重要。没有它们,由于长周期任务固有的稀疏和延迟奖励,端到端的 RL 变得极具挑战性。特别是,最小工具配置,例如 Mini-SWE-Agent(【1】The 100 line ai agent that solves github issues & more, 2025, GitHub)中使用的仅 bash 设置,在 R2E-Gym 数据上表现出非常高的未解决率(例如,64 个中有 50 个),使得学习过程充满挑战且效率低下。相比之下,我们优化的、工具引导的设置显著加速了收敛,仅需 125 步 RL 训练即可达到或甚至超过同等规模的先前模型的性能(图 1a)。为了评估泛化能力,我们在评估时去除了搜索工具。值得注意的是,该模型表现出涌现的、内部实现的搜索行为,并且在没有明确访问专用搜索工具的情况下获得了相当的性能。我们还在训练中观察到,随着训练的进行,每个轨迹的平均搜索调用次数稳步增加,这表明智能体逐渐学会更多地依赖搜索来进行高效的代码定位,如图 1a 所示。
RL 算法和超参数。为了稳定训练,我们采用了一个完全的在策略(on-policy)设置,其中训练批大小等于小批量大小(均设置为 64),每个任务的 rollout 数量为 8。因外部约束(如最大上下文长度 32K token,步数限制 50 轮)而终止的轨迹,在梯度更新期间被屏蔽掉,以防止模型偏向于具有更多动作或推理步骤的轨迹。重要的是,这种屏蔽不修改奖励或优势估计;它只将那些样本从梯度计算中排除。遵循先前的工作(【40】Luo et al., Deepswe: Training a state-of-the-art coding agent from scratch by scaling rl, 2025, Notion Blog;【36】Liu et al., Understanding r1-zero-like training: A critical perspective, 2025, arXiv),我们应用了留一法优势估计(leave-one-out advantage estimation),并在优势计算中移除了标准差和长度归一化。我们禁用了 KL 和熵损失,并以 1e-6 的学习率进行训练。Qwen3 聊天模板被修改以保留前几轮的“思考”过程,从而保持跨步骤的推理连续性。
帮助智能体恢复和前进的提示。多轮智能体强化学习常常因智能体陷入重复或无效行为而受阻。先前的工作,如 SWE-Gym(【48】Pan et al., Training software engineering agents and verifiers with swe-gym, 2024, arXiv)和 Kimi-Dev(【64】Yang et al., Kimi-dev: Agentless training as skill prior for swe-agents, 2025, arXiv)观察到,从一个通用的预训练模型开始可能导致脆弱的行为:无法调用工具、生成无或不正确的函数调用,或在没有进展的情况下循环执行相似的动作。智能体也可能失去对任务上下文或剩余步骤的追踪,并倾向于在未达到最大轮次或上下文限制的情况下过早停止解决问题。在训练期间,引入了提示作为结构化的线索,帮助智能体从失败的动作中恢复并重新进入有效的轨迹。这些提示包括:在工具执行失败时关于可能采取的行动的建议、关于剩余步骤预算或上下文窗口即将耗尽的通知、对无效或不完整函数调用的纠正,或提示重新检查失败的编辑。这些提示显著提高了轨迹质量,稳定了 rollout 收集,并增加了用于策略优化的成功轨迹的比例。
A4 实验环境
-
数据集
- SA-SWE-32B 训练: 使用来自 R2E-Gym(【17】Jain et al., 2025)的 4.5K 个实例。
- Deep Research 智能体训练: 从 MegaScience(【9】Fan et al., 2025)数据集中采样 50K 个问题,并根据难度进行筛选。
- Memory 智能体评估: 使用 RULER-HotpotQA(【15】Hsieh et al., 2024)数据集。
- Computer Use 智能体训练: 从 OSWorld 基准(【61】Xie et al., 2024)中选取 32 个任务。
- 评估基准:
- 软件工程 (域内): SWE-Bench Verified(【19】Jimenez et al., 2024)。
- 泛化能力 (域外): Terminal-Bench (v0.1.1)(【56】The Terminal-Bench Team, 2025b)、WebArena(【72】Zhou et al., 2023)和 BrowseComp-Plus(【8】Chen et al., 2025b)。
-
模型架构
- SA-SWE-32B: 基于 Qwen3-32B 进行强化学习训练。
- Deep Research 智能体: 训练 Qwen3-8B,使用 Qwen3-235B 作为摘要器,Qwen3-8B 用于难度评估。
- Memory 智能体: 训练 Qwen3-8B(非思考模式),LoRA rank 为 128。
- Computer Use 智能体: 训练 Qwen3-8B。
-
硬件配置
- SA-SWE-32B 训练: 使用 2x8 H100 GPU 进行生成性能评估(图 1b)。
- Deep Research 智能体: 训练中使用了单个 H200 和四个 GH200。
-
软件配置
- 框架: SKYRL-AGENT。
-
训练后端:
- Deep Research 智能体: SkyRL-train(【12】Griggs et al., 2025)。
- Memory 智能体: Tinker(【23】Thinking Machines Lab, 2025)。
- Computer Use 智能体: VeRL(【53】Sheng et al., 2025)。
-
依赖库:
- Computer Use: PyAutoGUI、Ray(【43】Moritz et al., 2018)。
- Deep Research: SerperAPI、Jina Reader API(【21】http://Jina.ai, 2025)。
-
智能体脚手架:
- SWE-Bench 评估: 简单的 ReAct(【66】Yao et al., 2022)脚手架。
- Terminal-Bench 评估: OpenHands(【60】Wang et al., 2024b)智能体。
- Memory 智能体: MemAgent(【67】Yu et al., 2025a)脚手架。
A4 实验结果
SA-SWE-32B 域内评估 (SWE-Bench Verified)
- 实验内容: 在 SWE-Bench Verified 数据集上,使用一个仅提供 bash 和文件编辑工具的简单 ReAct 脚手架评估 SA-SWE-32B 的性能。
- 实验结果: 如表 2 所示,SA-SWE-32B 取得了 39.4% 的 Pass@1,在同等规模的开源配方模型中达到了最先进的性能。
- 分析结论: 与纯粹使用强化学习训练的 DeepSWE 相比,SA-SWE-32B 的训练成本降低了 50% 以上,同时性能更优。这得益于工具引导的 RL 方案和系统级优化(异步流水线分发器)。如图 1a 所示,SA-SWE-32B 的未解决率在训练中始终低于 DeepSWE 并下降得更快。值得注意的是,一些在 Agentless 框架下训练的模型(如 Kimi-dev)在交互式的 ReAct 设置下表现不佳。
表 2: 在 SWE-Bench Verified 上,参考模型和开源 SWE 模型的 Pass@1 性能。“–”表示数值不可用。“×”表示省略的结果。报告的分数取自相应的论文/博客;由于不同工作使用不同的脚手架和评估设置,这些数字可能不完全可比。Simple ReAct 指的是一个最小的 ReAct 智能体循环,仅暴露一个 bash 工具和一个文件编辑工具,模型每个实例只生成一个补丁。
SA-SWE-32B 泛化能力评估 (域外)
- 实验内容: 在三个不同类型的域外基准上评估 SA-SWE-32B 的泛化能力:Terminal-Bench(命令行交互)、WebArena(网页导航)和 BrowseComp-Plus(搜索推理)。
- 实验结果: 如表 3 所示,与基础模型 Qwen3-32B 相比,SA-SWE-32B 在所有三个基准上都表现出性能提升。
- 分析结论: 训练过程中,智能体学会了更多地依赖外部搜索和迭代推理(如图 1a 所示,平均搜索调用次数和轮次增加)。这种能力成功泛化到了需要大量搜索和推理的 BrowseComp-Plus 任务上,尽管模型仅在 SWE 任务上训练。
表 3: SA-SWE-32B 在其他任务上的性能。
其他智能体案例研究
-
Deep Research 智能体:
- 内容: 使用 SkyRL-train 后端训练一个 Qwen3-8B 模型,用于处理需要广泛网络搜索和信息综合的问答任务。
- 结果: 在 HLE-500 基准上,模型性能得到提升(使用 gpt-oss-20b 作为裁判时,分数从 9.2% 提升至 11.0%)。训练曲线见图 5。
- 挑战: 实验揭示了两个挑战:(1) 重型工具(如网页抓取和大型摘要模型)会带来巨大的计算开销,影响训练速度和稳定性;(2) 在线搜索可能导致基准答案泄露,需要通过屏蔽特定域名来确保评估的公正性。
图 5: Deep Research 智能体在 SkyRL-train 后端上的训练曲线。
-
Memory 智能体:
- 内容: 实现 MemAgent 脚手架,通过递归总结机制处理超长文本。使用 Tinker 后端在 RULER-HotpotQA 数据集上训练 Qwen3-8B。
- 结果: 训练奖励和验证分数稳步提升,如图 6b 所示。
- 结论: 证明了 SKYRL-AGENT 能够灵活支持如 MemAgent 这类修改智能体状态和上下文的复杂智能体结构。
图 6a: SKYRL-AGENT 中的 MemAgent 脚手架。智能体使用 Next 工具处理文档块,该工具总结当前块并将其摘要附加到下一块作为下一轮的输入。
图 6b: 训练奖励和验证分数。在 RULER-HotpotQA 上,从 Tinker 后端训练的记忆智能体的结果。
-
Computer Use 智能体:
- 内容: 使用 VeRL 后端和 Async Batch (Bounded) 分发器训练一个能在 OSWorld 虚拟桌面环境中通过 GUI 交互完成任务的智能体。
- 结果: 如图 7 所示,虽然训练奖励稳步提高,但验证准确率几乎没有增长。
- 结论: 这表明对于 Qwen3-8B 模型,OSWorld 任务本身具有很高的难度,学习到的策略难以泛化到训练环境之外,这与先前研究的发现一致。
图 7: Computer Use 智能体在 VeRL 后端上的训练曲线。
A7 补充细节
5.1 深度研究智能体
智能体设计与工具集成。深度研究智能体(【44】OpenAI, Deep research system card, 2025;【11】Gao et al., Beyond ten turns: Unlocking long-horizon agentic search with large-scale asynchronous rl, 2025, arXiv;【29】Li et al., Websailor: Navigating super-human reasoning for web agent, 2025, arXiv;【28】Li et al., Webthinker: Empowering large reasoning models with deep research capability, 2025, arXiv)旨在解决那些所需知识未包含在模型参数内的综合性问答任务。这些智能体通常依赖于网络规模的搜索(例如,谷歌搜索)和基于浏览器的交互来收集、推理和综合外部信息。在 SKYRL-AGENT 中,我们在统一的以工具为中心的接口下支持搜索和网页浏览工具。具体来说,我们采用 ReAct 框架,使用 SerperAPI 进行搜索,并使用 Jina Reader API(【21】http://Jina.ai, Jina, 2025)进行网页检索。为了提高效率,我们引入了缓存以避免重复抓取,并采用了一个两阶段的摘要流水线,该流水线将长页面分割成块,对每块进行摘要,然后在保留引用的同时合并结果。这些优化显著加快了 rollouts 速度,并减少了多轮研究任务中的重复失败。
实验设置。最近的工作(【3】An et al., Polaris: A post-training recipe for scaling reinforcement learning on advanced reasoning models, 2025, http://hkunlp.github.io;【8】Cheng et al., Revisiting reinforcement learning for llm reasoning from a cross-domain perspective, 2025, arXiv)强调了在强化学习数据中平衡难度和多样性的重要性。为此,我们从(【9】Fan et al., Megascience: Pushing the frontiers of post-training datasets for science reasoning, 2025, arXiv)中抽样了 50K 个问题,并使用 Qwen3-8B 在思考模式下进行离线难度评估,为每个示例生成四个 rollout。每个问题根据成功 rollout 的数量进行分类:0/4(不可能)、1/4(困难)、2/4(中等)、3/4(简单)和 4/4(完美)。遵循 Polaris 提出的镜像难度分布,我们构建了一个由 25% 不可能、30% 困难、30% 中等和 15% 简单示例组成的数据集,并进一步在 STEM 学科(计算机科学、生物学、物理学和经济学)之间进行平衡,以确保广泛的覆盖和代表性多样性。所有实验都使用 SkyRL-train(【12】Griggs et al., Evolving skyrl into a highly-modular rl framework, 2025, Notion Blog)后端进行训练。
训练与评估。我们使用 GRPO(【52】Shao et al., Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv)训练 Qwen3-8B,并使用来自(【42】Ma et al., General-reasoner: Advancing llm reasoning across all domains, 2025, arXiv)的通用验证器,全局批大小为 64,每个任务 8 个 rollout,小批量大小为 64,学习率为 $5 \times 10^{-6}$。训练使用非推理模式的 Qwen3-235B 作为摘要器。训练期间的奖励和验证曲线如图 5 所示。评估时,我们在 HLE-500 基准(【29】Li et al., Websailor: Navigating super-human reasoning for web agent, 2025, arXiv)上使用 LLM-as-a-Judge。由于通用验证器(【42】Ma et al., 2025)倾向于更宽松,我们额外使用 gpt-oss-20b 作为主要裁判。在通用验证器下,分数从 12.6% 提高到 18.8%,在 gpt-oss-20b 下,从 9.2% 提高到 10.2% / 11.0%。
图 5: 深度研究智能体在 SkyRL-train 后端上的训练曲线。
挑战。我们在深度研究训练中遇到了两个挑战。首先,重型工具引入了显著的计算开销,如果资源配置不足,会损害吞吐量和稳定性。网页抓取管道(约 10k token/请求)与大型摘要器(如 Qwen-3-32B)的组合极大地减慢了训练速度:在单个 H200 上服务 Qwen-3-32B 每次迭代需要 2,101.6 秒,而切换到 Qwen API 则减少到 592.1 秒(快约 3.5 倍)。我们的最终阶段使用了四个 GH200 和一个数据并行路由器。服务能力不足导致超时,污染了 rollouts(例如,第 30 次迭代附近的下降),并且需要多个步骤(30-33)才能恢复,这促使我们既要保证足够的工具容量,也要有稳健的处理机制(例如,屏蔽异常轨迹)来保护奖励信号。其次,在线搜索可能会泄露基准答案。在 GPQA-Diamond 上评估时,模型有时会直接从公共页面(如 Hugging Face)检索解决方案而不是进行推理,通过捷径检索夸大了分数。因此,我们强制执行域名封锁(例如,Hugging Face、GitHub、GitLab、Chegg)以限制泄露并鼓励真实的、工具增强的推理。
5.2 记忆智能体
智能体设计。固定的上下文长度仍然是当代 LLM 的一个基本限制。最近的工作如 MemAgent(【67】Yu et al., Memagent: Reshaping long-context llm with multi-conv rl-based memory agent, 2025, arXiv)提出了一种递归的长文本处理机制,模型将内容增量地摘要到一个固定大小的记忆缓冲区中。我们通过引入一个 Next 工具实现了 MemAgent 脚手架,如图 6a 所示。
实验设置。我们在 RULER-HotpotQA 数据集(【15】Hsieh et al., Ruler: What’s the real context size of your long-context language models?, 2024, arXiv)上进行评估,该数据集提供一个黄金支持段落和几个干扰段落。遵循 MemAgent 的设置,模型每次被呈现最多 4k token 的文本块。在训练期间,它处理长达 28k token 的序列,在评估期间,则处理长达 112k token 的序列。我们使用 GPT-5-nano 作为答案正确性的验证器。我们使用 Tinker 后端从 Qwen3-8B(非思考模式)训练模型,LoRA rank 为 128,批大小为 32,8 个 rollout,每轮最大 8K token。训练曲线如图 6b 所示。作为参考,MemAgent 报告称,在相同数据集下使用批大小 128 和组大小 16 训练 Qwen2.5-7B-Instruct 时,使用精确匹配验证器评估的准确率为 79.69%。
图 6a: SKYRL-AGENT 中的 MemAgent 脚手架。Next 工具:给定模型生成的当前块的摘要,将上下文重置为仅包含该摘要,并呈现下一个块。智能体使用 Next 工具处理文档块,该工具总结当前块并将其摘要附加到下一块作为下一轮的输入。
5.3 计算机使用智能体
智能体设计与环境集成。计算机使用智能体旨在通过与实际计算机界面交互来完成任务。我们使用 OSWorld 环境(【61】Xie et al., Osworld: Benchmarking multimodal agents for open-ended tasks in
💬 评论讨论
欢迎在这里分享您的想法和见解!