Agent World Model: Infinity Synthetic Environments for Agentic Reinforcement Learning

Snowflake AI Research · Zhaoyang Wang, Canwen Xu, Boyi Liu, Yite Wang, Siwei Han, Zhewei Yao, Huaxiu Yao, Yuxiong He · 2026-02
arXiv:2602.10090 · HTML 版 · GitHub: Snowflake-Labs/agent-world-model
关键词: synthetic environments · code-driven simulation · MCP toolset · multi-turn tool-use RL · GRPO · Qwen3-thinking · OOD generalization

速读卡片 (TL;DR)

一句话: Snowflake AI Research 提出 Agent World Model (AWM) —— 一条完全合成、代码驱动的环境生产流水线,把"scenario → task → 数据库 schema → MCP tool 接口 → 验证代码"五件事用 LLM 串成 software-dev 风格的 pipeline,一次性吐出 1,000 个可执行环境 / 10,000 个 task / 35,062 个工具。在这些环境里跑 GRPO 训 Qwen3-thinking 4B/8B/14B,在 3 个完全 OOD 的 benchmark (BFCLv3 / τ²-bench / MCP-Universe) 上全面打过同类合成 baseline (EnvScaler) 和 LLM-as-environment baseline (Simulator)。

1,000
合成环境数 (100 seed → 1,000 scenarios)
35,062
总工具数 (mean 35.1 / env)
Qwen3 4/8/14B
三个 thinking 模型上做 GRPO
+12.1 / +7.0
8B BFCLv3 / τ²-bench OOD 涨幅

立场: 这是一篇关于"合成环境的可靠性 vs 多样性"的论文。和 #03 Agent-World 形成正交对照 —— 后者从真实 web 上 mining 1,978 个"真"环境(贵但真实);AWM 走"用代码彻底合成"路线(便宜、可重置、状态一致,但脱离真实分布)。和 #17 UI-TARS-2 的 data flywheel 也形成对照 —— flywheel 用 policy rollout 扩 task,AWM 在 task 之前一层就扩了 environment 本身。核心论断: 当 LLM-simulated env (e.g. GPT-5 当 transition function) 给 RL 提供的状态不一致时,RL signal 会崩;用 SQLite + Python 当 backend 是更稳的折衷。


1 · 背景:为什么"全合成"环境是 agentic RL 的第三条路

1.1 三种环境路线的分类

2025-2026 这一波 agentic RL 的 paper 在"环境从哪儿来"这个问题上呈现出三条明确的路线:

路线代表作状态如何转移cost / 可靠性多样性
① 真实环境 mining #03 Agent-World (RUC + ByteDance)
OSWorld / AndroidWorld
真实服务 / 真实 OS 贵 (sandbox 部署 / 限速 / API 收费),状态可能漂移 极高 (真实分布)
② LLM-as-environment τ²-bench user-simulator / Simulator (Li/Chen 2025) GPT-5 当 transition function 贵 (每步一次 LLM call),状态不一致 (LLM 会 hallucinate state) 高 (LLM 自由发挥)
③ 全合成 code-driven本篇 AWM (#18),EnvScaler (concurrent) SQLite DB + Python 工具确定性执行 便宜 (无 API / 无 LLM-in-loop),状态严格一致 中 (受限于 LLM 想象出来的 scenario)

1.2 和 #03 Agent-World 的命名混淆 — 一定要分清

两篇 paper 中文名几乎一样,但是两件完全不同的事:

#03 Agent-World (2604.18292)#18 Agent World Model (2602.10090, 本篇)
团队RUC (Guanting Dong) + ByteDance SeedSnowflake AI Research
arXiv 日期2026-042026-02
核心动作从真实 web mining 环境用 LLM + 代码从零合成环境
环境数1,978 个真实 MCP 服务1,000 个合成 SQLite-backed 环境
工具数19,822 个真实 tool (从 MCP 服务暴露)35,062 个合成 tool (35.1/env mean)
状态后端各 MCP 服务的真实 backend每环境一个 SQLite database
训练 base未明确指定单个模型族Qwen3-thinking 4B / 8B / 14B
RL 算法GRPO (multi-environment)GRPO (single algorithm focus)
主要叙事"环境是 agent RL 的新瓶颈,要去 mining""LLM 模拟环境不可靠,代码 + DB 才稳"
self-evolve 闭环✓ (有 self-evolving arena)✗ (一次性生成 1000 envs,无 evolve)

两者关系: 互补,不是竞品。#03 在真实分布这一端推到极致;#18 在可复现 + 状态一致这一端推到极致。"放在一起读才能看清 agentic RL 环境层的两种工程权衡"。

1.3 论文的核心主张

AWM 不去争"我的环境数比 #03 多" —— 1,000 < 1,978 反而少。它的卖点是:

  1. 状态可重置 + 严格一致 —— SQLite 一行命令回滚,千 worker 并发训练每个环境实例都独立。LLM-simulated env 做不到 (Simulator baseline)。
  2. 训练时 zero LLM call —— transition 完全是 Python 函数执行,RL latency 不被 LLM 拖死。
  3. reward 来自 database state diff —— 不依赖 LLM judge,可逐步验证。这一手让 reward 函数本身可执行、可单元测试。
  4. OOD 测试更干净 —— 训练环境是"日常 SaaS-like" scenarios,而评测的 BFCLv3 / τ²-bench / MCP-Universe 是完全不同分布(对话、refusal、浏览器自动化),证明"合成训练 → 真实泛化"是 work 的。

2 · 核心方法 · 五阶段 code-driven 环境生成

2.1 全景流水线

论文把环境合成做成类软件开发的流水线:从"想做什么场景"一路推到"可执行环境 + 验证测试"。每一步都用 LLM 提议、用代码执行验证,失败了 self-correct 再重试。

AWM Code-Driven Environment Pipeline · 五阶段 ① Scenario 100 seed websites ↓ self-instruct + 去重 1,000 scenarios ② Task k=10 / scenario 每条 task 含 10,000 tasks ③ Database DDL (SQL CREATE) + INSERT 采样 SQLite 实例 ④ Interface MCP tool 暴露 Python 函数 35.1 tools / env ⑤ Verification Python 函数 V(s_before, s_after) 对比 DB state 差异 → {full, partial, fail} Self-correct loop 任一阶段失败 → LLM 修复 avg 1.13 iterations Pipeline stats 成功率 > 85% 自纠正平均仅 1.13 次 RL 期间 env error ~4% 最终产出 1,000 envs × 10 tasks = 10,000 (task, env) 对 35,062 tools 总量 和两条对照路线的关键差异: · vs LLM-as-env (Simulator):transition 用 Python 而非 GPT-5 call,RL latency ↓,状态一致 ↑ · vs code-only verify (EnvScaler):加 LLM-augmented 验证后,blocked task 11.5% vs 46.8% · vs 真实 env (#03 Agent-World):无 API 费用,可全并发训练,但分布脱离真实 SaaS LLM-judge quality (Task Feasibility): AWM 3.68 vs EnvScaler 2.94 (paper 自报)
五阶段流水线:scenario → task → database → MCP interface → verification。每一步 LLM 提议 + 代码验证 + self-correct (平均 1.13 次)。最终产出可在 RL 训练时直接 import 的可执行环境集合。

2.2 各阶段细节

① Scenario Generation

输入: 100 个 seed website 类别 (e.g. e-commerce, project management, healthcare booking)
动作: LLM self-instruct 扩展;CRUD coverage filter (确保每个 scenario 至少含 Create / Read / Update / Delete 操作);embedding-based 去重
输出: 1,000 个 scenario,每个含 domain 描述 + 目标用户角色 + 核心实体清单

② Task Generation

输入: 单 scenario
动作: prompt LLM 生成 k=10 个 diverse tasks,每条 task 含 (a) 用户 query (b) 预期数据库 final state (c) 中间依赖
输出: 10,000 个 task,每个 task 都对应一个明确的 DB 终态可被 diff

③ Database Schema + Sample Data

动作: LLM 生成 SQLite DDL (CREATE TABLE ...) → 执行验证 → 失败 self-correct → 生成 INSERT 语句填充 sample 数据使 task 前置条件成立
关键: sample data 不是随机,而是专门构造让 10 个 task 都能从这个初始 DB 状态出发完成

④ MCP Interface Layer

动作: 把 DB 操作包装成 Python 函数(每函数一个 tool),按 MCP 协议 expose
规模: 平均 35.1 个 tool / env,中位数 35.0,top-90% 含 45 个;总计 35,062 个 tool
tool 设计: CRUD 风格 + 少量复合查询 / 业务逻辑函数。每个函数都是确定性的 — 同输入同输出,DB 状态完全决定行为

⑤ Verification Code

动作: 为每条 task 生成一段 Python 验证函数 V(s_before, s_after) → reward,通过 SQL 查询比对 task 期望的 DB 终态
三档输出: 关键 design choice: 验证是 code-augmented LLM-judge,不是纯 LLM judge,也不是纯 code。论文 ablation 显示:

2.3 Pipeline 自己报告的质量数字

指标数值说明
整个 pipeline 一次成功率> 85%未触发 self-correct 就完成全 5 阶段的比例
Self-correct 平均次数1.13失败的样本绝大多数一两次内就修好
RL 期间 env error rate~4%训练中由于环境 bug 触发 rollout 中断的比例
LLM-judge Task Feasibility 评分3.68 (AWM) vs 2.94 (EnvScaler)3rd-party LLM 评估"task 是否合理"
Blocked tasks (code-only verify 下)11.5% (AWM) vs 46.8% (EnvScaler)由于验证代码 bug 导致 task 永远无法通过的比例

这组对比的潜台词是: "我们不是第一个做合成环境的(EnvScaler 同期),但我们做得更稳"。


3 · RL 训练 recipe

3.1 训练规模

Base 模型: Qwen3 thinking 系列,三档 4B / 8B / 14B
训练环境子集: 由于算力限制,实际 RL 训练用了 526 个 env / 3,315 个 task (而非全部 1,000 / 10,000)
Batch: batch size 64,每个 prompt 16 rollout → 同时维护 1,024 个独立环境实例
RL 算法: GRPO (Group Relative Policy Optimization)

3.2 Reward 函数(两层组合)

层级触发时机取值
Step-level (format)每一步 (turn)违反格式 (e.g. 错误 tool-call 语法) → r_t = -1.0
Task-level (outcome)trajectory 终止时,从 verification code 拿full success → 1.0
partial success → 0.1
failure → 0.0

这两个 reward 在 GRPO 的 group-relative advantage 估计前直接相加。没有 LLM-as-judge reward —— 这是和 LLM-simulated env baseline 的另一个关键差异。

3.3 历史 (history) 管理 — 滑窗 w=3

多轮 tool-use trajectory 容易把 context 撑爆。AWM 用滑窗 w=3 保留最近 3 步的完整 (observation, action, result),更早的步骤被截断。

关键的工程细节:训练时的 trajectory 对齐要和 inference 时滑窗 truncation 保持一致(否则训练 loss 的 logp 是错的)。Ablation:

history alignmentBFCLv3 (4B)
Misaligned (训练看到完整 history,推理用滑窗)61.85
Aligned (训练和推理都用滑窗)64.50

3.4 训练为什么不用 LLM 当 env transition?

论文专门做了 vs Simulator (Li et al. 2025b; Chen et al. 2025) 的对比 —— 这是个用 GPT-5 当 transition function 的 baseline。两点关键差异:

  1. 状态一致性: GPT-5 在一个 trajectory 里可能"忘记"前几步的状态变化,导致 reward signal 不可信。AWM 的 SQLite 永远不会忘。
  2. RL latency: Simulator 每个 turn 都要等一次 GPT-5 API call。AWM 一个 turn 就是 Python 函数执行 + SQLite query,本地完成。

结果(BFCLv3 / 8B): AWM 65.94 vs Simulator 52.53 —— 整整 13 个绝对点的差距,论文归因到"programming-based state consistency provides a more stable learning signal"。


4 · 实验结果 · 三个 OOD benchmark

4.1 OOD 是怎么定义的

训练数据是 1,000 个"日常 SaaS scenarios"(预订、CRUD、查询、修改 record)。评测的三个 benchmark 分布上完全不同:

Benchmark主要分布与 AWM 训练分布的差距
BFCLv3function calling,含 refusal 场景(模型应该拒绝 hallucinate tool)AWM 训练完全无 refusal task
τ²-bench多轮 dialogue + user-simulator,airline/retail/telecom 域AWM 不训对话,只训"用户 query → tool 调用序列"
MCP-Universe真实 MCP 服务 (location / financial / browser / web search / multi-server)AWM 训的都是合成 DB,真实 API 行为完全没见过

"AWM does not target conversational interaction, whereas τ²-bench requires multi-turn dialogue. AWM omits refusal scenarios, while BFCLv3 stresses hallucination resistance. AWM also excludes browser automation" — paper 自己列举了 OOD 维度。

4.2 主表 — vs EnvScaler / Simulator / Base model

MethodBFCLv3 (Overall)τ²-bench (Pass@1)MCP-Universe (Overall)
4B8B14B4B8B14B4B8B14B
Base Qwen3-thinking53.8326.44
EnvScaler54.0636.8328.9639.394.475.59
Simulator (GPT-5 as env)55.5252.5367.6813.6731.3031.396.156.1510.62
AWM (本篇)64.5065.9470.1822.5733.4539.036.7011.1712.29

几个观察:

4.3 关键 ablation 三连

(a) Verification design (Table 6, BFCLv3 8B)

验证方式BFCLv3
LLM-only judge55.46
Code-only verification60.00
Code-augmented (LLM + code) ← AWM65.94

这是本文最关键的方法学 ablation。"只用 LLM 当 verifier 不够准 (55.46),只用 code 又太严格挡掉太多 task (blocked 46.8%),两者结合最稳"。

(b) History alignment (Table 7, BFCLv3 4B)

History 处理BFCLv3 4B
Misaligned (训练给全 history,推理给滑窗)61.85
Aligned (训练推理都给滑窗 w=3)64.50

(c) Environment scaling (Figure 4)

把训练环境数从 10 → 100 → 526 阶梯增加,benchmark 分数单调上升。paper 没给具体数字曲线,但断言 "monotonic improvement"。这是支撑 "合成环境 scale 能持续涨" 论点的核心证据

遗憾的是 paper 没把 scaling 推到 1,000 envs(只用了 526) —— 算力限制下没完成"scale 是否在 526 之后还涨"的关键消融。这是个 follow-up 空间。


5 · 🔍 开源现状 — repo 实地清点

2026-05 为止盘点 Snowflake-Labs/agent-world-model

5.1 公开发布的资产

资产状态地址 / 说明
论文arXiv:2602.10090
环境合成 pipeline 代码awm/ Python 包,含五阶段 LLM prompts 和 self-correct 逻辑
1,000 合成环境数据HuggingFace: Snowflake/AgentWorldModel-1K
训练完的模型权重HuggingFace: Snowflake/Arctic-AWM-4B / -8B / -14B
RL 训练 infra✓ (上游)论文称代码 "merged into meta-pytorch/OpenEnv" — 用 Meta 的 OpenEnv 框架做 RL 训练
License未在 GitHub README 显式列出需要查仓库根目录的 LICENSE 文件确认

5.2 与 #17 UI-TARS-2 的开源策略对比

AWM 在开源度上是非常友好的 —— pipeline + 环境数据集 + 三个 size 的训练后模型 + 上游 RL 框架都开放。这和 #17 UI-TARS-2(主线模型 / 沙箱 / trainer 完全闭源)形成鲜明对比 —— Snowflake 这边是真的把"整套工业级合成环境闭环"端到端开放给社区。

5.3 复现路径(假设你想从头跑一遍)

git clone https://github.com/Snowflake-Labs/agent-world-model
cd agent-world-model
# 1. 生成环境(或直接下载 HF 上的 1K env 数据)
python awm/synthesize.py --num-scenarios 1000 --seeds seeds.json
# 2. 用 OpenEnv 跑 GRPO
pip install meta-pytorch/OpenEnv
python -m openenv.train --env awm --model Qwen3-thinking-8B --algo grpo
# 3. 用训完的 checkpoint 在三个 OOD benchmark 上评测
python -m awm.eval --benchmark bfclv3,tau2,mcp-universe

这是到目前为止 agentic RL 领域开源度最高的合成环境工作之一 —— 比 #03 Agent-World(只开了真实环境的列表,没开 mining pipeline)更彻底。


6 · 与 #03 Agent-World 并排对比

维度#03 Agent-World (2604.18292)#18 AWM (本篇, 2602.10090)
团队RUC + ByteDance Seed (Guanting Dong)Snowflake AI Research
环境来源真实 web mining — agent 在 GitHub / npm 上挖 MCP 服务从零合成 — LLM 生成 SQLite DB + Python tool
环境数 / 工具数1,978 真实环境 / 19,822 真实工具1,000 合成环境 / 35,062 合成工具
状态后端各 MCP 服务的真实 backend (GitHub repo / Notion / Postgres ...)每环境一个独立 SQLite
状态一致性取决于服务,可能漂移 (e.g. GitHub repo 被改)严格一致,可重置
并发训练成本受 API 限速 / sandbox 部署成本拖累本地 1,024 并发 worker 几乎零边际成本
分布真实性真实 SaaS 分布,直接迁移到生产合成"日常 SaaS-like"分布,可能脱离真实细节
self-evolving 闭环 Self-Evolving Arena 持续 mining 弱点 + 扩 task 一次性 1,000 envs,无 evolve loop
RL 算法GRPO (multi-environment)GRPO (single algorithm)
Base 模型8B / 14B (paper 未单列具体 family)Qwen3-thinking 4B / 8B / 14B
评测策略in-distribution + OOD 混合,23 个 benchmark纯 OOD,3 个 benchmark,所有训练分布都不进评测
开源策略部分开放 (环境清单 + 部分代码)全开 (pipeline + 1K env 数据 + 3 个模型 + 上游 RL 框架)
核心叙事"环境是 agent RL 的新瓶颈,要 mining 真实的""LLM-simulated env 不可靠,代码 + DB 才稳"

判断: 这两条路不应该被看作竞争,而是同一个问题(RL agent 需要 scale 多样可靠环境)的两种工程权衡。理想的下一步是把两者结合 —— 用 AWM-style 合成做 mass scale 训练(可靠 + 便宜),再用 #03-style 真实 mining 做 fine-tune / OOD 校准(贴近真实分布)。可惜目前还没看到这样的"合成 → 真实 curriculum"工作。


7 · 与 #17 UI-TARS-2 data flywheel 的关系

表面上看 AWM 和 UI-TARS-2 是两件不同的事(一个做环境合成,一个做模型训练 flywheel),但它们在 RL 数据生成这一层上其实是互补的

维度AWMUI-TARS-2 flywheel
"飞轮"扩什么扩 environment 本身(一次性吐出 1,000 envs)扩 task / trajectory(环境是固定的 690 网站,task 在 policy rollout 中持续生成)
是否有 iteration loop 一次合成完毕就训 CT/SFT/RL 三阶段 + V(s) 路由回灌
验证器code-augmented LLM judge(per task)三类验证器:程序化二值 / LLM-as-Judge / generative ORM
训练 baseQwen3-thinking 4/8/14B230B MoE (Seed-thinking-1.6 init)
领域SaaS-like CRUD tool-useGUI / browser / desktop / game
开源度 (主线权重 / 沙箱 / trainer 全闭源)

合二为一的想象: 把 AWM 的 environment 合成接到 UI-TARS-2 风格的 flywheel 前端 —— 飞轮第 0 步先合成新环境,第 1 步再在新环境里跑 rollout 生成 trajectory。这相当于把"环境维度"和"trajectory 维度"两个 scale axis 都打开。但需要解决合成环境 + 真实 GUI 分布之间的 domain gap —— AWM 是 text-based MCP tool-use,UI-TARS-2 是 vision-based GUI,目前还没法直接拼。


8 · 局限 / 个人 take

8.1 paper 自己承认的

8.2 笔者的额外质疑

8.3 我会怎么用这篇

  1. 作为合成环境的开源 baseline —— 想自己训 tool-use agent 但又没真实 MCP 部署的人,直接拉 Snowflake/AgentWorldModel-1K 训。
  2. 作为 verification design 的 reference —— "code-augmented LLM judge" 这个 60.00 → 65.94 的提升幅度很有参考价值,值得在自己的 verifier 设计里复用。
  3. 作为 LLM-as-environment 的反面教材 —— vs Simulator 的对比一锤定音:除非 LLM-sim 有不可替代的优势,默认应该走 code-based env。
  4. 作为"合成 ≠ 真实"的实证 —— MCP-Universe 全员低分,说明真实 web/financial/browser 的 API quirks 是合成 pipeline 学不到的。提醒自己别过度信任合成环境训出来的 agent 的真实生产表现。

笔记来源:

笔记日期: 2026-05-15 · 笔记编号 #18 · 与 #03 (真实环境路线) 并读最佳

返回 paper-notes 仓库