Echoverse:面向计算机使用智能体的深度演化环境

Echoverse: Deep, evolving environments for computer-use agents

📅2026-07-31👤Microsoft ResearchMicrosoft Research
✍️翻译:DeepSeek
#实验室研究

超越数量追求保真度,聚焦智能体真正缺乏的能力,并随模型训练共同进化

Scaling fidelity over sheer count, targeting the capabilities agents actually lack, and evolving with the models they train.

迭代训练循环示意图:模型生成世界,世界产生分级运行结果,反馈同时更新世界和模型

概览

At a glance

我们为计算机使用智能体(computer-use agent)构建了十二个训练世界:十个深度领域世界和两个能力世界,每个世界专注于一个以多种形式呈现的单一控件(日期选择器和嵌套过滤器)。深度是它们值得用于训练的原因:这些世界复现了应用程序的真实行为,配备了真实感数据种子,并在不同屏幕和用户之间保持状态一致性。在所有十二个世界上训练后,一个9B参数的模型将其基础分数从36.5%提升至67.1%,与GPT-5.4的差距缩小到14个百分点以内。这项实验教会我们以下几点:

  • 高仿真保真度是必备条件;浅层世界会损害智能体。 在同一站点的浅层和深度版本上进行训练后,模型在浅层版本上出现性能倒退,但在深度版本上有所提升。
  • 智能体常常在相同的挑战性UI元素上挣扎,例如日期选择器和嵌套过滤器。 以多样化形式训练这些控件,教会模型在其从未见过的领域中使用它们。
  • 让模型、世界和验证器共同进化,能够全面提升三者。 随着世界变得更加正确、任务难度增加,模型也随之提升。
  • 针对世界的强化学习(RL)推动智能体超越模仿。 使用基于状态的验证器作为奖励,RL提升了保留测试集的性能,并教会智能体用更少的步骤达成目标。
  • 我们正在发布其中四个世界的代码、数据和基于状态的评分器,以支持高保真计算机使用世界的研究。 GitHub:microsoft/Echoverse:面向计算机使用智能体的深度进化环境(在新标签页中打开) Hugging Face:microsoft/Echoverse · Hugging Face数据集(在新标签页中打开) 技术报告:https://www.microsoft.com/en-us/research/publication/echoverse-deep-evolving-environments-for-training-computer-use-agents-at-scale/

计算机使用智能体只有在行动产生真实后果时,才能从中学习。一次点击会改变已保存的状态,一条消息会送达真实的人,或者一个拒绝移动的页面会告诉智能体它上一次行动毫无效果。屏幕截图能显示界面的外观,但只有功能完整的世界才能展示行动所导致的结果。

值得学习的后果是有状态的(stateful),而且大多数后果都隐藏在登录之后。人们希望自动化的工作都存在于封闭系统中:邮件和聊天、银行业务、健康记录、云和机器学习的内部控制台。你无法针对这些系统的在线版本训练智能体。每一次尝试都会写入真实账户,尝试之间无法重置,真实状态始终隐藏在屏幕之后。因此,你将系统重建为一个合成世界(synthetic world),其中数据库归你所有:状态是真实的,变化也是真实的,但可以安全地破坏、快速重置,并且基于数据而非屏幕截图进行评分。

播客系列

Daniel Carpenter、Timo Minssen、Chad Atalla和Kathleen Sullivan的插图头像,用于微软研究院播客

人工智能测试与评估:来自科学和工业界的经验

AI Testing and Evaluation: Learnings from Science and Industry

了解微软如何借鉴其他领域,将评估和测试作为人工智能治理的支柱加以推进。

立即收听 在新标签页中打开

所谓“世界”,我们指的是三者紧密结合:一个环境(environment,即应用程序、其状态以及改变状态的操作)、在其中设定目标的任务(task),以及一个根据真实情况对结果进行评分的验证器(verifier)。社区现在已经擅长构建它们:通过流水线搭建应用程序、植入数据种子、生成任务并附加验证器,从而产生数百个环境和数千个可检查的任务。本文正是在这一进展的基础上展开的。然而,一旦世界变得丰富,其内部结构就成为瓶颈:无论状态是否在用户和屏幕之间保持一致,工作流都保持其依赖关系,一个薄弱的技能必须以足够多的形式出现才能泛化,而成功是通过结果或外观来评判的。

我们的赌注——正是Echoverse所测试的——在于真正的杠杆作用并非来自增加世界的数量,而是来自一个不断改进已有世界的循环。它将构建环境和训练模型视为一个过程,而非两个阶段:在某个世界中运行模型,发现其失败之处,使世界、任务及其验证器在这些失败点上更加逼真或更具挑战性,在更清晰的信号上训练模型,然后重复。普通的微调只改进模型。而在这里,同一个分级运行结果既衡量了模型,也改进了评判它的世界,因此静态基准会饱和,而循环则会不断累积。

三个杠杆保持这个循环的高效性,而它们都不是原始的环境数量。深度(Depth):针对重要领域(包括封闭和专有领域)的行为逼真世界。能力聚焦(Capability targeting):围绕模型持续失败的特定交互构建的窄域世界。共同进化(Co-evolution):在每个分级运行结果上改进环境、任务及其验证器,而不仅仅是模型。

图1:学习循环:每个分级运行结果被读取两次。幸存下来的失败成为模型训练数据;世界、任务或验证器中的缺陷成为修复项。衡量模型的同一个分级运行结果也同时磨砺了世界。

为什么要用合成世界,为什么要追求深度?

Why synthetic, and why deep?

开放的、无需登录的网站似乎消除了对合成世界的需求,但它们因另一个原因而成为糟糕的训练场地:它们不会静止不动。页面会重新设计,列表和日期会向前滚动,主机服务器会限速或阻止自动化流量,因此一个依赖这些网站的基准会发生漂移,且没有两次运行面对的是同一个站点。偶尔的评估可以承受这种变化;但训练不行,因为同一个任务需要重复数千次,且每次都需要相同的世界。合成世界在时间和数据上是固定的:日历不会移动,种子数据不会轮换,一个任务在第一千次运行时的含义与第一次完全相同。我们牺牲了一点表面真实感,换来了一个完全可控的世界。

可控只是基础。一个世界可以完全稳定但仍然空洞,因此值得投入训练时间的是深度:不是它的页面数量,而是它如何忠实地保留工作的因果结构。五个特性设定了标准:行为保真度(Behavioral fidelity)(控件、权限和错误遵循产品的逻辑);一致的状态(Coherent state)(发送的消息出现在收件人处,取消的会议清空双方日历);工作流深度(Workflow depth)(早期选择限制后续操作);权威验证(Authoritative verification)(基于应用状态,而非像素);以及领域价值(Domain value)(工作流值得改进)。在最重要的系统中,难度存在于权限、共享状态和审计历史中——这正是浅层克隆所忽略的结构。在这个标准之上,更多的环境增加多样性;在这个标准之下,它们增加噪声。

Echoverse 工厂如何运作?

How the Echoverse factory works?

Echoverse 是一个单一的流水线,具有两种输出:保留工作流深度的完整领域世界,以及变化一种诊断出的交互的能力世界。两者都依赖于一个事实:我们拥有底层的数据库,因此成功是应用自身状态的属性,而非模型对屏幕截图的解读。

构建世界

Building the world

流水线将少量种子场景扩展成一个规范(spec),然后将其编译成关于路由、状态和行为的机器可检查断言。只有在此之后,它才生成应用:一个 FastAPI 和 SQLite 后端,加上 React 前端。一个全新的应用是一个假设,而非一个世界:构建器针对运行中的环境运行每一个断言,修复数据库、后端或前端,直到每个断言都通过,然后写入一个就绪记录,将硬性阻碍与警示风险区分开。存在未解决阻碍的世界不会进入下一阶段。这里的深度不是提示中的承诺,而是世界已被证明通过的断言清单。

扩充语料库

Growing the corpus

一个构建干净的世界仍然不是训练数据。我们将每个任务重新基于实时数据库,从实际存在的实体中抽取目标,然后通过一组分析器发送每个目标:其实体是否真实,目标是否可行,其难度是否与工作匹配,以及最严格的测试——一个驱动真实UI的智能体能否完成它?最后一个检查在浏览器中运行,在模型看到目标之前就捕获那些任何界面都无法满足的目标。生成的目标是一个断言;在真实应用中完成的求解则是一个证明。

每个失败都成为一个问题,并按照必须更改的层进行标记:数据库、后端、前端、任务文本或验证器。特定层的修复器应用修复,针对运行中的应用重新检查,如果导致性能倒退则回滚。循环根据数据库真实情况重新评分,直到通过率停止上升,每个幸存的任务连同精确的评分检查一起导出。这些任务通过一个过程成为训练数据:GPT-5.4 解决每个任务,验证器保留通过真实情况的轨迹,这些轨迹成为下面所有实验背后的监督微调(SFT)数据。

构建世界和扩充语料库并非两个阶段,而是一个循环:大多数缺陷属于世界,因此我们每次迭代都会重新版本化环境。更困难的任务暴露世界的空白,更稳固的世界能够承载更困难的任务,因此每一轮都使两者更强。

图2:环境工厂:每个世界背后的两个循环。阶段1将少量种子扩展成应用,然后修复数据库、后端和前端,直到通过机器可检查的断言。阶段2将任务重新基于实时数据,运行一组分析器和特定层修复器智能体,并根据数据库真实情况重新评分,直到通过率趋于平稳。其中许多修复落在世界本身(虚线箭头)。

验证器基于数据库

The verifier is grounded in the database

每个任务都携带自己的答案键(answer key),即一个值或状态变化,在生成时通过 SQL 查询从真实数据库中铸造而成,在其构建上就是真实的,并在智能体完成后重新检查。读取任务根据与存储值的语义等价性评分(例如 288对于288 对于 287.62 视为通过);写入任务根据真实的前后数据库差异评分,因此声称工单已关闭在行状态未翻转时失败;读写任务取两者中较低分。评分难以被糊弄,基于实际数据而非标注,并且跨 EchoStay 预订、EchoForge 问题和 EchoBank 转账保持统一。

完整领域承载工作流

Full domains carry the workflow

那些具有最重要工作的领域是公共基准最难触及的:封闭、专有的系统,其难度存在于权限、共享状态和历史中,而非布局。忠实的克隆必须重现这一点。重要的不是像素,而是一个行动的后果能够跨越屏幕和用户,因此一个任务可以运行真实的工作流,并根据其留下的状态进行评分。

十个 Echo 领域涵盖通信、技术工作、受规管的记录、社区、媒体和旅行。对于存在丰富公共数据集的地方,我们在此基础上构建:EchoStay 从 InsideAirbnb 获取种子数据,因此其房源、房东、评论和设施是真实的而非编造的;EchoForum 基于包含255万条评论的公共论坛语料库。对于不存在公共数据集的地方,如邮件、日历、银行和健康记录,种子生成流水线在严格约束下生成状态,密集且内部一致,而非少数占位行。

工作流类别环境世界必须承载的深度
通信与协调EchoMail, EchoCalendar, EchoChat共享线程、日程、参与者、权限、历史记录
技术创建与运维EchoML, EchoForge工件、配置、依赖关系、角色、多阶段变更
受规管的记录与交易EchoBank, EchoCare余额或记录、授权、审计历史、有影响的写入
社区、媒体与旅行EchoForum, EchoTunes, EchoStay持久偏好、社交状态、搜索、预订、账户操作

这种累积的状态使得一个行动的后果能够跨越屏幕和用户。EchoStay 中的一次预订会穿越搜索、房源详情、可用性和支付,涉及大约87条路由和23张表,但没有一个确认屏幕;EchoMail 中的线程将意图从草稿传递到投递、回复和标签状态;EchoCare 中的订单会将每次更改写入审计跟踪。正因为如此,这些任务代价高昂,通常需要五到二十个深层操作,并且仅在底层状态发生改变时才完成。

图3:Echo 套件中每个领域的详情。每个领域作为一个自包含、完全交互的克隆版应用发布,拥有自己的后端、种子数据库和功能表面。计数基于实际的数据库状态,而非模拟图。

能力世界隔离单一技能

Capability worlds isolate one skill

并非每个弱点都代表一个缺失的领域;有些是由一个智能体无法可靠操作的特定控件引起的。想象一个智能体预订旅行:它搜索、过滤、打开正确的房源,然后在日期选择器上停滞,无法将“三月的第二周”转化为在不熟悉的日历上的正确点击。再建一个预订站点不会解决这个问题。只有当控件本身以足够多的形式出现时,技能才能被学会,而日期选择器和嵌套过滤+搜索在真实网页上无处不在,以一百种不同的方式呈现,这正是单个深度应用无法提供的多样性。

因此,我们隔离控件并扩大交互,在布局、状态和约束条件下大规模生产它,然后为每个控件生成基于真实数据的任务。日期选择器世界将一种日期控件呈现为10个上下文中的6个核心小部件,并保留10个未见过的全新小部件(从日历热图到滚轮和财政季度选择器);其最困难的任务将转录转化为推理,将“2026年1月最后一个星期四”或“开始日期后10个工作日”解析为唯一一个可通过小部件到达的精确日期。嵌套过滤器世界变化20个小部件系列,并保留9个复合面板系列作为分布外(out-of-distribution)测试,根据过滤结果是否实际满足请求条件来评分每个提交,依据应用自身的逻辑而非外观。

图4:两个技能涵盖的每个小部件系列,分为训练(分布内)和仅评估(保留)两组:嵌套过滤器,20个系列加上9个保留的复合面板;日期选择器,10个上下文中的6种核心类型加上10个保留的小部件。

图5:跨领域的日期选择器和嵌套过滤器主题:嵌套过滤器覆盖六个垂直领域,从房地产到宠物领养;日期选择器覆盖十个上下文,从日程安排到保险。

更深层、更专注的世界改变了什么

What deeper, targeted worlds change

更多的轨迹并不能自动提供更多的训练信号。关键在于深度:一个片段(episode)是否将一个任务引导穿过真实工作流的依赖步骤,而不仅仅是孤立地演练一个操作。两个实验从相反的两端使这个差异具体化:一个在完整领域上深化,另一个则缩小到单一有缺陷的技能。

浅层世界适得其反;深层世界能够迁移

Shallow worlds backfire; deep worlds transfer

浅层世界是廉价选项。它快速搭建起来,看起来很有说服力,但它只演练孤立的、看似正确的点击。在这种世界上训练,模型会学到错误的反射,比如过度操作、循环和重复无效动作,因为在简单的世界中没有任何东西惩罚这些行为。深层世界成本更高,但其轨迹携带了能够迁移到真实站点的依赖结构。

为了隔离这一点,我们选取两个真实的 WebVoyager 领域——Allrecipes 和 Hugging Face——并比较三个检查点:基础模型,以及分别在针对这些领域构建的浅层世界和深层世界轨迹上训练的两个模型。浅层世界提出简短、独立的任务;深层世界提出跨依赖步骤运行的任务,其中早期操作会改变后续可用的状态、选项和验证。两者给模型提供相同的领域暴露,因此只有深度不同,评估使用这些领域的公共 WebVoyager 基准中的任务,在训练世界之外的真实站点上运行。

在 Allrecipes 上,浅层世界使模型性能下降,从80.0%降至75.0%;在 Hugging Face 上,它持平于48.0%。只有深层世界提升了两者,将 Allrecipes 提升至85.0%,将更难的 Hugging Face 分割提升至65.0%。在暴露量相同的情况下,差距在于深度:深层模型循环更少,在37个 Hugging Face 任务中,耗尽步骤预算的任务从15个降至9个。区别两者的不是模型看到了多少,而是它看到的内容是否保留了工作的结构。

图6:两个真实 WebVoyager 领域的深层与浅层世界对比,暴露量相同但任务深度不同。深层提升两者;浅层在 Allrecipes 上低于基础模型,在 Hugging Face 上停滞不前。

单一技能的精准训练

Precision about one skill

日期选择器和嵌套过滤器世界正好训练了我们的评估所标记的控件,并且这两个技能相互强化。日期选择器训练提升了日期选择器评估(分布内从60.0%到82.6%,保留布局从34.0%到54.0%);过滤器训练将保留过滤器从62.8%提升到84.1%。这些收益在从未训练过的形式上依然成立,表明模型学到了规则,而非布局。这些技能相互迁移而非竞争:单独训练其中一个会提升另一个,而同时训练两者在所有分割上都是最好的全能选手。与作为前沿参考的 GPT-5.4 相比,这个组合模型在嵌套过滤器上已经略微领先,在分布内日期选择器上接近大多数差距,仅在保留日期选择器上明显落后。而且这个规则扩展到开放网络,将 Online-Mind2Web 在从未见过的站点上从29.5%提升到34.3%。

图7:针对性训练,针对性提升:单独训练日期选择器或嵌套过滤器都会提升两个控件,包括从未训练过的保留小部件和组合,同时训练两者在所有分割上都是最好的全能选手。值越高越好。

从合成世界到真实网页

From synthetic worlds to the live web

本节剩余部分涉及三个模型。基础模型(Base)是 Qwen3.5-9B,仅给予少量合成轨迹,足以将通用模型对齐到浏览器操作空间。我们的模型(Our model)是同一个90亿参数网络,在完整合成语料库上训练。GPT-5.4 是一个大得多的前沿模型,作为参考上限。

这种技能在开放网络上还能存活吗?我们评估我们的模型(未经修改)在 WebVoyager 和 Online-Mind2Web 上的表现,这两个基准它从未训练过。它们与我们构建的世界几乎没有重叠:两者都以开放的公共站点和以读取为主的浏览为主,而我们的世界则训练那些需要登录、写入密集型的工作流。大幅跳跃从来不是重点;方向才是。冻结的模型在两个基准上都超过了基础模型:WebVoyager 从66.5%到71.5%,Online-Mind2Web 从40.5%到43.4%(未使用 BrowserBase 时分别为50.9%到55.6%和29.5%到37.2%),通过 BrowserBase 报告是因为托管浏览器消除了数据中心机器人拦截和速率限制,否则这些会压低每个智能体的分数。由于训练数据中没有包含任何真实网页数据,这是迁移,而非记忆。

图8:合成训练迁移到真实网页。完整语料库模型在两个从未训练过的基准上均超过基础模型;分数通过 BrowserBase 运行以消除数据中心机器人拦截。

适度的真实网页增益是一个覆盖效应,而非天花板:针对某个真实领域时,增益会增长。EchoForge(我们的代码托管世界)是与 GitHub(WebVoyager 测试的真实站点之一)同类的应用。将 EchoForge 加入训练组合后,真实 GitHub 分数从58.5%提升至63.4%,整体真实网页分数也同时上升(WebVoyager 从50.9%到52.9%,Online-Mind2Web 从29.5%到31.1%)。平均值只是反映了我们构建的大部分内容位于这些基准从未触及的领域。

图9:缩小与前沿模型的差距,按环境展示。绿色条表示从基础模型到我们模型的增益;淡色剩余部分表示与 GPT-5.4 之间仍然存在的距离。我们的模型在 EchoBank 和两个嵌套过滤器上超越了 GPT-5.4,并在其他方面缩小了大部分差距;每个模型的具体分数标注在右侧。

我们构建的领域——其中大多数是封闭且需要登录的——讲述了相反的故事。在所有十四个领域中,模型几乎将基础分数翻倍,从36.5%到67.1%,并且在基础模型最薄弱的领域,它提升了三到九倍:EchoCalendar、EchoML、EchoChat、EchoCare、EchoForge 和 EchoForum 都从个位数或低两位数提升到四十到六十个百分点。这使得一个90亿参数的模型在平均分上与 GPT-5.4 的差距缩小到14个百分点以内(67.1%对80.7%)。在 EchoMail、EchoBank 以及两个嵌套过滤器上,它甚至匹敌或击败了远大的前沿模型,仅在分布内日期选择器上落后几分。让一个9B模型如此接近前沿的不是规模,而是深度、针对性强且可检查的训练数据——这正是工厂旨在生产的内容。

扩展带来了什么,它带不来什么

What scaling buys, and what it doesn’t

我们分别扩展了两个维度:在固定一组环境中生成更多轨迹(从每个环境中抽取相同数量),以及增加更多不同的环境。它们的行为不同。在相同世界上增加更多轨迹持续提升领域内平均分,尽管增益不断缩小,而向真实网页的迁移则完全持平:从6,400条轨迹到20,000条轨迹,WebVoyager 保持在54.8%到55.6%,Online-Mind2Web 反而从40.1%下降到37.2%。由于每个点都均等地从各个世界采样,这不是偶然:每个环境只蕴含有限的可迁移技能,一旦模型将其提取出来,更多的 rollout 主要是在打磨它已经会做的事情。

扩展环境数量则产生相反的结果。随着广度增加,平均分持续上升,而 WebVoyager 仅在拥有完整集合时才达到最佳。对于泛化而言,杠杆是多样性,而非数量。模型通过在许多不同类型的工作上训练,而非重复观看一种类型很多次,从而能够访问它从未见过的站点。

即便如此,规模本身在任何一个维度上都不是杠杆。在浅层世界上花费大量轨迹预算,或者针对错误答案进行评分,只会提高合成分数,而对真实网页毫无作用。真正起作用的是每个轨迹内部的东西:保留真实工作流的深度、针对智能体失败控件的精准训练,以及基于数据库的评分使信号保持诚实。

图10:两个扩展维度,未使用 BrowserBase 评分。左图:在固定一组世界上增加更多轨迹,从每个世界中抽取相同数量,x 轴按实际轨迹数量间隔。右图:增加更多环境,在总轨迹数固定(6,400)的情况下。两个图表均显示领域内平均分(实线)和真实网页迁移(虚线)。