大模型虽已具备强大的感知与推理能力,但在面对复杂的计算机图形界面操作(Computer Use)任务时,仍受限于高质量数据稀缺与环境交互反馈缺失的双重挑战。美团技术团队推出了 EvoCUA 模型并在 Github、Huggingface 开源,通过构建可验证数据合成引擎与十万级并发的交互沙盒,将训练范式从传统的“静态轨迹模仿”转变为高效的“经验进化学习”。该方案在权威评测基准 OSWorld 上以 56.7% 的成功率刷新了开源 SOTA(2026 年 1 月 6 日榜单),验证了基于经验的进化范式在 GUI 智能体领域的有效性。

01 背景与挑战

随着大模型的发展,AI 已经具备了强大的感知与推理能力。但在真实的使用场景中,我们希望 Agent 不仅能回答问题,更能解决问题——比如自动处理 Excel 表格、在浏览器中完成复杂的资料检索或跨应用协同。这种对解决问题能力的追求,推动了基础模型从 Chat(对话者)到 Agent(行动者) 的转变。

在这一进程中,Computer Use Agent(CUA,计算机操作智能体) 是一个关键里程碑。CUA 打破了 API 的限制,构建了一种原生的交互方式——像人类一样,通过高分辨率视觉感知屏幕,并利用鼠标键盘完成跨应用的长链路任务,有可能成为下一代操作系统的核心交互入口。

然而,要训练出一个通用的 CUA,我们面临着严峻的 数据扩展(Data Scaling)瓶颈。当前主流的训练范式依赖于对专家轨迹的模仿学习,但在将其推向工业级可用时,这种方式面临着三大挑战:

  • 数据合成质量低: 真实的高质量轨迹数据极度稀缺且昂贵,而试图用大模型直接生成数据往往会陷入“幻觉”。模型生成的指令或计划经常看似合理,但在真实的 UI 状态下根本不可执行。
  • 缺乏交互反馈: 静态数据模仿学习只能告诉模型“什么是对的”,却无法告诉它“如果点偏了会发生什么”。缺乏在大规模环境交互中产生的反馈,模型就无法捕捉操作与环境变化之间复杂的因果动态,难以适应真实环境中渲染差异、网络延迟等随机扰动。
  • 长链路探索效率低:计算机操作往往涉及数十步甚至上百步的连续决策,无约束的探索空间巨大且低效。仅靠简单的模仿学习,模型很难学会如何从中间的错误状态中反思并纠错。需要一种更高效和可扩展的范式,让模型专注于从海量自身成功和失败的经验里学习和进化。

面对上述挑战,我们正式推出了 EvoCUA, 一种原生的计算机操作智能体模型。EvoCUA 致力于构建一种进化范式,让模型在大规模沙盒环境中,像生物进化一样,通过不断的试错,反思和修正,积累海量成功和失败经验,进而不断提升自身能力

通过这一范式,EvoCUA-32B 在 Computer Use 权威的在线评测基准 OSWorld 上取得了 56.7% 的成功率,刷新了开源模型的 SOTA 记录,以更少的参数量和推理步数超过此前的开源 SOTA OpenCUA-72B (45.0%),以及领先的闭源模型 UI-TARS-2 (53.1%)。此外,实验证实该方案的通用性,在不同基座(如 Qwen3-VL、OpenCUA)及多个尺寸(8B 至 72B)的模型上均能显著提升 Computer Use 能力 。

模型上网查询如何配置 rbenv 开发环境并帮用户安装的示例:

02 核心技术架构

EvoCUA 的核心在于构建“交互-反馈-修正”的闭环。我们针对数据、环境、算法三个维度构建了自维持的进化架构:可验证数据合成引擎 负责生产高质量任务,高并发交互基建 支持海量轨迹合成,基于经验的迭代算法 提供模型进化的关键路径。

2.1 可验证数据合成引擎

EvoCUA 数据层的核心任务是构建一个自动化流水线,能够合成覆盖各个垂直领域的高质量任务指令。我们要求合成数据要满足两个指标:

  • 场景完备性:覆盖从文档办公、Web 检索到系统管理的全场景操作。
  • 执行确定性:每一条数据必须在真实环境中可执行、可验证,杜绝逻辑幻觉。

在实现这一目标时,我们发现业界通用的“大模型生成 + Reward Model (RM) 筛选”范式在 Computer Use 场景下存在本质缺陷:

  • 语义与执行的割裂:传统的 RM 基于语义匹配打分,只能判断生成的指令在文本层面是否合理,无法验证其在物理层面能否执行。
  • Reward Hacking:模型倾向于生成逻辑通顺但包含“幻觉”的指令(例如点击不存在的 UI 元素)。这些不可执行的任务会引入大量训练噪音,导致模型在真实操作中产生严重的错误累积。

为了解决数据可信度问题,我们提出了 “生成即验证” 范式,在生成自然语言指令的同时,同步生成可执行的验证代码,并以沙盒中的实际运行结果作为判断数据是否有效的唯一标准。

整体数据合成框架如下:

2.1.1 结构化任务空间构建

在构建任务空间时,我们并未盲目堆砌数据,而是基于对 GUI 操作本质的两个核心洞见:

  • 原子能力的可迁移性与泛化性:GUI 操作虽然千变万化,但其底层的“原子技能”是跨域复用的。例如,“数据筛选”这一能力,无论是在 Excel、CRM 系统还是网页后台中,其逻辑内核是同构的。
  • 复杂任务的组合本质:真实世界中的复杂任务,本质上是由有限的原子能力通过特定逻辑编排而成的序列。掌握了原子能力的组合方式,就等于掌握了生成无限复杂任务的“语法”。

基于这两点思考,我们采用分层构建策略来初始化任务环境。

  • 原子能力拆解:我们将复杂的桌面操作任务解构为标准的原子能力单元。基于分层领域分类体系,例如将“Excel 财务分析”任务拆解为“公式计算”、“多列排序”、“透视表生成”等子技能。
  • 资源文件合成:为了模拟真实环境的复杂性,我们在环境初始化阶段实施了两种资源生成策略。
    • 参数化合成:针对结构化数据(如销售报表),我们利用代码生成器批量生产 Word/Excel 文档,随机化其中的姓名、价格、日期等参数。
    • 非参数化合成:针对非结构化数据,我们直接注入无版权问题的互联网上的公开资源(如真实的图片、音频、复杂的 PPT 幻灯片),强迫 Agent 处理真实世界中不可预知的视觉噪声和布局多样性。

2.1.2 指令和验证器合成

我们构建了基于 ReAct 的 Agentic 数据合成工作流。当给定一个场景元组(角色、能力、资源)后,作为任务架构师的基础 VLM 会启动生成:

  • 指令:生成符合用户意图的自然语言指令,确保任务目标清晰且在当前资源环境下可达成。
  • 验证器:同步生成对应的可执行验证 Python 验证代码以及标准答案(以文件/配置项等形式存在)。这段代码定义了任务成功的精确条件(例如:检查某个单元格的值是否为 X,或某个文件是否存在)。

不仅如此,我们还引入了沙盒执行反馈机制。生成的验证代码会立即在真实沙盒中运行。如果代码报错(如 API 错误、语法错误),错误日志会被回传给任务架构师进行自我修正。这个过程会迭代多轮,直到验证器本身能够成功运行并通过质量检查。

2.1.3 质量保障与去污

为了确保入库数据的纯净度,我们在数据落盘前设置了严格的过滤机制。

  • 一致性过滤:我们部署了一个测试 Agent 模型对合成任务进行试跑。通过比对“沙盒实际执行结果”与“验证器判定结果”,我们能精准识别出假阳性(False Positives)数据——即任务其实没做对,但验证器误判为成功的案例。只有那些经得起沙盒检验的数据才会被保留。
  • 三重去污染:用于合成数据的模型本身见过大量的预训练语料包含大量世界知识,大规模构造合成数据时,有混入和 Benchmark 有一定相关性的数据的风险。为了防止测试集泄露,我们实施了三重去污策略:
    • 语义去重:使用 LLM 过滤掉与 基准测试集在语义上高度相似的指令。
    • 配置去重:剔除与测试集具有相同初始化设置(如完全一致的文件名或窗口布局)的任务。
    • 验证器去重:检查生成的验证逻辑和 Ground Truth 文件,确保没有直接照搬测试脚本。

通过这套数据合成框架,我们成功将可验证的训练数据规模扩展到了数万量级,突破了人工标注的瓶颈。

2.2 支撑十万级沙盒并发的基础设施

EvoCUA 的进化范式要求 Agent 进行大规模的探索来合成经验轨迹。我们面临的挑战是工业级的:如何在一个集群中稳定调度 100,000+ 个每日活跃沙盒,处理百万级的分钟交互请求,同时保证每个环境的严格隔离与毫秒级响应。为此,我们构建了一套统一的环境沙盒平台,在调度吞吐与环境保真度两个维度做了大量优化。

2.2.1 微服务化编排

为了消除大规模强化学习中的 I/O 瓶颈,我们将传统的单体模拟器重构为基于微服务的异步架构。

异步 I/O 网关: 面对百万级交互请求,传统的阻塞式架构已无法支撑。我们采用了基于 Reactor 模式的异步非阻塞 I/O 设计网关架构,实现了 数百万 QPM(Queries Per Minute)的路由吞吐能力,并且将控制面(生命周期管理)与数据面(环境交互流)彻底解耦,确保长周期的环境执行(如打开一个重型 App)不会阻塞关键的路由逻辑,极大地提升了系统的吞吐上限。

沙盒批量急速启停: 强化学习的采样阶段具有极强的“脉冲”特性(短时间内需求激增)。我们的分布式调度器通过分片与资源池化技术,实现了极速冷启动能力。通过该优化,系统能够在 1 分钟内拉起 10,000+ 个沙盒实例。这种“即需即供”的弹性能力,确保了环境供给严格匹配训练需求,最小化了策略更新与经验采集之间的延时,保证了训练的高效流转。

2.2.2 保真环境构建

在解决了“量”的问题后,更关键的是“质”。Computer Use 任务对环境的确定性要求极高,微小的渲染差异或键位冲突都会导致模型训练非最优。

  • 混合虚拟化架构:为了兼顾容器编排的灵活性与虚拟机的强隔离性,我们采用了 Docker 容器嵌套 QEMU-KVM 的混合架构。

    • 外层:使用 Docker 对接 K8s 调度体系,复用美团成熟的容器化运维能力。
    • 内层:利用 KVM 硬件加速运行 QEMU 虚拟机。
    • 价值:这种设计既提供了内核级的安全隔离(防止 Agent 执行恶意代码穿透宿主机),又保证了接近原生的 GUI 渲染与 I/O 性能。
  • 操作系统级校准:标准 OS 镜像在自动化操作中存在诸多“隐形坑”,导致仿真环境与真实世界存在 Gap。为此,我们深度定制了 Ubuntu 22.04 镜像,实施了内核与用户态的双重补丁:

    • 输入确定性: 标准虚拟化常存在键位映射冲突(例如 US 键盘布局下 Shift + < 状态丢失)。我们深入内核层修改了 xkb 的符号定义,确保 Agent 的符号意图与实际输入严格一致。
    • 渲染一致性: 视觉 Agent 对字体布局极其敏感。我们在系统层注入了全套专有字体库并强制刷新 fc-cache,消除了文档在仿真环境与真实环境下的视觉渲染差异,防止模型因环境噪音而产生错误的视觉关联。

2.3 基于经验的学习范式

有了可验证的数据和高吞吐的环境,我们的核心目标是如何让模型像人类一样学习:要在大量的自我实践中巩固成功经验,并从失败中吸取教训。然而,单纯依赖静态数据的监督微调存在两个本质缺陷:

  • 分布偏移:训练数据的分布往往是“完美路径”,而推理时的环境充满了随机性。模型一旦偏离了专家轨迹,就不知道如何回到正轨。
  • 负反馈缺失:SFT 只能告诉模型“怎么做是对的”,却从未告诉它“怎么做是错的”以及“错在哪里”。

EvoCUA 提出了一种渐进式的进化范式,将训练过程解耦为三个阶段:冷启动(注入先验思维模式)、拒绝采样微调(动态算力分配,巩固成功经验)、强化学习(聚焦关键出错点,从失败经验中学习)。

2.3.1 Cold Start: 冷启动

在让 Agent 进入大规模环境进行自由探索之前,给模型注入一些思维 pattern,能够提高模型的有效探索能力。为了摸清当前 Agent 能力的边界,我们深入分析了 Qwen3-VL-Thinking、OpenCUA-72B 等主流模型推理轨迹。我们发现,各家模型均有一定缺陷。例如:OpenCUA-72B 很容易提前误判成功,而 Qwen3-VL 模型在动作空间上存在一些明显缺失(如不支持 Shift+Click)。基于此,EvoCUA 在冷启动阶段的核心任务,是定义一套完备的动作空间与严谨的思维范式。

  • 完备的动作空间:处理复杂操作,如 Excel 中的 Shift + Click。如果是原子的 press 操作,无法表达这种持续按压的状态。为此,我们将按键拆分为 key_downkey_up
  • 结构化思维链:为了避免“幻觉”和“伪成功”,我们给模型注入了一些像人类一样的优秀思维范式:
    • 目标澄清:在初始时刻,强制模型复述并拆解用户意图,消除指令歧义。
    • 观测一致性:简短且精准,严格对齐当前的视觉元素,防止“看图说话”时的幻觉。
    • 自我验证:在发出 Terminate 信号前,模型必须执行显式的检查步骤。例如在发完邮件后,进入“已发送”文件夹确认,而非盲目自信。
    • 反思与纠错:针对采集到的失败轨迹,我们识别出状态偏离的关键分岔点,从错误发生后的那一步恢复环境状态,通过 Prompt 引导和高温采样让模型自我修正。
    • 终止判断Terminate 动作必须强依赖于前序的 CoT 论证。如果思维链中没有明确的完成证据,模型不得输出结束信号,以此抑制“伪成功”。
  • 后见之明数据合成:在训练数据构造上,我们不直接使用模型的原始 CoT。对于成功轨迹,我们采用“后见之明”策略——基于正确的 Action 序列反向重写逻辑严密的思维链;同时混入不可完成任务,教会模型识别环境边界,学会说“No”。

经过冷启动训练后,模型展现出了明显的行为范式转变。它不仅掌握了终端和复杂快捷键的操作,更重要的是学会了“慢思考 “——在关键节点进行校验和反思。这为后续的大规模进化提供了坚实的原子能力基础。

2.3.2 RFT:拒绝采样微调

冷启动赋予了模型基础的原子能力,接下来的挑战是如何在万级 Query 上进行 Scaling。我们面临的核心权衡是:如何在有限的算力预算下,最大化高质量经验的产出效率与信噪比?如果对所有任务平均用力,会导致简单任务算力浪费,而困难任务探索不足。为此,EvoCUA 设计了一套“阶梯式动态算力分配 + 步级别去噪”的拒绝采样微调策略。

阶梯式动态算力分配:为了最大化探索的 ROI,我们将 Query 池划分为不同难度层级,并实施阶梯式的 Rollout 策略。我们将采样次数 K 划分为多个档位 {3, 8, 16, 32, 64},并为每个档位设定了成功率阈值(如 100%, 75%, 50%…):

  • 自适应爬坡:模型从低 K 档位开始尝试。如果在当前档位的成功率达到了预设阈值(说明模型已掌握),则立即停止采样;反之,若成功率较低,则自动升级到下一档位,投入更饱和的算力进行攻坚。
  • 边界突破:这种机制确保了算力被集中投放到模型处于能力边界的困难任务上,而非在已熟练的任务上重复“造轮子”。

步级去噪:模型生成的原始轨迹即使成功了,也往往包含大量噪声(如无效的鼠标滑动)。直接学习这些数据会污染模型。我们实施了精细化的清洗策略:

  • 冗余和错误步骤过滤:利用 Judge Model 分析成功轨迹,识别并掉对最终结果无贡献的冗余步骤,显著提升了数据的信噪比。
  • Infeasible 任务特判:针对不可完成的任务,成功的轨迹往往伴随着大量的无效尝试后才终止。对于这类数据,我们仅保留最后一步(即正确输出 Terminate=Failure 及对应的推理),将中间所有的试错步骤全部剔除。

通过 RFT,我们将大规模的合成经验内化为模型参数,显著提升了模型在常规路径的执行成功率。

2.3.3 RL:强化学习

RFT 夯实了模型在常规路径上的执行成功率,但面对长链路任务中的环境扰动(如弹窗、网络延迟、布局微变),模型依然脆弱。相比于成功轨迹中模型已有的知识,失败轨迹中蕴含着广阔的、非线性的树状结构信息,模型往往会在一些关键步骤出错,正是模型能力边界的直接体现。

传统的 RL 算法通常以整条轨迹为粒度,存在严重的信用分配难题——几十步的操作中可能只有一步是错的,全盘否定会导致有效经验被浪费。

为了解决这一问题,我们提出了一种面向 Computer Use 的高效 DPO 算法,将优化粒度从“轨迹级”下钻到“关键分岔点” , 重点解决模型在出错边缘的能力边界感知问题。

关键分岔点挖掘:在长达数十步甚至上百步的 GUI 操作中,任务失败往往具有滞后性。模型可能在第 5 步做出了一个微小的错误决策(如选错了筛选条件),但直到第 30 步才因为找不到目标文件而报错。为了精准定位错误,EvoCUA 提出了一种基于参考导向的归因机制——关键分岔点挖掘。 我们利用同一 Query 下的“成功轨迹”与“失败轨迹”进行对齐分析。系统会自动定位到状态一致但动作开始偏离的那一帧,记为关键分岔点。

双范式偏好对构建:一旦通过因果诊断锁定了关键错误,我们并未止步于简单的行为克隆,而是针对出错瞬间”和“出错之后”两个不同的时空切片 , 构造了两种截然不同的 DPO 偏好范式,从而在一次训练中同时兼顾了准确性与鲁棒性。

  • 范式一:动作修正,此范式聚焦于“即时纠错”,旨在教模型在关键分岔点(t 时刻)必须“走正道”。我们将导致后续失败的原始错误动作作为负样本;对于正样本,我们优先尝试通过 VLM 语义匹配,将成功参考轨迹中的“正确思考与动作”迁移过来。如果参考轨迹无法对齐,则调用 VLMs 模型基于当前视觉状态合成全新的正确动作。
  • 范式二:反思与恢复,此范式聚焦于“错误恢复”,旨在提升模型在错误发生后(t+1 时刻)的反思修正能力。在这一时刻,环境状态通常已经因为前一步的错误而发生了偏离(如出现了预料之外的弹窗)。我们把模型无视环境变化、机械执行原计划的“盲目继续”行为标记为负样本;同时,利用 Prompt 工程引导模型生成一条“反思链”作为正样本——即教导模型在发现状态异常时,优先选择停下来,观察屏幕异常并重新规划,而不是一条道走到黑。

通过这两个范式的结合,模型不仅教会了 Agent 如何做对,更教会了它在做错或环境突变时如何反思修正。随着能力的不断提升,上述 RFT 和 DPO 可以进行多轮迭代训练。

除了 DPO,我们在实践中还探索了 online RL,通过主动的环境交互,模型表现出了持续的奖励增长趋势,会在下一个版本的模型中更新。

总而言之,我们通过“双重机制”将海量的合成经验高效内化为模型参数:一方面利用 RFT 来夯实基础的执行范式,确保模型在标准任务上的发挥稳定;另一方面利用 RL 在复杂的长尾场景中主动纠错,显著提升模型在能力边界上的鲁棒性与泛化力。

03 实验评估

为了验证 EvoCUA 范式的有效性,我们在权威在线榜单 OSWorld 上进行评测。实验的核心结论如下:EvoCUA-32B 以 56.7% 的成功率刷新了开源模型 SOTA,并在同等推理预算(max step = 50)下逼近了闭源模型 Claude-4.5-Sonnet (58.1%) 的水平;同时验证了该进化范式在不同规模模型上的普适性。

3.1 OSWorld 评测

  • 开源 SOTA:我们的主力模型 EvoCUA-32B(基于 Qwen3-VL-32B-Thinking 后训练)达到了 56.7% 的成功率。这一成绩大幅领先此前的开源 SOTA(OpenCUA-72B, 45.0%)。值得注意的是,EvoCUA-32B 超越了闭源强基线 UI-TARS-2-2509 (53.1%)。在严格限制 50 步 推理预算的同等条件下,我们与行业顶尖的 Claude-4.5-Sonnet (58.1%) 差距缩小至仅 1.4%。
  • 小参数大潜力:EvoCUA-8B 同样表现惊艳,以 46.1% 的成功率击败了 OpenCUA-72B。与同样基于 Qwen3-VL-8B 训练的 Step-GUI-8B (40.2%) 相比,EvoCUA-8B 取得了 +5.9% 的显著优势。

3.2 消融实验

为了探究 EvoCUA 性能提升的来源,我们进行了逐层拆解的消融实验。

  • 统一动作空间 (+4.84%):通过完善动作空间带来的提升。
  • 冷启动(+2.62%):注入高质量的行为先验,确立了思维与行动的对齐。
  • RFT 拒绝采样(+3.13%):通过动态算力巩固成功经验,在不损失 pass@k 能力基础上,提升模型的 pass@1 能力。
  • Offline DPO(+3.21%):针对关键分岔点的纠错训练,显著提升了模型鲁棒性。
  • 迭代训练(+1.90%):再进行一轮迭代训练,性能持续增长。

3.3 Scaling 分析

我们进一步验证了 EvoCUA 的 Scaling Law。

  • Max Step:随着推理时步数的增加,我们观察到模型的性能在不断提升。但由于我们数据中超过 50 步的样本较少,因此大于 50 步的边际收益收窄。
  • Pass@k:随着采样次数 k 的增加,EvoCUA 始终保持对初始化模型的显著优势。这表明优化后的 Policy 具有更高的天花板。
  • 数据规模:在 RFT 阶段,我们将数据量从 20k 扩展到 1M,观察到了持续的性能爬坡。

3.4 轨迹可视化分析

我们随机抽样一条合成指令任务,对训练后的模型采样轨迹进行可视化。以一个电子表格任务为例:“找出每行的最大值并填入 G 列”,以下是 EvoCUA-32B 在四个关键时刻的思考与执行过程:

Step 1:目标澄清,智能体显式复述并拆解了用户指令。

Step2:智能体使用 excel 公式原子能力 Max 操作。

Step 9:有状态鼠标交互,专业软件操作常涉及“按住并点击”等组合动作。智能体执行“Shift+点击”操作以选中 G3 到 G11 的数据范围。

Step 15:审慎终止判断,智能体没有盲目停止,而是先生成视觉证据:“我看到 Max 列已计算完毕…”。只有在视觉核验结果符合初始指令后,它才发出 terminate 信号,确保任务完成。

04 总结展望

EvoCUA,一个基于经验进化范式的原生 Computer Use Agent。通过可验证的合成引擎、可扩展的交互基建和可进化的经验学习算法,我们探索出一条提升 Computer Use 能力的通用方法。在 OSWorld 基准测试中,EvoCUA 以 56.7% 的成功率刷新了开源模型的 SOTA,证明了这条路径的有效性。在超过 100 万卡时的上千组实验中,我们总结了四条关键的洞察,希望能为社区提供参考:

  • 高信噪比数据是关键: 成功轨迹是低噪声但低信息量的,失败轨迹是高噪声但高信息量的。如何处理好数据,保证较高的信噪比是模型能力持续提升的关键。
  • 先验 Pattern 重于数据量:冷启动阶段,Pattern 的多样性远比数据量重要。一个轻量级但覆盖全原子能力的冷启动,比大量低质量数据的 SFT 更能为后续的 RL 打好基础。
  • On-Policy 的重要性:在长链路任务优化中,要严格使用 On-Policy 数据。一旦过度使用 Off-Policy 数据,会导致优化方向偏离原始模型主分量,且较难恢复。
  • 可视化驱动的迭代:数据和算法之外,我们开发了大量用于轨迹可视化和 Debug 的分析工具,一套全流程可视化诊断工具对于数据质量校验、轨迹对比分析和问题发现至关重要。

尽管取得了阶段性突破,我们必须承认,当前开源模型与顶尖闭源系统(及人类水平)之间仍存在显著差距。这一差距揭示了单纯依赖离线合成轨迹的性能天花板。我们认为,打破这一瓶颈的关键在于在线强化学习。我们初步的实验信号显示,通过主动的环境交互,模型表现出了持续的奖励增长趋势。未来的工作将聚焦于系统性地拓展这一在线进化边界,最终实现完全自主的计算机操作能力。

目前,EvoCUA 现已全面开源,欢迎访问项目主页获取更多信息: