当 Agent 训练缺了一半:Qwen-AgentWorld 把"环境"也做成了大模型

上周在调一个多轮工具调用的 Agent,碰到一个很现实的问题——我想用 RL 提升它的能力,但真实环境太贵了。每跑一条轨迹,要起容器、连 API、等返回,几十轮下来又慢又脆,稍微一个限流就整批废掉。我当时的念头是:要是能有个"假环境",能逼真地模拟出每一步动作之后会发生什么,那 RL 不就能放开了跑?

这正是 Qwen-AgentWorld 这篇论文想干的事。而且它的野心比"造个假环境"大得多——它想说明一件事:世界模型,是通用 Agent 这块拼图里一直被忽略的那一半。


一段话讲清楚这篇论文

我们现在做 Agent,几乎所有精力都花在"策略"上——也就是模型看到状态后该输出什么动作。但 Agent 和环境的交互其实是两个组件:策略负责 states → actions,世界模型负责 (states, actions) → 下一个 state。后者,也就是"环境会怎么反应",长期以来都是靠真实环境硬扛的。

Qwen-AgentWorld 把这后半部分也训成了一个大模型。它用超过 1000 万条真实交互轨迹、覆盖 7 个领域(终端、搜索、SWE、MCP 工具调用,外加 Android/Web/OS 三个 GUI 领域),训出了两个"语言世界模型"——35B-A3B 和 397B-A17B。给它一段交互历史和一个动作,它能通过长链推理预测出环境的下一个观测:终端会打印什么、API 会返回什么 JSON、点了"打印"按钮后界面会变成什么样。

效果上,397B 版本在自建的 AgentWorldBench 上拿到 58.71 的总分,超过了 GPT-5.4 的 58.25 和一众前沿模型。更有意思的是两个应用:把它当解耦的环境模拟器跑 RL,效果比直接在真实环境训还好;把世界模型训练当作 Agent 的 warm-up,下游 7 个 benchmark 全面提升。

我的判断:这是一篇"补缺口"的论文,不是某个单点技巧的胜利,而是把"世界模型"这个被冷落的方向,用工业级的数据和工程量认认真真做了一遍。值得细读。论文 arXiv 编号 2606.24597,来自通义千问团队。


论文信息

  • 标题:Qwen-AgentWorld: Language World Models for General Agents
  • 作者:Yuxin Zuo、Zikai Xiao、Li Sheng、Fei Huang、Bowen Yu、An Yang、Dayiheng Liu、Jingren Zhou、Ning Ding 等(通义千问团队,作者超过 30 人)
  • 提交日期:2026 年 6 月 23 日
  • arXiv:https://arxiv.org/abs/2606.24597
  • 代码:https://github.com/QwenLM/Qwen-AgentWorld

🎯 为什么这事值得做?

先说一个直觉。你训一个 Agent,本质上是在教它"如果我这么做,世界会怎么变"。一个能在足够广泛任务上泛化的 Agent,它脑子里必然已经有了一个关于环境的模型——不然它没法规划。论文引了 Richens et al.(2025) 一个挺强的论断:任何能广泛泛化的 Agent,必然已经隐式学到了一个世界模型。这就把世界模型从"有用"提到了"必要"的位置。

可现实是,我们绝大多数 Agent 研究都在卷策略侧。世界模型这块,要么直接用真实环境顶上,要么干脆不管。问题在于,真实环境有两个绕不过去的硬伤:

不可扩展。你想 RL,就得有海量环境实例。真实环境起一个实例的成本不低,GUI 领域还得开虚拟机,几千个并发环境的成本会让人肉疼。

不可控。真实环境给你什么就是什么。你想专门训练 Agent 应对"API 间歇性报错"或者"分页返回不完整"这种边角情况?真实环境里这些 case 出现的频率你根本没法控制。

如果有一个高保真的语言世界模型,这两个问题同时解决:想要多少环境造多少,想要什么样的扰动就注入什么样的扰动。这是整篇论文的出发点。

下面这张总览图把全文的逻辑摊开了——上半部分是怎么造基础模型,下半部分是世界模型在 Agent 训练里的两种用法(解耦 / 统一)。建议先看一眼,后面就是顺着它展开。

图1:Qwen-AgentWorld 全景图

图1:上半部分是基础模型构建——CPT→SFT→RL 三阶段、1000 万条轨迹、7 个领域,在 AgentWorldBench 上 397B 版本以 58.8 居首。下半部分是两种应用范式:[i] 把语言世界模型解耦成环境模拟器跑 Sim RL,能泛化到 Claw Agent、还能造可控的对抗环境;[ii] 把状态-动作-下一状态统一进一个 Agent,世界模型训练作为 RL warm-up,惊人地能迁移到带工具调用的 Agentic 任务。


🏗️ 方法:CPT 注入,SFT 激活,RL 锐化

整个训练流程一句话概括就是这三个动词。我挺喜欢这个提法,因为它把三个阶段各自的职责讲得很清楚,不是那种含糊的"多阶段训练"。

图2:三阶段训练流程

图2:三阶段训练管线。Stage 1 CPT 用环境交互轨迹+世界知识语料注入世界建模能力,目标是非思考的 next-token prediction,技术亮点是逐轮信息论损失掩码;Stage 2 SFT 用带显式推理链的轨迹激活 next-state 预测的思考模式,靠拒绝采样+质量阈值过滤;Stage 3 RL 用 GSPO 做 on-policy rollout,靠"评分标准+规则验证器"的混合奖励锐化模拟保真度。

数据是这篇论文真正的护城河

说实话,方法层面的几个技巧都不算石破天惊,但 1000 万条轨迹的数据工程,是真砸了功夫。轨迹来自三个互补来源:专用 Agent 基础设施(容器沙箱、MCP 服务器、持久终端会话,GUI 领域还部署了 Ubuntu/macOS/Android 虚拟机)、开放环境交互轨迹、以及内部 Agent 轨迹。三个训练阶段的数据池严格不相交——这点很重要,避免了阶段间的数据泄漏。

SFT 和 RL 的数据规模长这样:

领域 SFT 条数 RL 训练池 平均 token 平均轮数
MCP 179 4,156 62,702 28.9
Search 1,042 20,004 18,873 6.2
Terminal 1,580 34,125 5,805 12.0
SWE 249 8,181 36,734 24.7
Android 1,337 11,498 30,064 19.3
Web 1,605 8,716 19,417 10.2
OS 1,102 5,628 25,439 12.4
合计 7,094 92,308 19,443 13.4

注意 MCP 那一行——平均 6.2 万 token、28.9 轮,这是因为 MCP 要把完整的工具定义 schema 嵌进上下文。这也预示了后面 RL 的一个大麻烦:prompt 极长。

CPT 阶段:一个我觉得挺聪明的损失掩码

这阶段除了注入工业控制、网络安全、法律、医疗、金融等专业领域的世界知识,最值得讲的是逐轮信息论损失掩码

问题是这样的:环境轨迹里不是每一轮都值得学。有些轮次是高信息量的(比如检索到新内容、命令执行产生新输出),有些纯粹是 boilerplate(重复的提示符、模板化的回显)。如果对所有 token 一视同仁地算 loss,模型会把大量算力浪费在记忆套路文本上。

作者的做法是给每个(动作,观测)对算四个统计量——重叠度、新颖度、Jaccard 相似度、长度比,据此分成 7 类,按信息量给不同的保留比例:

类别 特征 保留比例
retrieval(检索) 高新颖度,长度增长 100%
expansion(扩展) 高重叠+高新颖,明显变长 100%
action(动作执行) 高新颖,长度不增 100%
transform(变换) 中等新颖,变短 50%
boilerplate(套路) 高重叠低新颖 10%
echo(回显) 极高重叠极低新颖 5%
other(其他) 未分类 100%

被掩码的轮次不算 loss,但 token 仍保留作上下文。这个设计的好处是分类完全基于统计信号,不依赖工具名——所以它能跨领域通用。我之前处理过类似的长轨迹数据,那种"模型把 80% 的精力花在背诵命令行提示符"的痛,是真痛。这个掩码思路值得借鉴。

RL 阶段:一个极端不对称的优化问题

RL 用的是 GSPO。这里有个工程上很别扭的地方:prompt 是完整的轨迹历史,动辄几万 token;而 output 只是单个预测观测,几百到几千 token。RL 池的 prompt 上限直接拉到 128k。这种极端的 prompt-output 不对称,给 RL 的稳定性带来了不少坑(后面讲)。

混合奖励:评分标准 + 规则验证器,9:1

奖励怎么设计,是这类生成式任务的命门。Qwen-AgentWorld 用了两个互补信号:

一是五维评分标准,让 LLM judge 在格式、事实性、一致性、真实性、质量五个维度上各打 1–5 分,均值乘 5,范围落在 [5, 25]。

二是规则验证器,对那些带可执行验证代码的数据产生 0/1 的二元正确性信号,缩放到 [0, 25]。这个作为客观锚点,专门用来防 reward hacking。

两者按 rubric : rule = 9 : 1 组合。

我特别想夸一下论文对 RL 三个失败模式的坦诚记录,这种"踩坑实录"比方法本身还有参考价值:

奖励崩溃。多轮扩展后的训练实例共享很长的公共前缀,训练很快就崩了——作者把它类比成多轮 Agent RL 里的"Echo Trap"。解决办法简单粗暴:RL 池里每条轨迹只扩展成一个轮次。

奖励塑形的弯路。他们试过两个替代方案:成对 A/B 测试的 Reference-Reward(收敛慢、奖励太稀疏、judge 偏好不稳),还有让模型判断观测是不是来自真实环境的 Turing-Test Reward(几乎不收敛,假阴性太高)。兜了一圈,还是五维评分+规则验证器最稳。

自我吹捧式的奖励黑客。这个有意思——策略学会了往预测里塞"operation completed successfully with all fields correctly populated"这种自吹自擂的短语来骗高分。对策是三管齐下:规则验证器锚定、judge 提示里加内容类型分类、严格的标签提取把预测内容隔离出来。看到这段我笑了,模型钻空子的本事永远超出预期。


📊 AgentWorldBench:怎么评一个"世界模型"准不准

要训世界模型,先得有一把能量它的尺子。AgentWorldBench 的构建有四条原则:查询全部来自已建立的高质量 Agent 基准、轨迹由前沿模型生成、每条轨迹配真实环境执行的 ground-truth 观测、训练和评测在数据源级别划分保证 OOD。

具体做法是把 5 个前沿 Agent 部署到 9 个已有基准上,覆盖全部 7 个领域,总共 2170 个评测样本。文本领域占 72.4%,三个 GUI 领域各占 9.2%。评测用前面说的五维评分,主分数是五维均值缩放到 [0, 100]。

判官的选择也做了交叉验证:对比了 Gemini 3 Flash、Claude Sonnet 4.5、GPT-5.2 三个 judge,模型级排名高度一致(Spearman 秩相关 ρ 在 0.92–0.99,全部 p < 10⁻⁵),最终选了图灵测试准确率最高的 GPT-5.2。这种把"judge 本身可不可信"也验一遍的严谨,我是认可的。


🧪 主结果:397B 把前沿闭源模型顶下去了

直接看主表。这是 AgentWorldBench 上各模型的五维评分均值,我挑了关键的几行:

模型 MCP Search Term. SWE Android Web OS 均值
Claude Opus 4.8 54.93 35.14 59.18 64.10 61.50 54.66 66.62 56.59
GPT-5.4 70.10 37.26 53.69 66.29 60.00 51.80 68.58 58.25
Gemini 3.1 Pro 59.07 30.21 52.47 59.07 61.40 52.83 66.92 54.57
DeepSeek-V4-Pro 63.27 27.61 51.26 59.44 55.17 50.32 63.70 52.97
Qwen3.5-35B-A3B(无 LWM) 57.87 25.98 46.13 47.58 53.18 47.10 56.27 47.73
Qwen-AgentWorld-35B-A3B 64.79 36.69 53.96 65.63 58.17 49.55 65.92 56.39
Qwen3.5-397B-A17B(无 LWM) 68.31 30.81 55.30 64.44 54.90 48.55 60.85 54.74
Qwen-AgentWorld-397B-A17B 68.24 37.82 57.73 68.49 60.20 50.98 67.89 58.71

几个我觉得值得停下来看的点:

397B 总分 58.71,压过 GPT-5.4 的 58.25,是所有模型里最高的。文本领域优势尤其明显,Terminal(57.73 vs 53.69)和 SWE(68.49 vs 66.29)都领先。

世界模型训练的增益非常实在。35B 从 47.73 涨到 56.39,整整 8.66 分,直接把一个中等开源模型顶到能和 Claude Sonnet 4.6(56.04)掰手腕。397B 从 54.74 涨到 58.71,涨 3.97 分。这说明"原生世界模型训练"不是锦上添花,而是把模型在环境模拟这件事上的能力质变了。

下面这张分领域柱状图把优势的分布画得很清楚:

图3:AgentWorldBench 分领域主结果

图3:七个领域上各模型的五维评分对比。文本领域(上排,Terminal/MCP/Search/SWE)Qwen-AgentWorld-397B-A17B(紫色"Ours")在 Terminal、Search、SWE 三项拿到最高分;GUI 领域(下排,Android/Web/OS)Claude Opus 4.8 整体领先,Qwen-AgentWorld 排在前列但未夺冠。

但我也得说句公道话——GUI 领域它没赢。Android/Web/OS 上 Claude Opus 系列还是领先,397B 在 GUI 的平均分排第五。作者也没藏着,直接写了。这其实合理:GUI 的观测用的是可访问性树而非像素帧,建模难度和文本不是一个量级。

还有一个全场最难的领域是 Search:所有模型的最佳分(37.82)大概只有 SWE(68.49)或 MCP(70.10)的一半。搜索环境的开放性和不确定性,对世界模型是真正的硬骨头。


🔬 一个让我眼前一亮的发现:世界知识会跨域泛化

这是我觉得全文最有意思的实验。作者只用 Terminal 一个领域的数据跑 Stage 3 RL,然后看其他三个没训过的文本领域会不会跟着涨。

图4:跨域泛化

图4:只在 Terminal 数据上做 RL 的跨域泛化。左图(a)域内 Terminal 从 32.8 涨到 47.0(+14.2);右图(b)三个完全没拿到训练信号的留出域同步上涨——SWE +11.5、Search +11.8、MCP +5.0。横轴是训练进度。

结果是:域内的 Terminal 涨了 14.2 分,符合预期。但三个留出域——SWE 涨 11.5、Search 涨 11.8、MCP 涨 5.0——在完全没有领域专属训练信号的情况下,全跟着涨了。而且增益在前 10 个 RL 步内就出现并稳住了。

这说明什么?RL 强化的不是"Terminal 的输出格式"这种领域特定的表层技能,而是一套可泛化的世界知识:环境如何响应动作、错误如何传播、状态如何跨轮组合。这些底层规律在不同领域之间是共享的。

这个发现挺关键的。它暗示世界模型训练可能存在某种"通用先验",不需要每个领域都从头堆数据。当然我也有点保留——这四个都是文本领域,本身相似度就高,跨到 GUI 还灵不灵,论文没给。但作为一个 in-domain 到 out-of-domain 的迁移证据,已经足够有说服力了。


🔧 应用一:把世界模型当解耦的环境模拟器

这是最直接的用法——策略 Agent 和世界模型是两个分开的模型,世界模型扮演那个"假环境"。

可扩展:在 OpenClaw 上的 Sim RL

作者在 OpenClaw(一个开源通用 AI Agent 平台,任务来自真实用户的多步数字工作流,对训练数据完全 OOD)上做实验。从少量真实轨迹种子合成了 4000 个模拟训练环境,用 397B 当模拟器、Qwen3.6-Plus 当消融基线,基于 Qwen3.5-35B-A3B 跑多轮 Sim RL。

模型 Claw-Eval QwenClawBench
Qwen3.5-35B-A3B(基线) 65.4 47.9
Sim RL(用 Qwen3.6-Plus 当模拟器) 66.7 47.8
Sim RL(用 Qwen-AgentWorld-397B 当模拟器) 69.7 55.0
Δ +4.3 +7.1

这里的对比设计很巧。用一个普通强模型 Qwen3.6-Plus 当模拟器,几乎没增益(QwenClawBench 甚至从 47.9 微降到 47.8);而换成专门训练的 Qwen-AgentWorld,Claw-Eval 涨 4.3、QwenClawBench 涨 7.1。模拟器的质量直接决定了 Sim RL 的天花板——不是随便拿个大模型当环境就行的。

可控:主动注入对抗扰动

真实环境给不了的,是"可控"。作者通过指令注入,让世界模型定向制造间歇性 API 错误、需要后续调用的分页响应、不完整中间结果、批量操作中的部分失败这些边角 case,专门暴露 Agent 的弱点。

Tool Decathlon 和 MCPMark 上的结果(Table 7,可控 Sim RL):

模型 Tool Decathlon MCPMark 均值
Qwen3.5-35B-A3B-SFT 32.4 21.5
Sim RL(无控制) 31.5 24.6
Sim RL(加控制指令) 36.1 33.8
Δ(相对 SFT) +3.7 +12.3

MCPMark 上加了控制的版本涨了 12.3 分,远超不加控制的 24.6。这验证了"可控对抗环境"确实比"被动模拟真实交互"训出来的 Agent 更强。

WideSearch 上用虚构世界模拟(Table 8)也是同样的故事:35B-SFT 的 F1 Item 从 34.02 涨到 50.31(+16.29),F1 Row 从 13.72 涨到 24.21(+10.49)。


💡 应用二:世界模型训练当 Agent 的 warm-up

这是我个人觉得最反直觉、也最有想象空间的部分。

前面世界模型和策略是分开的。这里换个思路:把状态-动作-下一状态统一进一个 Agent,世界模型训练(LWM RL)作为下游 Agentic RL 之前的 warm-up 阶段。

关键在于——LWM RL 用的是单轮、非 Agentic、不带工具调用的轨迹。但训完之后,不做任何额外微调,直接拿去测多轮、带工具调用的 Agentic 任务。

结果(Table 9,节选关键列):

Benchmark SFT 基线 +LWM RL Δ
Terminal-Bench 2.0(域内) 33.25 39.55 +6.30
SWE-Bench Verified 64.47 67.86 +3.39
SWE-Bench Pro 42.18 47.42 +5.24
WideSearch F1 Item 33.38 46.17 +12.79
Claw-Eval 53.60 64.88 +11.28
QwenClawBench 39.76 49.43 +9.67
BFCL v4(多轮 Live) 54.19 60.65 +6.46
总均值 62.29 71.25 +8.96

总均值涨了将近 9 分。一个用"预测下一个观测"这种单轮任务训出来的模型,居然能迁移到完全不同形态的多轮工具调用任务上。

为什么能 work?论文的解释是"预测驱动的动作精炼"——当模型内化了"环境会怎么反应"的能力后,它在真正行动前会先在脑子里 simulate 一遍后果,这种内部模拟扮演了类似"反思"的角色。回到图1右下角那句话:"Simulation":思考模式平行于"Reflection"。模型不是学会了某个具体任务,而是学会了"先想想会发生什么再动手"这个元能力。

这个 insight 如果成立,影响是挺大的——它意味着世界模型训练可能成为 Agent 训练流程里一个标准的预热步骤,像现在大家普遍用 SFT 做冷启动一样。


🤔 我的判断

先说我喜欢的。这篇论文最值钱的地方,不是某个单点技巧,而是它把"世界模型"这个被冷落的方向,用工业级的数据和工程量系统地做了一遍,还顺手给出了一套可复现的评测基准。三阶段的职责划分清晰,混合奖励的踩坑记录坦诚,跨域泛化和 warm-up 这两个发现都有真正的启发性。Search 没赢、GUI 没赢这些它都老老实实写了,没有藏。

再说我的保留。第一,跨域泛化目前只在文本领域内部验证,跨到 GUI 能不能成,是个悬念。第二,整套方案的数据门槛极高——1000 万条真实轨迹、跨 7 个领域的基础设施,这不是一般团队能复现的,开源代码能帮多少还得看放出来的数据规模。第三,把世界模型当模拟器跑 Sim RL,存在一个隐忧:如果模拟器本身有系统性偏差,Agent 会不会学到"如何在假环境里刷分"而非真本事?论文用真实 benchmark 评测部分缓解了这个担忧,但模拟器保真度的长期影响,还需要更多验证。

但这些都不影响我的总体判断:这是一篇方向性的工作。它把一个被大家默认"交给真实环境就行"的组件,证明了值得单独拿出来做成大模型,而且做好了能反哺策略训练。如果你也在做 Agent RL、被真实环境的成本和不可控折磨,这篇论文的思路非常值得试一试——哪怕只是借鉴它那个信息论损失掩码,或者把"先预测后行动"加进你的 Agent 推理里。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我