当 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:上半部分是基础模型构建——CPT→SFT→RL 三阶段、1000 万条轨迹、7 个领域,在 AgentWorldBench 上 397B 版本以 58.8 居首。下半部分是两种应用范式:[i] 把语言世界模型解耦成环境模拟器跑 Sim RL,能泛化到 Claw Agent、还能造可控的对抗环境;[ii] 把状态-动作-下一状态统一进一个 Agent,世界模型训练作为 RL warm-up,惊人地能迁移到带工具调用的 Agentic 任务。
🏗️ 方法:CPT 注入,SFT 激活,RL 锐化
整个训练流程一句话概括就是这三个动词。我挺喜欢这个提法,因为它把三个阶段各自的职责讲得很清楚,不是那种含糊的"多阶段训练"。

图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:七个领域上各模型的五维评分对比。文本领域(上排,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:只在 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前沿,关注我