一次执行跑上几个小时,触发几百次工具调用,烧掉近百万 Token。这已经不是一个代码补全请求的尺度,而是一整个工作日的工作量。阿里 Qwen 团队公开了一套训练系统,专门用来对付这种 " 超长程 " 智能体训练—— QwenGyre,一个弹性强化学习框架(arXiv 2609.33848)。

先看他们给出的数字:旗舰模型 Qwen 3.8 2.4T,每次 rollout 约70 万 Token,NL2RepoBench 从52.5%提升到58.5%,只用了 48 步。整轮训练耗时75.42 小时,而 Async 基线是 134.55 小时,Colocate 是 91.47 小时。同等分数下,最快提速1.85 倍。
用强化学习训练智能体,像带一个初级工程师:他做任务,你打分,他调整。问题在于,一次 " 尝试 " 可能耗时 3 小时,另一次只要 20 分钟,两笔账立刻算不平。
第一笔叫 " 掉队税 "。GPU 空转,等最慢的那次执行跑完,像一屋子人盯着天花板,等最后一个孩子交卷。第二笔叫 " 冗余税 "。一次执行会分叉出许多路径,开头大多相同,朴素地全部拿来训练,等于把同一段前缀反复重算。
QwenGyre 同时处理这两笔账。它不是模型,是模型外面那套训练系统。
常规 RL 设置只有两个都不太好的选项。Colocate:所有 GPU 先做 rollout,再一起训练,整个池子等最慢的那次执行。Async:把池子静态劈成两半,一半 rollout 一半训练,但两边不能互借空闲 GPU,掉队的执行慢慢滴回来时,另一半容量就干晾着。
QwenGyre 把硬件组织成可独立切换的 cell。rollout 执行一结束,cell 就地从推理翻转为训练。正在跑的 harness 不被打断:模型请求在飞行中被改道到剩余的 rollout 引擎,KV 缓存通过 RDMA 迁移,不做重算,腾出来的 cell 作为额外的数据并行副本加入当前训练步。
切换本身很快:rollout 转训练8.52 秒,切回来3.46 秒。对照动辄数小时的执行,这点开销可以忽略。
第二项创新是怎么从分叉的智能体历史里造训练样本。框架把分叉历史重建为前缀共享的轨迹树,一次执行共同的开头只存一次、只训一次,而不是每条分支各来一遍。
超时的执行也不扔。保留的工作区按原样打分,一个完成 80%、跑了 3 小时的执行照样能提供学习信号。冗余路径会被去重,每次执行最多保留5 条轨迹。评测器失败的样本直接排除,而不是记零分——坏掉的评分器不该污染信号。
5 条轨迹的上限与不设上限的分数持平,同时把前向反向时间砍掉25.2%。一次执行分叉 8 条时,仅前缀共享就带来2.1 倍收益,加上上限推到3.1 倍。
规模测试给得不算含糊:Qwen 3.6 122B 跑在 24 到 32 个节点上,Qwen 3.8 2.4T 跑在 192 个节点上(4 个 cell,每个 48 节点),rollout 由 SGLang 服务,训练在 Megatron 里进行,全程跑在一个未经修改的黑盒 harness 里(Claude Code 2.1.220)——框架不能靠改智能体工具来作弊。
结果:NL2RepoBench 上+6.06 个百分点(52.48% 到 58.54%),48 步,考的是仓库级编码,不是选择题。端到端比 Async 快1.78 倍,比 Colocate 快1.85 倍。当大量查询撞上超时,差距会收窄,2.4T 上最差情况只有1.21 倍——掉队的执行仍然咬人,只是咬得轻了些。
需要说清楚的是,这些数字由厂商自行报告,论文没有附公开代码。把它当作一项技术的存在性证明,而不是一个可以下载的东西。
真正值得记下的判断是:智能体的前沿已经挪到了训练循环里。当单次执行要跑几小时、花掉近百万 Token,瓶颈不在模型,在 GPU 调度和轨迹卫生。模型外面那套 harness 和 RL 系统,正在决定谁赢——就像今年早些时候,智能体 harness 决定了能力上限一样。
弹性优于切分。只要工作负载的耗时高度不均,固定分割就会搁浅容量,让硬件跟着工作走。别丢掉半成品。给超时执行按保留状态打分,能捞回朴素 " 奖励记零 " 直接扔掉的学习信号。如果你在做智能体,长程评测已经是真正算数的基准,一个任务撑不住一小时,提示词工程补不上这个缺口,只能在那里训练它。


登录后才可以发布评论哦
打开小程序可以发布评论哦