论文:Agent World Model: Infinity Synthetic Environments for Agentic Reinforcement Learning
这篇论文的核心是 核心目标是:为 Agentic RL 构造大规模、可执行、状态一致、可验证的合成环境,从而让大模型 Agent 能够在工具交互环境中进行强化学习训练,并泛化到未见过的真实工具任务。
1 论文要解决的问题
这篇论文关注的是 大模型 Agent 的强化学习训练环境不足 问题。
现在的大模型已经具备一定的工具调用、推理、代码生成和多轮交互能力,但如果想进一步训练一个真正能稳定使用工具完成复杂任务的 Agent,仅靠静态 SFT 数据是不够的。Agent 需要在环境中反复试错:调用工具、观察返回结果、根据状态变化继续决策,最终完成任务。
问题在于,适合大规模 RL 的 Agent 环境很稀缺。
作者指出现有方案主要有几类局限:
第一,真实环境成本高、难以规模化。比如真实网站、真实 API、真实业务系统并不总是开放,而且 RL 需要反复交互上千上万次,真实系统很难承受,也难以保证稳定。
第二,人工构造环境数量少。论文提到一些已有 benchmark 只有几个环境,例如 τ²-bench 只有 3 个环境,TheMCPCompany 只有 5 个环境,这远远不够训练通用 Agent。
第三,很多合成方法只合成任务、工具描述或轨迹,而不是完整可执行环境。这样 Agent 无法真正探索不同动作带来的状态变化,也拿不到 grounded feedback。
第四,用 LLM 模拟环境响应虽然方便,但不可靠、成本高。因为每一步状态转移都依赖 LLM 生成,容易幻觉,而且 RL 每一步都要调用 LLM,训练效率很低。
所以本文提出的关键问题是:
能不能自动合成大量“可执行、可重置、状态一致、可验证”的工具使用环境,让 Agent 可以在这些环境里做大规模在线强化学习?
2 核心思想:Agent World Model 是什么?
论文提出 Agent World Model,简称 AWM。它不是一个 Agent 模型本身,而是一个 合成 Agent 训练环境的 pipeline。
AWM 认为:大多数工具使用环境都可以拆成三个共同部分:
- 状态后端:环境中有哪些实体、数据和状态,比如用户、订单、航班、账户、商品等。
- 工具接口层:Agent 可以调用哪些工具/API 来读写状态。
- 任务成功标准:如何判断 Agent 是否完成了任务。
因此,AWM 就用 LLM 自动生成这三部分,并用代码和数据库把它们组织成一个真正可执行的环境。AWM的数据合成路径,从场景生成开始,依次生成任务、数据库、工具接口、验证代码,最后用于在线 Agentic RL。
最终,作者合成了:
- 1000 个环境
- 10,000 个任务
- 35,062 个工具
- 平均每个环境约 35 个工具
- 平均每个环境约 18.5 张数据库表
- 平均环境代码约 1985 行
3. 核心方法
本文方法可以分成两大块:
- 环境合成:如何自动构造可执行环境
- Agentic RL:如何在这些环境上训练工具使用 Agent
3.1 环境合成流程
3.1.1 Step 1:场景生成
首先,AWM 从一些种子场景名称开始,比如 Amazon、GitHub、Office、Gmail、Facebook 等,LLM 进一步生成更多具体的场景描述。这里的场景不是普通网页,而是 有状态的应用系统,例如:电商平台、旅行预订系统、财务管理系统、项目管理系统等。
AWM 不关注纯信息检索类网页,比如新闻、百科,而是关注 需要数据库读写操作的 stateful applications。这和REDSearcher构建Search Agent不同,后者会重点关注实体的检索。
为了保证场景质量,他们做了过滤:
- 用 LLM 分类器筛选包含核心 CRUD 操作的场景;
- 用 embedding 去重,避免场景重复;
- 对过度集中的类别做上限控制,避免环境都集中在电商或社交等少数领域。
最后得到 1,000 个独特场景。
3.1.2 Step 2:任务生成
有了场景之后,AWM 会为每个场景生成 10 个任务。不同场景有着特定的任务需求,比如在电商场景中,任务可能是:查询某个用户最近订单、修改订单配送地址、取消某个未发货订单等。
论文中明确提出两个任务设计原则:(一)是 API-solvable,也就是可以通过工具/API 完成,而不是依赖 UI 点击、页面跳转等行为。(二)是post-authentication context,即默认用户已经登录,Agent只需关注核心业务工具与功能。
最终,1000 个环境 × 每个环境 10 个任务 = 10,000 个可执行任务。
3.1.3 Step 3:数据库设计与数据合成
这是本文方法的关键。AWM 不让 LLM 直接口头模拟环境状态,而是让 LLM 生成 SQLite 数据库 schema 和初始数据。以实现结构化的、可验证的的环境。
具体来说,给定一个场景和任务,LLM 会推断完成这些任务需要哪些实体、属性和关系。例如在电商环境中,可能需要:users、products、orders、addresses等,然后生成数据库表结构、字段、主键、外键和约束。AWM会先生成任务,再根据任务生成数据库,保证数据库服务于任务需求。
此外,AWM 还会合成 sample data,也就是初始状态。例如某个任务要求“取消订单”,那数据库中就必须有一个可取消状态的订单。
所以数据库生成包括两部分:
- schema 生成:定义状态空间;
- sample data 生成:初始化可执行状态。
3.1.4 Step 4:工具接口生成
Agent 不能直接操作数据库,否则就失去了真实工具调用的抽象。因此 AWM 会生成一个 Python 工具接口层,并通过 MCP,Model Context Protocol 暴露给 Agent。
这一层的作用是:
- 定义 Agent 能调用哪些工具;
- 定义每个工具的参数;
- 定义每个工具的返回格式;
- 工具内部执行数据库读写;
- 工具调用后产生 observation。
作者没有直接让 LLM 一次性生成几千行工具代码,而是分两步:
第一步,先生成 toolset schema,也就是工具设计说明,包括工具名称、参数、功能、返回格式等。
第二步,再根据 toolset schema 和数据库 schema 生成可执行 Python 代码。
这样做的原因是,论文发现有些环境可能需要超过 3000 行代码,直接生成完整代码很困难;先 生成工具 schema,相当于给代码生成一个结构化蓝图,可以提升一致性和可执行性。
3.1.5 Step 5:验证逻辑生成
Agent 完成一个任务后,需要判断它是否成功。
AWM 的验证模块不是单纯看最终文本回答,而是比较 执行前后的数据库状态。
例如任务是“把用户 A 的订单地址改成 B”,验证逻辑可以检查:
- 执行前订单地址是不是旧地址;
- 执行后订单地址是否变成目标地址;
- 是否错误修改了其他订单;
- 是否满足任务约束。
论文将验证结果分成四类:
- Completed
- Partially Completed
- Agent Error
- Environment Error
这里有一个关键设计:作者没有完全依赖代码验证,而是提出 code-augmented LLM-as-a-Judge。
也就是说,验证代码先从数据库状态差异中提取结构化证据,然后把这些证据连同 Agent 轨迹一起交给 LLM Judge 做最终判断。
为什么不只用代码验证?
因为纯代码验证虽然精确,但很脆弱。合成环境可能有 bug,真实服务也可能有部分执行、超时、状态不完整等问题。如果验证逻辑写得过死,可能会产生 false positive 或 false negative。LLM Judge 则可以结合轨迹上下文做更灵活的判断。
3.1.6 自修复机制
AWM 的每个代码生成阶段都会做执行检查。
流程是:
- LLM 生成数据库、数据、工具代码或验证代码;
- 系统在隔离环境中运行;
- 如果运行失败,捕获错误信息;
- 把错误信息和相关代码片段反馈给 LLM;
- 让 LLM 修复;
- 最多重复 5 次。
论文结果显示,这个简单机制已经比较有效。数据库生成成功率约 88.3%,sample data 生成成功率约 88.2%,环境代码生成成功率约 86.8%,平均修复轮数约 1.12 到 1.13 次。
3.2 Agentic RL
采用 GRPO 训练 Qwen3 thinking models,包括 4B、8B、14B。在合成的环境上训练。
训练包括两层reward:step-level format correctness reward 检查工具调用格式是否正确;task-level outcome reward 判断任务完成情况。
4 实验验证
论文使用三个 out-of-distribution benchmark:τ²-bench、BFCLv3、MCP-Universe。
作者比较了三类方法:Baseline、Simulator(用LLM模拟环境)、EnvScaler。
主要结果,AWM 在 BFCLv3 上对 4B、8B、14B 都有提升,例如 8B 上 53.83 到 65.94,提升非常明显,并且超过 Simulator 和 EnvScaler。其次在τ²-bench、MCP-Universe性能也有明显提升。
此外,论文也消融了几个实验,比如比较 10、100、526 个环境的RL,随着环境增多,效果有明显提升;比如了不同的答案验证方案,包括 LLM-only、Code-only、Code-augmented LLM-as-a-Judge,结合Code 与 LLM效果最好。