QwenGyre:开启长程智能体强化学习
原题QwenGyre:开启超长程智能体强化学习
读前速览
阿里推出 QwenGyre 框架,通过面向超长程任务的在线强化学习,利用弹性调度和轨迹处理提升模型在复杂工程任务中的能力与效率。
定义超长程任务为 xLong-horizon
这类任务单次执行持续数小时,涉及数百轮交互依赖,累计处理百万级 token。
弹性调度减少算力浪费
将 GPU 分为若干计算单元(cell),在任务未结束时将空闲 GPU 动态投入训练,避免 Colocate 模式下的长尾等待。
轨迹处理控制训练成本
通过 TITO(Token-in Token-out)策略和轨迹筛选,保留有效训练信号并减少因分叉导致的共享前缀重复计算。
性能与效率突破
在 2.4T 模型上,NL2RepoBench 通过率从 52.5% 升至 58.5%,且在相同预算下比传统方法快 1.78 倍。
完整摘要
针对智能体在超长程(xLong-horizon)任务中面临的长持续交互、百万级 token 处理等挑战,本文介绍了 QwenGyre 框架。该框架通过将智能体执行、GPU 角色和训练样本分开管理,实现了弹性调度以减少 GPU 空转,并通过轨迹处理(如 TITO 策略)降低了分叉执行带来的重复计算。实验显示,在 Qwen3.8-2.4T 模型上,该方法使 NL2RepoBench 通过率显著提升,并实现了 1.78 倍的端到端加速,节省训练时间。

从修复一个问题,到独立完成一项工程,智能体正在承担更复杂的工作。生成代码仓库、复现系统、重构代码库,往往需要模型连续工作数小时,不断规划、调用工具、验证结果。我们希望通过强化学习,让模型从这些完整的任务中进一步提升能力。
为此,我们提出 QwenGyre,一个面向超长程智能体任务的在线强化学习框架。QwenGyre 通过弹性调度,将空闲 GPU 及时投入训练,同时继续服务正在运行的任务;通过轨迹处理,保留有效的训练信号,减少复杂执行带来的重复计算。
我们将 QwenGyre 用于 Qwen3.8-2.4T,在每次 rollout 约 70 万 token 的任务上开展在线强化学习。48 步训练后,NL2RepoBench 的通过率从 52.5% 提升到58.5%。在相同 GPU 预算下,QwenGyre 相对 Async 实现 1.78× 的端到端加速。
超长程任务的两大挑战
我们将这类任务称为 xLong-horizon(extreme-long horizon,超长程):一次执行持续数小时,模型与环境之间有数百轮相互依赖的交互,各轮调用累计处理百万级 token。这里的 token 数包括所有调用的输入与输出,也包括反复读入的历史上下文。

QwenGyre 的两项核心设计:通过弹性调度减少 GPU 空转,通过轨迹处理控制分叉执行的训练成本
长尾等待造成算力浪费(图 a)。Colocate 要等所有任务结束,才能将 GPU 整体切换到训练;Async 将采样和训练分别部署,双方的空闲 GPU 无法随需求变化灵活调配。
分叉轨迹带来大量重复计算(图 b)。历史压缩、子智能体委派和重试,会让一次执行产生多条上下文路径。全部展开会反复处理共享前缀,直接拼接又可能改变模型生成输出时的原始上下文。
为此,QwenGyre 将智能体执行、GPU 角色和训练样本分开管理。任务可以继续运行,GPU 可以动态切换用途,训练样本则按需生成。
不中断任务的弹性调度
我们把 GPU 划分为若干计算单元(cell)。各 cell 采用相同的训练并行配置,既能提供采样服务,也能承载完整的模型副本参与训练。Megatron 和 SGLang 分别负责训练与采样;现有的智能体执行框架(harness)通过代理接入,原有任务逻辑无需改动。
任务逐步结束,算力逐步转入训练。 调度器持续跟踪还在运行的任务。只要剩余采样容量足以支撑这些任务,且已有足够的数据持续供给训练,就可以将部分 cell 切换到训练。随着任务数量减少,更多 cell 随之加入;尚未结束的任务仍能正常调用模型。
切换 GPU 的用途时,智能体继续运行,工作区和工具状态也会保留。代理负责把模型请求转到新的推理引擎,并重试尚未完成的请求;KV cache 也可通过 RDMA 迁移,减少重复计算。后端进程和通信组无需重建。
新释放的 cell 可以直接加入本轮训练。 核心 cell 负责保存模型参数和优化器状态,其余 cell 读取同一份参数快照,共同计算梯度。各 cell 按处理进度领取小批次数据,更早加入或处理更快的 cell 就能承担更多计算。最后,由核心 cell 汇总梯度,完成一次参数更新。
每个采样组(rollout group)必须等组内所有执行结束,并拿到有效的评估结果,才能进入训练。对于这些已就绪的数据,系统可以一边构建样本、一边计算梯度,无需一次性展开整个批次的所有轨迹。
从复杂交互到训练样本
训练时,我们保留每段输出生成时的真实上下文。通过 Token-in Token-out(TITO),QwenGyre 记录每次调用的精确输入、输出 token IDs 和行为策略对数概率,再按共享前缀组织成轨迹树。即使后续压缩了历史,早期输出也始终对应生成时的上下文。只有被选中的路径才会展开为训练样本。
未完成的任务,也可能提供有用的反馈。 超长程任务超时时,可能已经写出部分代码,或生成了其他可检验的产物。QwenGyre 通过 Partial Scoring,按任务规则评估这些成果,让部分完成的任务也能用于训练。有效的零分会被保留;如果在总时间预算内始终拿不到有效评估,就不把这次执行用于训练。
控制轨迹数量,同时保留有用的分支。 QwenGyre 为每次执行设置轨迹预算,优先选择主智能体及其摘要路径,再纳入子智能体及其摘要路径。工具返回和外部注入内容保留在上下文中,只有策略模型生成的 token 参与损失计算。共享前缀里的同一段输出只计一次损失,各条轨迹沿用所属执行的组相对优势。
计算损失时,我们先在每次执行选中的可训练 token 上取平均,再对各次执行取平均,避免分支多的任务在训练中占据过大的权重。
训练效率与模型能力
我们首先在 Qwen 3.8-2.4T 上开展 NL2RepoBench 在线强化学习实验,每次 rollout 约 70 万 token。效率对比采用相同 GPU 预算,并匹配平均调度陈旧度。
48步训练带来能力提升
经过 48 步训练,模型在 NL2RepoBench 上的通过率从 52.48% 提升至 58.54%,提升 6.06 个百分点。

左图为训练分数,右图为 NL2RepoBench 评测通过率。
这表明,模型可以通过超长程在线强化学习提高任务完成能力。同时,QwenGyre 与 Async、Colocate 的训练分数接近,在更高的训练效率下保持了相近的效果。
训练时间缩短约44%
完成相同的 48 步训练,QwenGyre 将总耗时从 Async 的 134.55 小时缩短至 75.42 小时,实现 1.78× 的端到端加速,节省约 44% 的训练时间。

Qwen 3.8-2.4T 在 NL2RepoBench 上完成 48 步训练的总耗时。
122B模型上的跨任务验证
我们还在 Qwen3.6-122B 上评估了三类任务。与 Async、Colocate 相比,QwenGyre 均获得端到端提速:

NL2RepoBench 统计 48 步训练,DeepSWE 和 TerminalBench 统计 24 步。表中覆盖两种平均调度陈旧度设置;每项对比的 GPU 预算和平均调度陈旧度均保持一致。
在 122B 模型的 NL2RepoBench 轨迹筛选实验中,最多保留五条轨迹时,训练分数和梯度范数接近全量轨迹,平均每步前向与反向计算时间减少 25.2%。
展望
QwenGyre 在 2.4T 旗舰模型上完成了超长程在线强化学习,并取得了能力提升。弹性调度减少长尾等待造成的算力浪费,轨迹处理降低复杂交互带来的训练开销,让持续数小时的任务也能成为有效的训练来源。
我们期待进一步拓展超长程强化学习的任务范围与训练规模,让智能体从更长时间的环境交互中学习,逐步提升完成复杂工程任务的能力。
