当我们讨论如何训练更强的 AI Agent 时,注意力通常集中在模型、数据和强化学习算法上。然而,面对修改订单、预订行程等现实任务,仅有文本数据远远不够,Agent 更需要一个可反复调用工具、改变系统状态并获得准确反馈的“练习场”。
真实系统难以开放,语言模型模拟的环境易产生幻觉,人工构建沙盒则成本高昂且难扩展。针对这一痛点,中国人民大学 NLPIR 实验室提出EnvScaler,将环境构建转化为程序合成问题:利用大模型生成可执行代码来维护状态与逻辑,并自动生成任务场景及可验证的奖励函数。
该研究共合成 191 个工具交互环境和约 7000 个任务场景,用于 Qwen3 系列模型的监督微调(SFT)与强化学习(RL)。实验表明,随着训练环境规模增加,模型在多轮、多工具交互任务上的表现持续提升。这项工作验证了“环境”有望成为继模型、数据和算力之后,Agent 训练的第四个 Scaling 维度。
TL;DR:
EnvScaler 不再让 LLM 在交互中直接“模拟”环境,而是生成可执行代码,由程序负责维护环境状态、业务规则和工具逻辑。该方法合成了 191 个环境和约 7K 个任务场景,用于 Qwen3 系列的 SFT 与 RL 训练。
核心洞察:训练 Agent 的瓶颈在于“环境供给”。环境本身可被规模化程序化合成,且基于终态的规则化校验(而非轨迹表面匹配)是支撑 RL 自我探索的关键。
一、研究背景
训练 LLM 成为真正的 Agent(如操作电商后台、订票平台),需要其在有状态的、可工具交互的沙盒环境中进行大量练习。然而,现有的三类环境来源均存在显著缺陷:
| 环境来源 | 主要问题 |
|---|---|
| 真实世界系统 | 访问受限,无法随意用于训练,不可扩展且不可控。 |
| LLM 直接模拟环境 | 容易产生幻觉,前后不一致,缺乏持久状态管理能力。 |
| 人工构建的可执行沙盒 | 质量虽高但全靠手工,覆盖范围窄,无法规模化。 |
已有尝试“让 LLM 写代码造环境”的工作也存在局限:往往只建模无状态工具函数,忽略工具与数据库的交互逻辑;或依赖现有资源进行重建,缺乏自动化质量评估机制。
核心研究问题
如何在不依赖既有可执行环境、交互轨迹和完整工具文档的情况下,从开源文本任务中挖掘环境主题,并自动合成大规模、多样化、可执行的工具交互环境,以支持 LLM Agent 的 SFT 与 RL 训练?
二、EnvScaler 整体框架:两大组件
EnvScaler 将“合成一个可用训练环境”拆解为两个核心步骤:
2.1 SkelBuilder —— 合成环境骨架
该组件负责构建环境的结构层,输出每个环境的可执行程序(Python 类)、环境文档及工具接口集。
- 任务驱动的环境发现:从 API-Bank 和 ToolACE 等开源任务集中反向挖掘环境主题。通过 LLM 筛选依赖有状态环境的任务,推断隐含主题,并利用嵌入聚类去重,获得多样且低冗余的环境描述集合。
- 可执行环境构建:LLM 先进行逻辑规划(定义状态、规则、工具操作),再编写代码(类属性对应状态,类方法对应工具),组装成完整 Python 类并通过 AST 校验语法。
- 双智能体质量评估:采用闭环迭代机制。前端 Testing Agent 随机发起正/负例调用,后端 Checking Agent 检查源码、返回值及状态变化。平均通过率作为质量分,低于 0.85 阈值的环境将被丢弃。
2.2 ScenGenerator —— 为每个环境合成任务场景
该组件负责填充环境的内容层,为每个环境生成初始状态/数据库、任务描述及规则化验证函数。
- 先生成环境的初始数据库或状态,再基于当前状态派生出具有挑战性且可解的任务。
- 将任务分解为检查点(checklist),为每个检查点生成终态校验函数。该函数输入环境最终状态,输出 True/False,其通过率即为轨迹奖励。这种基于终态的评估天然兼容多种等价解法路径,优于传统的“工具调用序列表面匹配”。
三、产出与实验发现
- 规模与成本:EnvScaler 共合成 191 个环境和约 7000 个任务场景。平均每个环境包含 18.58 个工具、21.38 个状态类别和 4.58 条约束规则。单个环境平均合成成本约为 1 美元,单个任务场景约为 0.06 美元。
- 主要结果:在 BFCL-v3 Multi-Turn、Tau-Bench 和 ACEBench-Agent 三个基准上,使用 EnvScaler 合成数据进行 SFT 后,模型平均得分分别提升 8.67、4.29 和 11.57。在此基础上加入 RL 训练可带来进一步提升,例如 Qwen3-8B 在 BFCL-MT 上的得分再次提升 4.88。
- Scaling 规律:训练环境数量从 0 扩展到 141,性能持续上升。0→20 阶段收益最大,之后增速放缓但未饱和,验证了“环境规模本身是一种可扩展的训练资源”。
- 泛化机制:训练与测试环境的主题相似度对收益影响不大,说明提升来自可迁移的通用工具使用能力,而非对相似环境的死记硬背。
- 交互模式:纯工具调用(Non-Conv)与带用户对话(Conv)两种模式学到互补能力,混合训练效果最佳。
- 模型规模效应:SFT 对各尺寸模型稳定有效;RL 强依赖模型探索能力,8B 模型收益显著,而 1.7B 小模型在 Tau-Bench 上甚至出现轻微退化(易受噪声奖励影响)。
四、总结
- 环境来源洞见:环境主题无需人工设计,可从已有任务集中通过反向推断 + 聚类去重获得,任务分布本身就是环境分布的带噪采样。
- 环境载体洞见:将 LLM 从“环境模拟器”降级为“环境代码编写者”,用可执行程序承载状态与逻辑,由程序语义保证一致性与稳定性,由生成过程保证多样性。
- 质量评估洞见:合成环境质量不能仅靠静态打分,必须像测试软件一样,让 Agent实际调用工具,由另一 Agent 判定行为是否符合预期,以通过率量化环境分数。
- 奖励定义洞见:将任务分解为可验证条件,生成终端状态校验函数,以通过率作为 Reward。既支持部分完成(稠密奖励),又容许多条等价解路径。
AI TIME 观察:
EnvScaler 的价值不仅在于“自动生成了 191 个环境”,更在于它重新定义了 Agent 训练中的数据边界。
传统语言模型依赖静态文本,而 Agent 需要学习理解规则、选择工具、改变状态并判断完成的动态过程。EnvScaler 提出将环境本身转化为一种可规模化生产的训练资源:
- 用可执行程序保证状态和规则的一致性;
- 用自动测试筛除逻辑错误的环境;
- 用终态校验函数判断任务完成情况;
- 允许 Agent 通过不同路径达到相同结果。
当然,该工作仍留有值得观察的问题:程序合成环境与真实业务系统的差距有多大?自动生成的校验函数是否存在奖励漏洞?当环境规模继续扩大,性能提升能否持续?小模型在强化学习中受噪声奖励影响的问题如何解决?这些问题的探索或许比单一基准的分数提升更具长远意义。

