![]()
这项由苹果公司研究团队完成的工作,于2026年7月以预印本形式发布,论文编号为arXiv:2607.16900,有兴趣深入了解的读者可以通过该编号检索完整论文。研究的核心问题非常实际:训练一个能帮你完成各种手机任务的AI助手,最大的拦路虎是什么?答案出乎意料地朴素——是数据,以及为了收集数据而不得不搭建的那套庞大的"练兵场"。
这套练兵场是什么意思?打个比方,要培养一个优秀的客服人员,你不能只给他一本手册让他死记硬背,你得给他搭一个模拟客服中心,里面有真实的电话系统、真实的订单数据库、真实的投诉案例,让他在里面反复实操。同理,训练一个能帮你在手机上订外卖、查银行账单、发消息的AI智能体,你也需要先建一个"真实的"数字世界——写好每一个应用的接口程序,往数据库里填入成千上万条逼真的用户数据,然后才能让AI在里面练习。这套工程建下来,代价高昂,而且每换一套新的应用程序组合,就得从头再来。
苹果团队的思路是:既然大型语言模型已经见过了世界上几乎所有的代码和文档,它对各种软件系统的运行逻辑其实了如指掌——那为什么不让它直接扮演那个"数字世界",来假装响应AI助手发出的每一个操作请求呢?
这个想法就是ESAT的核心,全称是"无需真实环境的合成智能体轨迹生成"(Environment-Free Synthetic Agentic Trajectory)。它把整个数据生产流程压缩成了一件极其轻量的事情:你只需要给它一份接口说明书,它就能自动生成训练数据。不需要真实的服务器,不需要真实的数据库,连真实的程序代码都不需要。
一、练兵场的建造困境:为什么数据这么难收集
要理解ESAT的意义,得先感受一下"建练兵场"到底有多麻烦。
训练AI智能体的数据,不是普通的问答数据。它必须是完整的"操作轨迹"——就像一段录像,完整记录了AI助手从接到指令、到一步一步调用各种功能、到最终完成任务的全过程。每条轨迹里,有用户的原始指令,有AI发出的每一个操作请求,有系统返回的每一条反馈,有AI的推理过程,有最终的回答。这样的数据,和普通的文字对话数据完全是两回事。
更麻烦的是,这套数据必须"有血有肉"。如果用户让AI助手查"我上个月花了多少钱",数据库里就得真的有这个用户的消费记录;如果让AI助手把A应用里的某条信息同步到B应用,这两个应用就得真的能联动。数据库里的数据不能是空的,也不能是随便填的,得足够真实、足够多样,才能让AI学到泛化的能力。
目前已有的方法,比如加州大学和卡内基梅隆大学等机构的多项工作,都是沿着这条路走的——先把真实的软件环境搭起来,再在里面生成训练数据。这条路走得通,但就是慢,而且贵,而且每次换个场景就得重新搭。苹果团队想走的,是另一条路。
二、用语言模型假扮数字世界:核心思路的由来
这个思路的出发点,是一个关于大型语言模型能力的直觉判断。
一个在海量互联网文本上训练出来的语言模型,见过无数个软件应用的接口文档、用户手册、代码示例和论坛讨论。它对"一个音乐播放软件的收藏列表接口应该返回什么格式的数据"这类问题,其实有相当可靠的直觉——就像一个经验丰富的软件工程师,即使没有亲手写过某个具体的程序,也能大致预判它的行为。
基于这个直觉,苹果团队设计了一个角色扮演的框架:让一个语言模型扮演"数字世界",另一个语言模型扮演"AI助手",两者进行对话。AI助手说"我要调用音乐应用的获取收藏列表接口",数字世界就根据接口说明书、当前任务的上下文、以及之前已经假装发生过的所有操作历史,编造一个逼真的返回结果。整个对话过程中,没有任何一行真实的代码被执行。
这个框架的难点,在于"逼真"和"一致"。假如AI助手第5步的时候往收藏列表里添加了一首歌,那第10步再去查收藏列表的时候,这首歌就必须还在里面。假如用户的账号是女性,那所有涉及用户个人信息的返回结果就都得和这个设定一致。要让一个语言模型在长达几十步的对话中,始终保持这种内部一致性,是一个相当有挑战性的工程问题。
ESAT的核心贡献之一,就是设计了一套机制来解决这个一致性问题。
三、三步流水线:从一份说明书到一批训练数据
整个ESAT系统分三个阶段工作,就像一条流水线:先设计任务,再执行任务,最后筛选任务。
第一阶段叫做"任务生成"。系统接受一批应用接口说明书作为输入,然后让一个语言模型(研究团队使用的是GLM-4.7-FP8)来想象各种用户可能提出的真实需求。为了让生成的任务足够多样,系统设计了一个"配置桶"机制——就像一个多维度的分类网格,每个格子对应一种任务类型组合,比如"困难难度+跨三个应用+主要是写操作+需要先推导再执行"。系统按照这些格子逐一生成任务,确保每种类型的任务都有足够的覆盖。
在任务的多样性保障上,系统还引入了一个叫"逆频率采样"的小技巧。通俗地说,就是记录每个应用、每个接口已经被用在了多少任务里,然后在生成新任务的时候,优先让那些用得少的接口多出场。这样最终生成的任务里,各种接口的使用频率就会比较均衡,不会出现某几个常用功能被反复练习、而大量边缘功能从来不露面的情况。
任务生成完之后,还要经过一个"任务审核"和"任务改写"的步骤。审核步骤是让另一个语言模型扮演考官,检查生成的任务是否合理、是否真的能用指定的接口完成。改写步骤则更有意思:直接从接口说明书里生成的任务,往往带着很强的"程序员腔调",会把操作步骤一步步列出来,而不是像真实用户那样说"帮我查一下我最近的账单"。改写步骤就是把这些程序员腔调的任务,变成真实用户会说的自然语言。
第二阶段是"轨迹生成"。这个阶段的主角有两个:一个"教师智能体"(使用GLM-5.1-FP8模型)负责扮演AI助手,一步一步地解决任务;一个"模拟器"(同样使用GLM-5.1-FP8模型)负责扮演数字世界,对教师智能体发出的每个操作请求给出虚构但逼真的回应。
模拟器在工作时,会把以下几类信息全部纳入考量:完整的接口说明书、当前的操作请求参数、正在被解决的任务描述、同一应用内此前所有操作的历史记录、一个虚拟用户的基本信息(姓名、邮箱、电话),以及当前的日期和时间。模拟器被要求同时遵守四条核心规则。
第一条是"数据一致性"——如果第3步已经创建了一个叫"春日歌单"的播放列表,第8步查询所有播放列表时,这个列表就必须出现。第二条是"数据多样性"——返回的列表结果里不能全是和当前任务直接相关的内容,得掺杂一些无关的东西,才符合真实世界的样子。第三条是"数据真实性"——所有生成的数值、时间戳、标识符都要在合理范围内,不能出现负数的点赞数,也不能出现1900年的"最近交易记录"。第四条是"格式合规性"——返回的数据格式必须严格符合接口说明书里定义的结构。
为了保证这四条规则都被遵守,系统还设计了多层质检机制。操作请求的参数在进入模拟器之前,会先经过程序化的验证,检查是否有缺少必填参数、参数类型不对等问题,有问题直接返回错误信息,不需要劳驾语言模型。通过程序验证之后,模拟器生成的返回结果,会先被程序化地检查是否符合接口定义的数据结构,不符合的话会把错误反馈给模拟器让它重来。通过结构检查之后,对于读取类操作,还会再让一个"裁判"模型检查返回结果在语义上是否合理、是否与历史记录一致。只有通过所有检查的结果,才会被正式记录下来。如果在规定的重试次数内始终无法通过检查,这条轨迹就宣告失败,被丢弃掉。
第三阶段是"轨迹筛选"。教师智能体完成了一个任务之后,生成的轨迹会被交给一个"裁判"语言模型(研究团队使用的是Gemini-3.1-Pro)来判断这条轨迹是否真的正确地完成了任务。每条轨迹被裁判多次,只有在多数裁判结果都是"通过"的情况下,才会被保留进最终的训练集。
四、两个关键的测试场:ESAT数据到底有多好用
研究团队在两个公开测评平台上测试了ESAT生成的数据是否真的有训练价值。
第一个测评平台叫AppWorld,是卡内基梅隆大学和麻省理工学院等机构开发的,场景设定是帮助用户管理手机上的各种日常应用——购物、银行、音乐、日历、通讯录之类的,共涉及457个接口,分布在9个应用里。评测任务分两组:普通难度的168个任务,和挑战难度的417个任务(挑战组还引入了两个训练阶段完全没见过的应用,专门考验AI的泛化能力)。评测指标是"任务目标完成率",就是有多少百分比的任务被完整正确地完成了。
第二个测评平台叫OfficeBench,场景设定是办公室自动化——处理表格、安排日历、发邮件之类的,共涉及20个接口,分布在8个应用里。这个平台上没有官方提供的训练数据,意味着所有训练数据都必须自己准备,是检验"从零生成训练数据"能力的理想场景。
研究团队用ESAT为AppWorld生成了两批训练数据。第一批(代号ESAT-AW7)直接使用AppWorld的7个接口说明书(排除了挑战组的2个保留应用)生成了9000条训练轨迹。第二批(代号ESAT-S52)完全另起炉灶,研究团队从头设计了52个全新的虚构应用,涵盖电商、旅行、娱乐、金融等各种领域,共定义了1017个接口,然后用这些全新的接口说明书生成了6000条训练轨迹。这两批数据可以单独使用,也可以合并使用(合并后代号ESAT-S52-AW7)。
作为对照,研究团队还准备了一批"真实环境数据"(代号AWT):利用AppWorld提供的官方90个训练任务,在真实的AppWorld软件环境里让同款教师模型实际操作,筛选出634条成功轨迹。这批数据代表了"传统做法"——先建环境,再收数据。
研究团队用这些数据分别微调了8个不同规模的语言模型,从17亿参数的小模型到270亿参数的大模型,覆盖了Qwen3和Qwen3.5两个系列。
五、实验结果:数字背后的故事
AppWorld测评的结果,在多个维度上都耐人寻味。
先看最引人注目的一组对比:ESAT-S52这批完全用虚构应用生成的数据,在训练了对应模型之后,绝大多数模型(除了最小的17亿参数版本)的表现都超过了用真实AppWorld环境收集的AWT数据。这意味着,一套完全没有接触过真实操作环境的训练数据,居然比在真实环境里实际操作收集的数据效果还要好。
这件事为什么会发生?研究团队给出的解释是"泛化能力"。AWT数据只覆盖了90个特定任务,数据量有限,多样性受限;而ESAT数据在生成时系统性地覆盖了各种任务类型组合,而且用的是完全不同的虚构应用生成的轨迹,模型在学习的时候必须提炼更通用的操作逻辑,而不是记住特定的操作模式,因此在面对新任务时的泛化能力反而更强。
再看ESAT-S52-AW7合并数据(同时包含虚构应用和真实应用接口生成的轨迹)的表现:在所有模型、所有难度的测试上,这批数据都优于单独的AWT真实环境数据,幅度从0.7个百分点到15.3个百分点不等。这说明即使只有接口说明书、没有真实环境,也能生成足够有价值的领域专项训练数据。
如果再把ESAT合并数据和AWT真实环境数据叠加使用(先用ESAT数据微调,再用AWT数据继续微调),Qwen3系列的模型性能相比仅用AWT数据还能再提升4.1到15.3个百分点。这说明ESAT数据和真实环境数据不是竞争关系,而是互补关系——ESAT数据打下通用基础,真实环境数据做领域精调,两者叠加效果最佳。
从绝对性能来看,270亿参数的Qwen3.5-27B模型在用ESAT合并数据微调之后,普通难度任务完成率达到84.2%,挑战难度达到79%,和教师模型GLM-5.1-FP8(86.5%和81.9%)的差距已经缩小到不足3个百分点——后者的参数规模要大得多。这展示了ESAT在知识蒸馏方向的潜力:用大模型生成的合成数据,把大模型的能力传递给小模型。
在OfficeBench上,ESAT的表现同样突出。用ESAT-OB数据微调的模型,相比各自的基础模型提升幅度在5.2到60.5个百分点之间,其中小模型的提升幅度尤为显著(20亿参数的Qwen3.5-2B在2应用任务上提升了60.5个百分点)。研究团队还和一个叫Simia的同类工作进行了对比——Simia也是用模拟环境替代真实环境来生成训练数据,但它的思路与ESAT不同——ESAT生成的数据训练出的模型,在所有测试场景下都比Simia训练出的模型高出20个百分点以上。
六、模拟器到底有多可靠?自我审查的结果
生成的训练数据有用,但生成过程中那个扮演数字世界的"模拟器"到底有多可靠?这是整个方案成立的前提假设,研究团队专门做了一组实验来回答这个问题。
他们从使用AppWorld接口生成的1000条成功轨迹里提取了约27000个单独的接口响应,然后用GPT-5.1作为外部裁判,逐一检查每个模拟器生成的响应是否在语义上合理、是否与接口说明书一致、是否与历史操作记录保持连贯。结果显示,93.7%的模拟器响应通过了这次独立审查,说明模拟器的生成质量总体上是可信的。
当然,模拟器并非在所有情况下都同样可靠。研究团队还分析了模拟失败率与响应长度的关系,发现了一个清晰的规律:需要生成500个词元以内的短响应时,失败率只有2%到3%;响应长度在500到1000个词元之间时,失败率上升到8%;1000到2000个词元之间时达到18%;超过2000个词元时,失败率攀升到23%。这个规律说明,对于需要返回大量数据的复杂查询(比如"列出我所有的交易记录"),模拟器的可靠性会下降,这是当前方案的一个值得关注的局限。研究团队指出,换用更强大的前沿模型作为模拟器,有望缓解这个问题。
七、裁判质量的人工验证:机器裁判有多靠谱
最终筛选轨迹的裁判是Gemini-3.1-Pro,但机器裁判的判断本身是否可信?研究团队做了两组验证。
第一组是和真实环境的"地面实况"对比。他们用教师模型在真实AppWorld环境里生成了720条轨迹(90个训练任务各8条),利用AppWorld自带的程序化验证器获取每条轨迹的真实正误标签,然后再用Gemini裁判对同样这批轨迹进行独立判断。结果显示,Gemini裁判的精确率达到95.2%——也就是说,Gemini认为"通过"的轨迹里,有95.2%在真实环境中也是实际正确完成了任务的。对于数据筛选来说,精确率高意味着进入训练集的数据大多是真正高质量的,这正是最关键的指标。
第二组是和人类标注者的对比。研究团队随机抽取了200条轨迹(100条被Gemini判为通过,100条被判为不通过),让人类标注者按照同样的评判标准进行独立判断。结果显示,Gemini和人类标注者的整体一致率为95%,Cohen's Kappa系数(衡量两个评判者一致性的统计指标,排除了随机一致的情况)高达0.90,属于"几乎完全一致"的水平。这个结果有力地支持了ESAT生成的训练数据的可信度。
八、与其他合成数据方案的正面较量
研究团队还把ESAT和几个已有的合成API调用数据集进行了直接对比,结果揭示了不同技术路线之间的本质差异。
ToolAlpaca和ToolACE是两个早期的合成数据集,它们的特点是每个操作请求相对独立,没有考虑一个复杂任务里多个操作之间的状态关联。用这两批数据微调的模型,在AppWorld和OfficeBench上的表现甚至有时候不如什么都不训练的基础模型,或者和基础模型持平。这很说明问题:如果训练数据只覆盖了独立的单次调用场景,模型根本学不会在真实任务里跨步骤追踪状态变化的能力。
Nemotron是英伟达发布的一个大规模合成数据集,拥有150万条轨迹,在规模上远超ESAT。但Nemotron的模拟器设计是"每步独立验证"的,没有维护一个跨步骤的持久状态模型。用Nemotron数据训练的模型,在AppWorld上的表现有一些提升,但提升幅度显著低于ESAT,在OfficeBench上的提升幅度同样不及ESAT。这说明数据规模并不是决定性因素,模拟器是否维护了真实的"世界状态",才是核心差异所在。
ESAT的核心优势在于:它的模拟器不是在逐条生成孤立的接口响应,而是在扮演一个有内部记忆的数字世界,使得每次模拟都是在一个连贯的虚构现实里发生的。这种设计,让ESAT生成的数据包含了真实多步任务所需的状态追踪逻辑,而不仅仅是单次操作的语法正确性。
九、生成流水线的实际规模:从原材料到成品
研究团队还公开了ESAT各阶段的生产统计数据,让外界可以具体了解这条流水线的效率。
对于ESAT-AW7(使用AppWorld接口生成的数据集),初始生成了约3万个候选任务,经过第一轮任务审核后保留了约1.44万个,再经过任务改写和第二轮审核后保留约1.22万个有效任务。这1.44万个任务被送入轨迹生成阶段,教师智能体成功完成了约1.14万条轨迹,经过裁判筛选后最终保留了约9352条高质量轨迹用于训练。在轨迹生成过程中,共发生了约24.6万次接口调用,其中只有6.12%需要模拟器重试,说明模拟器在绝大多数情况下一次就能生成符合要求的结果。
失败的轨迹主要来自两方面:模拟器超时或耗尽重试次数(占失败总数的45%),以及裁判判定答案质量不达标(占41%)。前者是技术层面的挑战,后者则是质控机制正常发挥作用的体现。
对于ESAT-S52(使用52个虚构应用生成的数据集),初始候选任务约3.2万个,最终保留了约6265条高质量训练轨迹,通过率约为60%。在接口覆盖方面,1017个接口中有1013个(99.6%)至少在一条成功轨迹中被使用过,有951个(93.5%)被使用了至少5次。这说明逆频率采样策略确实有效地防止了训练数据集中在少数热门接口上。
说到底,ESAT的核心贡献,可以用一句话来总结:它证明了"用语言模型扮演数字世界"这条路是走得通的,而且走出来的效果不亚于甚至优于"先建真实环境再收数据"的传统路线。
这对AI研究者和开发者来说是一个相当实用的消息。以往,要给一套新的应用程序训练AI智能体,不得不先花大量工时建环境、填数据、调试接口——这些工作和训练AI本身一样耗时,却往往被视为"前置条件"而低估其成本。ESAT的出现,把这个门槛大幅降低:只要有一份接口说明书(而接口说明书恰恰是任何正式的软件开发都会产出的文档),就可以启动数据生产流程。
当然,这条路也有它当前的局限。模拟器在需要生成大量数据的复杂查询场景下可靠性下降,是一个尚未完全解决的问题。模拟器生成的数据毕竟是基于语言模型的想象,对于一些需要精确数值计算或严格逻辑推理的任务,它的表现仍然可能不如真实环境。此外,研究团队使用的是闭源的GLM和Gemini系列模型,整个流水线的成本和可复现性对于资源有限的研究团队来说仍是一个考量因素。
不过,这些局限并不妨碍ESAT所代表的技术方向的价值。随着语言模型本身能力的持续提升,模拟器对复杂场景的处理能力也会相应增强。更重要的是,这项工作为一个重要问题提供了一个经过实验验证的肯定回答:在相当广泛的场景下,语言模型确实可以充当足够可信的数字世界模型,为AI智能体的训练提供有效的合成数据。
有兴趣深入了解技术细节的读者,可以通过arXiv:2607.16900查阅完整论文,其中包含了所有提示词模板、超参数设置和完整的实验轨迹示例。
Q&A
Q1:ESAT和传统AI智能体训练数据收集方法相比,最大的区别是什么?
A:传统方法需要先搭建完整的软件运行环境(包括真实的程序代码和填充了大量数据的数据库),再在里面实际运行AI智能体来收集操作轨迹。ESAT则完全跳过了这个环节,只需要接口说明书,就让语言模型直接扮演"数字世界"来虚构每一步的系统响应,整个过程不执行任何真实代码。
Q2:用ESAT生成的虚构数据训练出的AI模型,真的能在真实应用场景里好用吗?
A:实验结果显示是可以的。用虚构的52个应用接口生成的数据训练出的模型,在AppWorld这个真实的多应用测评平台上,绝大多数情况下表现超过了用真实AppWorld环境收集的数据训练的模型。这说明模型从虚构数据中学到的操作逻辑是可以迁移到真实场景的。不过,模拟器在需要返回大量数据的复杂查询上可靠性有所下降,这是当前方案需要注意的局限。
Q3:ESAT生成的模拟数据和真实环境数据可以叠加使用吗?
A:可以,而且叠加效果更好。研究发现,先用ESAT生成的数据训练,再用真实环境收集的数据继续微调,比单独使用真实环境数据的效果高出4.1到15.3个百分点(在Qwen3系列模型上)。两类数据是互补关系而非竞争关系——ESAT数据建立通用操作能力,真实环境数据做领域精调。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.