想让 agent 学会用电脑,最简单直接的办法是让它在电脑环境中进行交互、训练,可是一方面真电脑环境成本高、很难大规模铺开,而且可能会引入安全风险,比如 OpenAI 最近披露了一起 agent 在线环境中学习却意外地攻击了 huggingface 服务器的事件。
最近,前沿实验室已经展现了 RL 对于 agent 的性能提升有巨大的帮助。agent 要在交互里学,需要和环境进行交互。拿真实系统交互并不现实:环境没法大批量复制,状态也很难重置,agent 一旦点错,删掉的文件、发出去的邮件都是真的,还可能带来安全隐患。
今年 2 月,研究团队发布了 Agent World Model(AWM,ICML 2026)。区别于 world model 往往使用神经网络模拟环境、预测下一个 state(作为环境),AWM 用代码和数据库合成可执行、可交互的环境,一共生成了 1000 个,覆盖各种日常场景,专门用来给多轮调用工具的 agent 做强化学习。只在这些合成环境里训练,模型在三个 OOD benchmarks 上都有不错的分布外泛化。
WildAWM 是这个系列的新工作,这次面向通用的计算机使用 agent(computer-use agent,CUA),不再一个个地合成工具环境,而是直接合成一整台个人电脑。
真正的 computer-use agent 应该是 agent 可以访问这台电脑的任何界面,而不局限于一种界面,agent 能够正常的使用 CLI 就像 coding model 一样用代码高效达成目标,也能够正常的使用 GUI,操纵鼠标、键盘访问图形界面网页,也可以接入 MCP service 发现便捷的软件 services(比如 email)。
网站、应用、MCP 服务和本地文件都在一台机器上,状态也连在一起。已有的合成方法大多做的是每个应用各自是一个孤立的环境,比如专门合成 terminal 环境的,比如专门合成网页环境的等等。
WildAWM 的每个环境都是某一个人的电脑。合成从一个虚构人物开始:先定下这个人的职业、联系人、常去的网站和手头在忙的几件事,再把这些事排成一天一天的计划。接着,使用一个 coding agent(GLM-5.2 加 OpenCode)按天把计划落到环境里,往数据库里写记录,往文件夹里放文件,每一天都接着前一天的状态往下做,自然数据也会一天天合成得慢慢的变多。注意这些网页,应用,数据全部是合成的,全部在本地,不需要联网。
为了让这样一个世界前后一致,每一天的状态都要独立重放两次,两次结果完全一样,所有服务和网站也都正常,才会留下来。还会启动另一个 agent 核对当天的数据和计划对不对得上。整一个完整的过程合成了 36 个人物、640 个世界状态。到最后一天,一个世界里平均有 17 万多条数据库记录和 50 个左右的本地文件,复杂程度超过同期的合成环境类工作。
比如一道题:Jordan 要在 2 月 21 日跑半马,想在比赛前再确认一下跑表买哪块。训练笔记里记着几块备选的 GPS 手表,之前已经 “定下” 了一块,但 Jordan 想按比赛要用的标准,也就是 GPS 精度、屏幕看不看得清和预算,重新排一遍。agent 得先写个 python 脚本,从笔记里把候选表找出来排好序,存成文件。接着登录 Amazon,这时搜出来的手表可能不止一款,题目没给型号,只描述了外观(黑色圆形表壳,深色表带内侧有浅灰纹路),得看商品图来挑。加进购物车以后,还要往本地日志里补一条带日期的记录,写明选了哪块表、多少钱,最后在聊天应用里告诉好朋友 Naomi 选了哪一块。完成这个任务需要横跨多种 agent 界面,充分使用合成的环境。
这些任务平均包含 4.2 个子任务,要切换 3.1 次接口,74.5% 的任务做到中途还要回到之前用过的接口,有的需要超过 100 多步,是 long-horizon agent 任务。
那么,怎么样才可以合成这样的高质量 task 呢?尤其是在不依赖任何闭源前沿模型的情况下,如何解决:
任务有效性 (Task Solvability),确保合成的任务是能够顺利被完成的;
任务难度(Task Difficulty),确保合成的任务是有足够的难度的,毕竟市面上大多数的 benchmarks 都已经饱和,我们一定要要合成足够难度的任务,比如难倒 GPT-6 Astra 的任务
任务验证器的可靠性(Verifier Reliability),合成的 task 都有一个验证器,用于自动判定 agent 是否完成了任务,提供训练的奖励信号,必须确保足够准确和可靠,才能给出有效的 agent RL 强化学习信号
图 3:WildAWM 的整体流程。左边合成世界,中间详细的介绍了合成任务的各个阶段,最右边用合成好的环境、任务和验证器做强化学习
每次跑完由三种验证方式来评价:生成器写的验证脚本(verifier)、LLM judge,还有一个拥有最高权限的,能自己进环境查看前后状态的 coding agent judge。它们依次增加了 test time 的时间和计算,理应会慢慢的准确。但是在 RL 训练当中,我们应该一个高效的验证器,也就是通常是一个脚本。所以我们的目的是将验证脚本 verifier 的准确度对齐 Agent Judge。
初始未完成:agent 什么都不做的时候,verifier 必须判失败,免得出现一开始就 “已完成” 的题。
反事实探针:大模型容易顺着别人的话说。研究者故意把相反的结论告诉 agent judge,让它重新查,它要是改了判定结果,那说明这次判定就不靠谱,要重新修改
经过这些关卡,最后,2,551 个任务草稿里留下了 341 道合格的题目。
先看能不能做(Task Solvability)。研究者用 24 种模型和框架的组合(前面 3 个开源模型加上闭源较强的模型 Opus-4.8,各配 6 种框架)来做这批题,每道题都至少被一种组合做出来,就算只用合成时那 3 个较弱的开源模型,也能做出 95% 以上。
再看难不难 (Task Difficulty)。合成阶段不给任何提示时,agent 的平均成功率只有 21.3%,341 道题里有 273 道被标成了难题。在验证集上,GPT-6 Astra 第一次就做对的比例约为 Pass@1 60%,让它做 8 次,Pass@8 仍有 27.3% 的题一次都没做出来。WildAWM 完全使用开源模型,却能合成出让 GPT-6 Astra 都做不对的题(注意每到题都验证过是可以被解决的)。
?研究者每次去掉一道进行消融实验,重新合成 SFT 数据来训练 Qwen3.5-4B,平均分都会下降,降幅在 2.60 到 9.30 分之间。影响最大的是评判一致和初始未完成。
相邻两次工具调用之间切换接口的比例,从 18.4% 升到了 25.5%,接近 GLM-5.2。这说明 agent 对于不同的电脑接口使用更加熟练,对于不同的需求,可以切换到最合适的接口进行完成任务
WildAWM 的合成流水线 个环境和任务、两个训练好的 Qwen 模型,还有整理好的 Harbor 格式的数据集,都已经全部开源。从生成环境、出题到判分,整一个完整的过程只用开源模型,不依赖任何闭源的前沿模型,可以直接用,也能够直接进行复现。
研究团队认为,这为开源模型指出了一条路:自己合成可以逐步扩大的环境和高质量的任务,在里面自己学习,进行迭代重复,最终成为强大的通用计算机使用 computer-use agent,整一个完整的过程不依赖任何闭源模型,避免间接蒸馏。这为开源模型奠定了 Recursive Self-Improvement (RSI)的基础。