Environment-free Synthetic Data Generation for API-Calling Agents
训练API调用大语言模型(LLM)代理需要大量高质量轨迹数据。然而,大规模收集此类数据通常需要完全实现的环境,包括可执行的API和预填充的后端数据库,这成为可扩展性的主要瓶颈。为解决此问题,本文提出一种无环境合成数据生成方法,利用LLM作为即时数字世界模型。仅给定API规范,该方法生成模拟代理与有状态环境交互的轨迹。 具体流程如下:1. LLM首先生成可通过提供API解决的多样化任务。2. 教师代理迭代求解每个任务,同时LLM模拟器基于任务上下文和模拟历史生成连贯的合成API响应。3. LLM评判器筛选轨迹以确保数据集质量。 在具有挑战性的AppWorld和OfficeBench基准上的评估表明,该方案在信息检索和状态改变任务上均表现优异。基于合成数据微调的模型获得了显著性能提升,证明无需任何可执行环境即可生成用于API调用代理的有效监督信号。我们的结果确立了基于LLM的API模拟作为跨多种API生态训练代理的实用可扩展方案。
论文精读
TL;DR 无需可执行环境,仅凭 API 规范,利用 LLM 作为世界模型模拟 API 响应,生成高质量训练轨迹,显著提升 API 调用智能体在 AppWorld 和 OfficeBench 上的性能。
问题
问题背景
训练能够调用 API 的 LLM 代理是实现自动化服务的关键技术路径,但高质量交互轨迹数据的稀缺限制了模型的泛化与推理能力。
现有方法局限
当前收集训练轨迹的主要方式依赖完全可执行的环境,即需要预先部署可运行的 API 服务并填充真实的数据库。这种方式的局限在于:
- 环境搭建成本高:每引入一套新 API 都需要独立开发后端模拟器,难以快速适配多变的 API 生态。
- 数据多样性不足:轨迹的复杂性受限于预设的数据库状态与手工编写任务,难以覆盖长尾场景。
- 状态仿真缺乏:静态模拟往往无法动态维持仿真过程的状态一致性,导致合成数据在状态更新、错误处理等环节失真。
挑战与重要性
训练 API 调用代理要求数据包含多步推理、参数推理、状态变化与异常恢复,人工标注成本极高且不易规模化。业界对具备工具使用能力的 LLM 代理需求旺盛(如 RPA、智能助手、软件测试),但高效率的数据生成方案长期依赖真实运行环境,成为迭代速度的瓶颈。核心挑战在于:如何在不访问任何可执行 API 的前提下,仅通过 API 规范生成连贯、有状态的交互轨迹? 这要求仿真器扮演 on-the-fly digital world model,精准维护仿真状态并避免幻觉。
场景类比
类似 Self-Instruct 通过 LLM 生成指令数据来训练指令遵循模型,无环境合成方法试图将 API 调用代理的训练从真实环境解耦,如同为插件商店中任意 API 提供虚拟沙箱。
核心洞察
- 无环境仿真将数据生成从基础设施依赖中解耦:传统方法需要完整可执行后端和预填充数据库,而本工作仅基于 API 规格,利用 LLM 实时模拟有状态环境,极大降低了数据生产门槛。这独特之处在于将数据生成从“先建环境”转变为“利用语言模型的世界知识”,使得在 API 变更、私有化或早期开发阶段也能快速生成训练轨迹,无需等待后端实现,对实际工程中快速迭代训练 API 调用智能体具有直接推动力。
- 仿真-裁判双重机制确保合成数据质量:不仅用 LLM 模拟 API 响应,还引入裁判模型过滤轨迹,主动筛除不合理或未完成任务的样本。与单纯依赖 LLM 生成数据相比,这种质量控制回路显著提升了合成数据的可靠性,使微调后的智能体能在真实环境中有效泛化,而许多同类工作忽略了对生成数据进行事后验证,导致模型容易学到仿真噪声。
- 方法在信息检索与状态改变两类任务上同时验证有效:在 AppWorld 和 OfficeBench 两个含多模态任务的基准上,不仅处理简单查询,还能生成改变系统状态的交互轨迹。这突破了多数合成数据方法仅适用于检索型任务的局限,展示了通过持续模拟状态来生成多步决策轨迹的潜力,为训练通用 API 调用智能体提供了可扩展的解决方案,避免了对每种任务单独设计仿真器的重复工作。
方法
方法总览:环境无关的合成数据生成
输入仅需 API 规范(函数签名、参数说明),无需任何可执行环境或预填充数据库。
关键模块
任务生成:利用 LLM 根据 API 规范生成多样化的可解任务。任务描述包含明确的目标和可用的 API 列表,确保覆盖信息检索与状态变更两类操作。
- 启示:通过 prompt 设计控制任务多样性,可替代人工设计,显著降低数据准备成本。
轨迹模拟:采用“教师代理 + LLM 模拟器”的双角色框架。
- 教师代理(也由 LLM 驱动)针对任务进行分步推理,生成动作序列(API 调用及其参数)。
- LLM 模拟器作为数字世界模型,根据任务上下文和交互历史,为每个 API 调用生成连贯的合成响应(如数据库查询结果、状态更新反馈),并维护一致性状态。
- 该过程迭代进行,直至任务完成,形成完整的
(task, action, response)轨迹。 - 启示:LLM 模拟器无需真实后端即可提供有状态反馈,使训练数据的积累完全摆脱环境依赖。
质量过滤:引入 LLM 评判器 对生成的轨迹进行自动筛选,剔除不完整、不一致或与任务目标偏差过大的样本,确保最终数据集的高质量。
- 启示:评判器可作为数据质量守门人,平衡生成数量与可靠性之间的 trade-off。
输出为可直接用于微调 API 调用代理的高质量轨迹数据集。
与同类方法的差异
传统方法(如 ReAct 风格的数据收集或基于环境交互的强化学习)依赖可执行 API 和预先填充的后端,数据产出受限于环境搭建的工程成本。本方法完全通过 LLM 模拟世界状态,实现了 environment-free 的数据生成闭环,既摆脱了对真实基础设施的依赖,又能横向扩展到任意 API 生态。
实验
实验设计
以 AppWorld 和 OfficeBench 两个多任务基准评估合成数据的有效性,二者均包含信息检索与状态变更任务。方法仅需 API 规格说明,由 LLM 生成任务、教师代理解决任务,并用 LLM 模拟器生成连贯的 API 响应序列,最后经 LLM 法官过滤形成训练轨迹。微调代理模型后,在原始基准上评测其任务完成能力,对比零样本或基于提示的基线。
关键发现
即使完全不依赖可执行环境与真实后端,仅用合成数据微调的代理在两项基准上均取得显著性能提升,证明 LLM 模拟的交互轨迹能够为 API 调用代理提供有效的监督信号。尤其在需要多步推理与状态变更的复杂任务上,模拟数据弥补了提示方法缺乏细粒度指导的缺陷。
与基线对比的解读
传统训练方法须搭建完整可执行环境、预填充真实数据库,扩展成本高昂。本方法将环境构建替换为即时的 LLM 世界模型,极大降低了数据生产门槛,且模拟的响应能保持与任务上下文一致的状态演化。相比仅用 API 文档的零样本代理,合成数据微调带来了更稳定的策略学习和对动态响应的适应能力,显示出将 API 调用代理训练从环境约束中解耦的实用价值。
行业影响
落地场景
该方法直接作用于需要训练 API 调用智能体 的产品和业务,典型场景包括:
- 企业服务与自动化:IT 运维机器人通过内部工单系统 API 自动处理故障;HR 助手调用员工信息接口完成入职流程。
- 电商与客服:智能客服调用订单查询、退款、物流等 API 解决用户问题,无需人工介入。
- 医疗与金融:辅助诊断智能体调用电子病历 API 获取数据,或理财顾问调用交易接口生成报告。
传统做法依赖全功能沙箱和预置数据库,环境搭建成本高、扩展性差。该方法仅需 API 规范文档即可生成高质量训练轨迹,极大降低了落地门槛。
商业价值
核心价值沿 降本 和 加速迭代 两条线展开:
- 降本:消除对可执行环境和真实后端系统的依赖,数据生成成本降低一个数量级。初始投入减少,中小企业也能训练专属 API 智能体。
- 加速产品迭代:新增或修改 API 后,可快速生成对应训练数据,使智能体能力及时跟上业务需求,缩短从设计到上线的周期。
- 质量与覆盖:LLM 模拟器能产生多样化的 corner case 和长尾场景,配合 judge 过滤,保证了数据质量。无需担心破坏真实生产环境即可探索异常处理路径。
与现有产品 / 工作流的集成
该方法可作为 数据增强模块 嵌入现有 LLM 训练 pipeline:
- 种子任务生成:将业务系统的 API 规范(如 OpenAPI 文档)输入任务生成 LLM,产出任务池。
- 轨迹合成:教师智能体与 LLM 模拟器交互,生成“思考-行动-观察”轨迹,整个过程可编排为异步任务流。
- 质量过滤与训练:LLM judge 根据任务完成度和轨迹合理性打分,保留高质量数据,直接混入指令微调数据集。
集成方式支持 CI/CD 风格:当 API 规范变更时,自动触发数据再生和模型更新,实现持续学习。
具体落地 Use Case
- 电商售后智能体:某电商平台需要智能客服调用退换货 API。利用现有 API 文档,可生成涵盖“用户已签收但未拆封”、“超出售后期限”等数千种情景的对话-API调用轨迹,无需搭建真实订单系统和退货状态机。微调后智能体直接上线,处理此类任务的成功率显著提升。
- 企业内部 DevOps 机器人:技术团队希望构建一个能通过 Jira API 自动创建、分派和关闭工单的助手。使用该方法,输入 Jira API 规范即可生成模拟交互,覆盖权限错误、字段缺失等真实场景。训练后的模型能理解自然语言指令并正确调用 API,减少运维响应时间。
局限
- **模拟器保真度有限**:LLM作为世界模型可能产生不符合真实API行为的合成响应,尤其在需要精确状态管理和复杂依赖时,生成的轨迹可能包含幻觉或不一致的状态数据,降低训练数据的质量。这源于语言模型难以完全模拟有状态环境中每一步操作带来的全局变化,导致合成轨迹与真实执行存在偏差。
- **依赖LLM裁判引入偏差**:用LLM评判轨迹质量,评判标准与下游任务性能的关联性未经验证,可能错误保留表面流畅但逻辑错误的轨迹,或过滤掉真实但复杂的正确路径。这种自举过程有放大模型内在偏好的风险,影响数据集的多样性。
- **缺乏错误恢复与边界案例覆盖**:方法仅生成成功执行任务的轨迹,缺少对异常处理、API调用失败重试、并发冲突等真实世界常见情形的模拟。训练出的agent可能在遇到意外响应时表现脆弱,鲁棒性不足。