2026年,你手机里可能已经有一个能帮你订机票、改购物车、发消息的AI助手。但你有没有想过一个问题:为什么操作手机的AI和操作电脑的AI,往往是两个完全不同的模型?
答案其实挺尴尬的。手机、电脑、网页这三个平台,长得不一样、点击逻辑不一样、连返回按钮的位置都不一样。业内的做法一直是各做各的:专门做手机导航的模型、专门做桌面控制的模型、专门做网页浏览的模型,互相之间谁也不认识谁。这就好比一个连锁餐厅在每个城市都单独雇一套厨师班子,虽然稳妥,但成本高得离谱,尤其是当你想把这套系统塞进一部手机、要求它体积小、跑得快的时候,维护多个专家模型几乎是不可能完成的任务。
苹果这次拿出的答案叫MintAct,一个只用2B、4B、8B三种参数规模(对比现在动辄几百亿参数的大模型,这已经是非常轻量级的尺寸)就能同时干好几件事的视觉智能体。它不仅要认得屏幕上的按钮在哪儿,还要能在手机、电脑、网页三种环境里完成多步骤操作,甚至在必要时调用外部工具去完成屏幕操作做不到的事情。而且这一切,是靠一套模型权重完成的,不是三套模型拼凑出来的假统一。
这篇论文最打动我的地方,不是它做出了一个新模型,而是它把"能不能统一"这个问题拆解得极其务实:不是模型结构的问题,是数据、环境和训练方式的问题。
统一有多难:不是模型不够聪明,是环境根本不兼容
在动手做统一模型之前,MintAct团队先老老实实地把"为什么统一很难"这件事说清楚了。
视觉语言模型(VLM):一种既能看懂图片又能理解文字指令的AI模型,是这类操作助手的技术底座。
手机、桌面、网页三个领域的动作空间完全不同。手机上有"长按",桌面上有"右键点击",网页上有"前进/后退",这些动作彼此并不通用。如果简单粗暴地把所有动作塞进一个统一的动作集合里,模型很容易在不同领域之间"串戏",比如在网页上尝试长按这种网页根本不支持的操作,反而让每个领域的表现都变差。
更麻烦的是训练方式。想让AI学会真正可靠地操作界面,光靠人工标注的静态数据是不够的,必须让它在真实或模拟的环境里反复试错,这个过程叫做强化学习。
强化学习(RL):一种让AI通过与环境互动、根据结果好坏调整自身行为的训练方法,类似于让一个人反复练习驾驶,每次操作后得到"对了"或"错了"的反馈。
但这些环境本身就是个大坑。手机模拟器要等应用加载,桌面虚拟机要等窗口弹出,网页环境要等页面渲染,这些操作动辄要等上几秒钟,比AI模型自己"思考"下一步动作要慢得多。如果几个领域混着训练,跑得快的领域(比如加载迅速的网页环境)会不知不觉地把训练数据"占满",跑得慢的领域(比如笨重的桌面虚拟机)反而被边缘化,训练出来的模型自然会偏科。
这就好比几个人组队接力跑步,其中一个人体能特别好、天生跑得快,如果没有人协调配速,比赛结束时你会发现队伍的总成绩几乎完全取决于跑得快的那个人跑了多少圈,而跑得慢的那几位可能一圈都没轮上。如果不刻意控制配速,最终的训练成果就会严重偏向某一个领域,其他领域的能力被悄悄牺牲掉了。
这正是MintAct整个工程设计要解决的核心矛盾:怎么让四个"跑步速度"完全不同的领域,在同一个训练循环里公平地贡献力量。
三个设计选择:如何让一个模型学会"看情况说话"
MintAct的解决方案建立在三个关键设计上,缺一不可。
第一个设计是共享的观察和定位空间。所有UI领域的智能体都直接从屏幕截图里工作,不依赖DOM结构、无障碍树这些平台专属的底层数据接口,所有坐标都统一归一化到同一个尺度上。这意味着模型学到的"看图找按钮"的能力,可以直接在手机、桌面、网页之间迁移,而不需要针对每个平台重新学一套定位方式。
这就像一个人如果学会了用眼睛判断距离和方向,这种能力在任何场地都能用,无论是篮球场、足球场还是网球场。但如果他学的是"篮球场三分线在离篮筐6.75米处"这种依赖特定场地标记的知识,换个场地这套本领就废了。用纯视觉坐标而不是依赖平台专属数据结构,正是为了让模型学到的是可迁移的"空间感",而不是绑死在某个平台上的死记硬背。
第二个设计叫做提示词条件化的动作集合。模型不会把所有平台的动作混成一锅粥,而是通过系统提示词告诉模型当前该用哪一套动作。在手机环境下,系统提示会明确列出点击、长按、滑动这些动作;在桌面环境下,则会列出右键点击、双击、拖拽等操作。模型在推理时读到对应的提示词,就知道该从哪个"菜单"里选动作。
第三个设计是跨领域的均衡混合。无论是监督微调阶段还是强化学习阶段,团队都刻意把训练数据在各个领域之间保持均衡比例,防止某个领域因为数据量大或者反馈快而"喧宾夺主"。
系统提示词:给模型下达的开场白式指令,用来告诉它当前处于什么任务情境、应该遵循什么规则,相当于给AI"提前打好招呼"。
这三个设计合起来,本质上是在回答一个问题:一个模型怎么才能既保持通用的感知能力,又在具体执行时知道自己身处哪个"房间",该用哪种"礼仪"。
四阶段训练:从认字到实战的成长轨迹
MintAct的训练过程分成四个阶段,一层层往上叠加能力,这个过程挺像一个人从认字到能独立办事的成长轨迹。
第一阶段是高分辨率单步监督微调,专门用来打磨"定位"这个基本功。模型在这个阶段学习看清楚屏幕上的按钮具体在哪个像素位置,用的是像GroundCUA、MolmoPoint这样的公开定位数据集,配合高清晰度的图片输入(每张图最多约211万像素)。这个阶段就像小孩子刚开始学写字,先练好每个笔画,还不需要写出完整的句子。
第二阶段是低分辨率多步监督微调,这一步是教模型完成"连续动作",也就是多轮交互。因为要处理很长的历史轨迹,图片分辨率降到了约92万像素以节省计算资源,训练数据横跨手机、桌面、网页、视觉工具调用四个领域,每个领域各占25%的比例,防止某个领域"抢戏"。
这个阶段有个挺讲究的技术细节:训练时把每一轮的截图、思考过程和动作都原样追加到对话历史里,不做摘要压缩。为什么这么做?因为后面强化学习阶段需要复用之前推理过的部分(叫做KV缓存),如果历史记录的格式一直在变,缓存就没法复用,训练效率会大打折扣。这就好比你写日记时选择逐日记录而不是每周写一份总结,虽然逐日记录占用更多篇幅,但当你以后想回顾某一天具体发生了什么时,直接翻到那一页就行,而周总结那种压缩版记录会让你丢失很多细节,回头想找线索也无从下手。
第三阶段叫RFT,也就是带拒绝采样的强化微调。团队先针对每个领域单独训练出一个"专才"模型,比如专门擅长桌面操作的RL specialist,然后让这个专才在自己的领域里跑出大量轨迹,用一个强大的视觉语言模型当裁判筛选出高质量的成功案例,再把这些精华数据喂回给那个统一模型。
拒绝采样:先让一个模型生成很多候选结果,再用某种标准筛掉不合格的,只保留优质样本用于后续训练,类似于面试官从上百份简历里挑出最合适的几份。
这个阶段挺有意思的一点是,蒸馏出来的移动端表现居然超过了原始的移动端专才模型(AndroidWorld上68.1分对67.8分),说明知识从其他领域"串门"过来后,反而带来了额外的提升。
第四阶段是联合强化学习,模型直接在真实环境里跟手机模拟器和桌面虚拟机打交道,根据任务完成情况获得奖励,边做边学。这是整个训练流程里最"硬核"也最费资源的一步,因为它要求模型跟慢吞吞的真实环境反复周旋,而不是像前面几个阶段那样处理已经准备好的静态数据。
异步强化学习:如何让训练不被"最慢的那个人"拖累
这一部分是整篇论文的工程重头戏,也是最能体现苹果团队解决实际问题能力的地方。
想象一下同步训练的场景:所有环境实例(手机模拟器、桌面虚拟机、网页沙箱)一起生成数据,训练器必须等所有实例都跑完这一轮才能开始更新模型。问题是,桌面虚拟机加载一个应用可能要好几秒,而网页环境几乎是秒开的。如果按同步方式训练,GPU大部分时间都在傻等那个最慢的桌面环境,利用率低得可怜。
这就跟一群人一起吃自助餐,如果大家约好必须等所有人都装满盘子才能一起坐下开吃,那么动作最慢的那位就成了全场进度的瓶颈,其他人明明早就准备好了,却只能干等着。如果不解除这种"必须同步"的约束,系统资源就会被无谓地浪费在等待上,而不是真正投入到有用的训练计算里。
MintAct团队为此搭建了一套完整的异步强化学习框架,核心思路是把"生成轨迹"和"更新模型"这两件事彻底解耦,让它们各自并行进行,互不等待。
这套系统由几个部件组成。Rollouter(轨迹生成器)负责调度大量并发的轨迹生成任务,通过一个叫SGLang router的推理路由器把任务分发给多个推理工作节点。环境管理器(Environment Manager)负责维护手机、桌面、网页等各类环境的实例池,保证每个正在跑轨迹的任务都独享一个环境实例,不会和其他任务互相干扰。生成好的轨迹被打包成组,放进一个消息队列里排队等待训练。训练器(Trainer)则源源不断地从队列里取数据来更新模型参数。参数同步器(Parameter Synchronizer)每隔一段训练步数,就把训练器里最新的模型权重同步给负责生成轨迹的推理节点。
消息队列还用了一个巧妙的优化:不直接把完整的图片数据塞进队列里(那样内存开销太大),而是先把历史截图写到磁盘上,队列里只存文件路径这样的轻量级元数据,等真正要训练时才按需把图片加载进来。
这套系统听起来复杂,但解决的核心问题其实很朴素:怎么让跑得快的环境不必等跑得慢的环境,同时又不能让跑得快的环境把训练数据"霸占"了。
配额机制:给每个领域发"号码牌"
联合训练手机和桌面两个领域时,MintAct遇到了一个更细节的问题:即便异步系统让各领域各跑各的,快的领域依然可能因为产出数据多,而不知不觉主导了整个训练批次的构成。
于是团队加了一套配额控制机制。每个轨迹组被打上所属领域的标签,放进共享队列里,训练器只按照预先设定好的配额(比如手机领域32组、桌面领域32组,一共64组)从队列里取数据,一旦某个领域达到配额上限,即使队列里还有它的数据,也会被暂时跳过,等下一批训练循环。
这还没完。如果只是被动地在消费端卡配额,那生成端还是会白白浪费算力去生成注定被丢弃的多余数据。所以团队又加了一层"反压"机制:每个生成轨迹的工作节点会实时查询自己所属领域已经被采纳了多少组数据,如果自己的领域进度已经明显领先于最慢的那个领域(领先幅度超过一个训练批次的量),这个节点就会主动暂停生产,等落后的领域追上来再继续干活。
这套组合拳很像工厂里的准时化生产管理:不是让流水线上每个工位拼命生产,而是根据下游实际需求动态调节各工位的产出节奏,避免某个工位囤积了大量还没被使用的半成品,白白占用仓库空间和物料成本。如果不做这种动态调节,快的工位会不停堆积产出,而这些产出本来是要按比例分配的,最终反而造成了资源错配和浪费。
不过团队也考虑到了极端情况:如果某个领域产出的轨迹全都是"零优势"的(也就是这一组里所有尝试要么全对要么全错,没有学习价值,会被过滤掉),它可能永远也凑不满自己的配额,训练器就会一直卡着等它。所以还设计了一个兜底机制:等待超过一定时间后,就放宽配额限制,让产出正常的领域填满剩下的名额,保证训练不会被卡死。
实验结果:统一模型没有变弱,反而经常更强
理论说得再漂亮,最终还是要看数字说话。
MintAct在四个能力维度上做了全面评测:界面定位能力(用MMBench-GUI、ScreenSpot-v2等基准)、手机导航(AndroidControl、AndroidWorld)、桌面导航(OSWorld-Verified)、网页导航(Weblica、Online-Mind2Web),以及视觉工具调用(MM-ToolSandBox)。
8B规模的MintAct相较于它的初始模型Qwen3-VL-8B,在AndroidWorld上从47.6分提升到67.0分,在OSWorld-Verified上从33.9分提升到48.9分,在Weblica上从55.5分提升到74.7分,在MM-ToolSandBox上从3.1分提升到24.5分。这几个提升幅度都相当可观,尤其是视觉工具调用能力几乎是从零起步式地涨了近8倍。
更关键的是,跟同等参数规模的专用模型比,MintAct-8B在OSWorld-Verified(48.9分)、Weblica(74.7分)、UI-Vision(56.6分)、OSWorld-G(64.5分)几项上都拿到了最佳成绩,在AndroidWorld上也有67.0分,处于同规模模型的第一梯队。
这说明一件挺反常识的事情:一个身兼数职的通才模型,居然在好几项单项能力上超过了专门为那一项训练的专才模型。这打破了很多人默认的假设,就是"越专精越强"。至少在这篇论文的实验里,统一训练带来的跨领域知识迁移,抵消甚至超过了专精训练带来的针对性优势。
消融实验:拆开来看每一块积木有没有用
论文里做了大量拆解实验,逐一验证每个训练阶段是否真的有必要。
单独看第一阶段(高分辨率单步SFT),模型的定位能力很强(UI-Vision达到59.3分),但多步导航能力极差(OSWorld-Verified只有9.4分)。单独看第二阶段(低分辨率多步SFT),导航能力明显回升(OSWorld-Verified到41.5分),但定位能力却掉了下来(UI-Vision降到25.0分)。两个阶段合在一起用,才能同时保住两种能力(UI-Vision回到56.9分,同时OSWorld-Verified也有42.6分)。这个结果清楚地证明了两个阶段是互补的,缺一不可。
RFT阶段的效果也很扎实:以8B模型为例,从MintAct-SFT到MintAct-RFT,OSWorld-Verified从42.6分涨到43.1分,Weblica从57.5分大涨到72.8分,MM-ToolSandBox从19.8分涨到21.3分。这一步蒸馏虽然看起来只是"从专才模型里学习",但确实把每个领域的专精能力有效地灌回了统一模型里。
联合强化学习阶段带来的提升同样明显。在RFT基础上再叠加联合RL,8B模型的OSWorld-Verified从43.1分进一步提升到48.9分,Weblica从72.8分提升到74.7分,Online-Mind2Web从36.3分提升到39.1分。值得注意的是,联合RL只训练了手机和桌面两个领域,但它的提升效果居然"外溢"到了完全没参与这一阶段训练的网页领域,说明相近领域之间存在着真实的能力迁移,而不仅仅是数据层面的巧合。
合成环境:当真实数据不够用时的补救方案
论文里还有一块非常务实的内容,讲的是团队如何应对"真实交互数据不够多"这个老大难问题。
真实的手机模拟器和桌面虚拟机虽然逼真,但每一次交互都很"贵":要占用一台虚拟机,要等应用加载,扩展起来成本很高。于是团队想出了另一条路,用代码智能体直接生成用HTML、CSS、JavaScript搭建的"仿真操作系统界面",在无头浏览器里跑起来。这些合成环境不需要真实虚拟机,可以在训练集群上直接部署成千上万个实例,交互速度也快得多。
这就好比与其花大价钱租真实的驾校练车场地,不如先搭建一套逼真的驾驶模拟器,虽然不是百分百还原真实路况,但能让学员在低成本、高频次的条件下反复练习基本功,等真正上路时再去打磨那些模拟器里学不到的细节。如果没有这套模拟器,每次练车都要占用真实场地和真实车辆,成本和效率都会大打折扣。
团队还设计了一套"能力飞轮"机制来生成这些合成环境:先从真实交互日志里挖掘出大约3000种细粒度操作能力(比如"填表单""管理购物车""设置提醒"),然后用代码智能体针对每种能力去改造一个基础操作系统模板,生成配套的任务。这些环境之后被用于监督学习、强化学习和评测三个用途。
效果方面,最有意思的发现是:在完全没有使用真实iOS数据的情况下,MintAct-SFT在iOSWorld基准上从基础模型的2.3分提升到12.8分;再叠加合成环境的强化学习,进一步提升到22.3分。这说明模型在合成环境里学到的技能,确实能够迁移到真实场景中去,而且在数据稀缺的领域(比如iOS这种苹果没有太多公开真实交互数据的场景)表现尤其明显。不过当真实的领域数据本身就很充足时(比如手机和桌面这两个已经有大量真实环境可用的领域),合成环境带来的优势就会相对减弱,真实数据的联合RL训练效果反而更好。
这提示我们一个挺朴素的道理:模拟训练在数据稀缺时价值最大,一旦真实数据充足,它的边际收益就会自然收窄。
论文里也坦诚地列出了几个还没解决的问题。比如目前视觉工具调用和界面导航是两套分开的能力,模型还不能像人一样,在操作界面碰到瓶颈时自动切换成调用工具的思路;再比如训练时每一轮截图都原样累加进对话历史,导致长任务的上下文会越滚越大,内存压力也随之增加,未来可能需要更聪明的上下文管理方式,比如对陈旧的截图做摘要或者剪裁。
写在后面
读完这篇论文,最触动我的不是那些性能榜单上的数字,而是团队处理"训练数据配速不均"这个问题的方式。这其实是个很多做分布式系统的人都会遇到的问题,只是在AI Agent训练这个新场景里,它换了张脸出现。
有意思的是,配额加反压这套组合拳,本质上跟经济学里"配给制加市场调节"的思路有点像:光靠配额容易造成生产端的浪费,光靠市场信号又可能来不及响应突发的速率差异,两者结合才是务实的解法。这种工程智慧其实跟很多资源调度问题是相通的,只不过换了个应用场景。
另一个让我意外的细节是,蒸馏出来的移动端表现居然超过了原始专才模型本身。这提醒我们,"专才"未必总是比"通才"更强,尤其当各领域之间存在可迁移的底层能力时,博采众长反而可能带来意料之外的加成。这个现象值得再往深处想一想:如果知识迁移这件事真的这么有效,那我们是不是低估了很多"专用模型"里其实存在的冗余训练成本?
Q&A
Q1:MintAct是什么?
A:MintAct是苹果推出的一个统一视觉智能体模型家族,提供2B、4B、8B三种参数规模,能用同一套模型权重完成UI定位、手机/桌面/网页多步导航、以及视觉工具调用四大能力,无需针对每个平台单独训练模型。
Q2:MintAct的性能和专用模型相比怎么样?
A:MintAct-8B在多项基准上超过了同等规模的单领域专用模型,比如在OSWorld-Verified拿到48.9分、Weblica拿到74.7分,均为同规模最佳,AndroidWorld也达到67.0分,处于第一梯队。
Q3:MintAct是如何解决多领域训练速度不一致的问题的?
A:MintAct设计了异步强化学习框架,通过配额机制控制各领域数据被采纳的比例,再配合反压机制让进度领先的领域主动暂停生成,防止训练数据被跑得快的领域主导,从而保证多领域训练的均衡性。







