微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 中国科学院自动化研究所打造的手机AI训练场:让AI学用手机,从模拟到真实的惊人旅程

中国科学院自动化研究所打造的手机AI训练场:让AI学用手机,从模拟到真实的惊人旅程

2026-06-01 17:17
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-06-01 17:17 科技行者

这项由中国科学院自动化研究所牵头,联合北京大学、香港中文大学共同完成的研究,以预印本形式发布于2026年5月,论文编号为arXiv:2605.26114。有兴趣深入了解技术细节的读者,可以通过该编号在arXiv平台上查阅完整论文。

**手机里的AI助手,为什么还学不会帮你订票?**

每天早上,你打开手机,可能需要在微信里回几条消息、在支付宝转一笔账、在12306抢一张回家的票。这些事情对你来说轻而易举,但对AI来说,却是一道至今没有完全攻克的难关。能看懂手机屏幕、能模拟手指点击、能理解你的口头指令然后一步步帮你完成这些日常操作的AI——研究界称之为"移动端图形界面智能体",通俗说就是"手机AI代理"——近年来进步飞速,却始终卡在一个核心瓶颈上:缺少一个既能反复练习、又能客观打分的训练和测试环境。

这就好比你要培养一个出租车司机,却既没有模拟驾驶器、也没有考官打分表,只能把学员直接放到真实马路上去闯。真实马路上的问题多得数不清:每次练习的交通状况不一样,练习结束之后道路状态还被永久改变了,无法重置,而且一旦出了事故就是真实损失。这正是当前手机AI研究面临的困境。

来自中科院自动化所的研究团队决定为这个问题打造一个解决方案。他们构建的这套名为MOBILEGYM的系统,本质上是一个运行在浏览器里的"手机模拟训练场"——里面的每一个APP、每一条消息、每一笔订单都是虚拟的,AI可以在里面反复练习、犯错、重来,研究人员也可以随时知道AI做得对不对,整个过程既安全又可量化。

**一、手机AI为什么难训练?真实世界有四道"铁墙"**

在理解MOBILEGYM的设计思路之前,有必要先搞清楚为什么训练手机AI如此困难。这背后有四道看似简单、实则难以逾越的障碍。

第一道障碍叫做"状态不可读"。当你在支付宝里查余额,这个数字存在支付宝的服务器里,外部程序无法直接读取它。AI模拟的点击操作结束后,研究人员想判断AI有没有真正完成任务,只能靠截图来猜测,而截图往往只是冰山一角。更成问题的是,如果让另一个AI来看截图、判断任务是否完成,这个"裁判AI"本身也会犯错,误判率相当高——后文会提到,研究团队测试下来发现裁判AI的误判率高达10.2%。

第二道障碍叫做"状态不可写"。要让AI反复练习同一个任务,你需要能在每次练习开始前把APP恢复到同一个初始状态。但真实APP的数据散落在服务器、本地缓存、账号后台各处,根本无法像按一个按钮一样统一重置。

第三道障碍叫做"状态不可复制"。当前最有效的AI训练方法之一,叫做强化学习中的分组策略优化(GRPO),它要求从完全相同的起点出发,同时进行多条平行练习轨迹,然后比较哪条轨迹表现更好。但真实APP里,两个平行练习的初始状态不可能完全一致,账号状态、推送内容、后台数据都在随时变化。

第四道障碍叫做"操作不可逆"。在真实APP里练习转账、注销账号、批量删除数据,一旦操作执行就无法撤销,而且会产生真实的经济损失或账号风险,这让大规模训练在现实中根本无法实施。

现有的两种解决路径都不理想。一种是用安卓模拟器,虽然可以重置、可以打分,但覆盖的APP种类主要是系统工具类的开源应用,缺少微信、支付宝、12306这类真实日常APP,而且每个模拟器实例需要占用约4.5GB内存、启动时间将近80秒,想要同时运行几百个平行实例几乎是奢望。另一种是用真实手机,覆盖了真实APP,但以上四道障碍全部存在,价格昂贵,还无法并行扩展。

MOBILEGYM选择了第三条路:既然手机AI只需要看屏幕、点屏幕,那只要能做到"屏幕上的内容和真实APP一样逼真",其实并不需要真的运行那个APP。就像拍电影不需要真的炸掉一栋楼,用特效做一个视觉上以假乱真的爆炸场景就够了。MOBILEGYM在浏览器里用代码重新实现了28个常见APP的核心交互逻辑和视觉界面,让AI在里面的所有操作体验,和在真实APP里几乎没有区别。

**二、MOBILEGYM的核心设计:一个可读、可写、可复制的"JSON世界"**

MOBILEGYM最关键的设计决策,是用一种叫做JSON的结构化数据格式来表示整个手机环境的状态。

JSON是一种计算机里常用的数据记录格式,你可以把它理解成一本非常精密的账本。MOBILEGYM里,用户的联系人列表、所有订单记录、账户余额、消息记录、APP设置——所有这些东西都被记在这本"账本"里。这样一来,之前的四道"铁墙"就全部迎刃而解。

状态可读:想知道AI有没有成功帮你买到票,只需要检查账本里的订单条目是不是新增了一条正确的记录,完全不需要AI裁判来看截图猜测。状态可写:想把环境重置到某个特定初始状态,直接把账本改成那个状态就行,就像把Excel表格里的数字改回去一样。状态可复制:想从同一个起点出发运行100条平行练习轨迹,只需要把这本账本复制100份,分发给100个浏览器实例,每个实例都从完全相同的初始状态出发。操作可逆:AI在这个系统里发的消息不会真的发给任何人,转的账不会真的扣任何钱,所有"后果"都只是账本里数字的变化,练习结束后把账本恢复原样就好。

在内存和启动速度上,MOBILEGYM的优势非常显著。每个浏览器实例只需要约400MB内存,启动时间约3秒。这意味着一台普通服务器可以同时运行数百个平行实例,而同等条件下的安卓模拟器方案需要的资源大约是它的十倍以上。研究团队在实际测试中,用一台服务器同时运行了256个平行实例,整个256个任务的基准测试只需要约6分钟就能跑完,而且CPU占用率不超过10%,内存总消耗约100GB。相比之下,据公开报道,某个基于安卓模拟器的大规模训练项目需要10台裸金属云服务器、合计3840GB内存才能运行512个并行实例。

MOBILEGYM的状态模型在设计上也非常精巧。它把整个环境的数据分成三层:第一层是"世界数据",包含所有用户可见但AI不能修改的公开内容,比如电商平台上的商品信息、社交平台上的公共帖子;第二层是"运行时覆盖层",包含当前用户的私人数据,比如购物车内容、消息记录、账户设置,这是AI可以修改的部分;第三层是"操作系统运行时",负责管理APP的打开关闭、返回键逻辑、通知栏等系统级行为。只有第二层会被记录和追踪,这样每次保存环境状态时只需要存储这一小部分数据,快如闪电。

**三、MOBILEGYM-BENCH:416道精心设计的"考题"**

光有训练场还不够,还需要一套标准考卷才能知道AI到底学到了什么程度。研究团队基于MOBILEGYM构建了一个配套的基准测试集,叫做MOBILEGYM-BENCH,包含416道任务题目,其中256道用于测试、160道用于训练,两套题目完全不重叠。

这416道题覆盖了28个APP的日常使用场景,涉及的APP种类包括社交通讯(微信、小红书)、金融支付(支付宝)、视频娱乐(哔哩哔哩)、出行旅游(地图、12306)、阅读音乐(微信读书、Spotify)、社交媒体(Reddit、Twitter)、商务生产力(腾讯会议、eBay),以及16个系统级APP(设置、联系人、短信、日历、天气等)。

为了描述任务的难度和类型,研究团队设计了一套四维分类体系。第一个维度是"范围",分为单APP任务、跨两个APP的任务、跨三个及以上APP的任务三档。第二个维度是"目标",分为"操作类"(改变某个状态,比如发送消息)、"查询类"(获取某个信息,比如查询余额)和"混合类"(既要操作又要查询)。第三个维度是"结构",分为单步原子操作、多步顺序操作、跨APP数据传递,以及需要深入多层页面才能完成的深潜式任务。第四个维度是"难度",按照L1到L4四级划分,L1最简单,L4最难。

难度等级的确定方式非常有意思——不是靠主观猜测,而是靠8个参考AI模型实际做题后的表现来客观标定。L1级任务要求这8个模型的平均成功率在75%以上,L4级任务则是这8个模型几乎全部失败的那些题。这种做法让难度标定有了可重复的客观依据,就像用一批考生的实际考试成绩来判断一道题是不是"压轴难题",而不是靠出题人的感觉。

每道题目设计为"模板"而非"固定题目",这是另一个关键设计。以"帮我买一张从某地到某地的高铁票"为例,这个任务里的出发地、目的地、乘客姓名都是可变参数,系统在每次生成任务实例时会从预设的参数集里随机抽取填入。研究团队估算,仅这416道题目模板,通过参数组合就可以生成超过2.7万个不同的具体任务实例,有效防止AI靠死记硬背特定题目来"刷分"。

**四、"答题纸"协议:一个让评分更可靠的小发明**

在所有查询类任务里,评分方式是个老大难问题。比如任务是"告诉我北京现在的气温",AI回答"34摄氏度",评分系统怎么判断对错?

传统方法是让AI直接说出答案,然后用字符串匹配的方式判断。但这种方法漏洞百出。"34摄氏度"和"34°C",意思完全一样,字符串相似度却可能低于阈值而被判为错误——这叫做"假拒绝"。反过来,如果AI的回复是"我觉得答案可能是18,但也有可能是19",如果设定规则"只要包含正确答案就给分",那AI就会因为文字里顺带提到了正确答案而错误得分——这叫做"假接受"。某些推理型AI会在给出最终答案之前先进行大段思维链推理,这个问题尤为突出。

MOBILEGYM的解决方案叫做"答题纸协议"(AnswerSheet Protocol)。具体做法是:查询类任务完成后,AI需要打开一个特殊的系统APP——就叫"答题纸"——然后在里面找到对应的填写框,把答案填进去提交。这个APP里的每个填写框都声明了数据类型:数字框只接受数字,日期框只接受特定格式的日期,选择题框只允许选择预设选项之一。评分时,系统直接检查填写框里的值,用类型对应的精确匹配规则判断,完全不涉及自然语言处理。"34摄氏度"和"34°C"在数字框里都只会被录入为数字34,判断逻辑简单清晰。

这个设计还有一个额外好处:它要求AI必须真的完成了任务、找到了答案,然后再去打开答题纸APP、找到对应字段、填写、提交,这是一系列真实的界面操作。AI不能靠在回复文字里随便提到答案来蒙混过关,必须用手指(模拟点击)把答案准确地填进表格里。为了公平起见,含有答题纸环节的任务会额外获得15步的操作预算,用于完成"切换到答题纸APP并填写提交"这个额外流程。

**五、评分体系:不只看"成没成功",还要看"坏没坏事"**

MOBILEGYM的评分体系比单纯看任务是否完成要细致得多,这体现了研究团队对手机AI实际部署场景的深刻理解。

最核心的指标自然是"成功率",即AI完成任务的比例。除此之外,还有四个诊断性指标。"进度率"衡量AI完成了任务中多少个子步骤,即使最终没有完全成功,局部进展也能被量化。"误报完成率"记录AI声称自己完成了任务、但实际上并没有完成的比例,这个指标反映了AI自我评估能力的准确性。"超时终止率"记录AI其实已经达成了目标、但没有及时声明完成而是继续操作直到超出步骤预算的比例,这反映了AI"知道自己什么时候该停手"的能力。

最后一个指标叫做"意外副作用率"(Unexpected Side Effects),这是MOBILEGYM独有的能力,也是最难得的一个指标。简单说,它检测AI在完成目标任务的同时,有没有改变任何不该改变的东西。举一个例子:假设任务是"给妈妈发一条微信说明天到家",AI完成任务的同时,如果不小心还删除了一条旧消息,或者修改了某个联系人信息,这些"顺带改动"就会被检测到并计入副作用。

这个指标之所以重要,是因为手机是一个非常私密的环境,用户委托AI帮忙操作时,最担心的就是AI在完成指令的同时"搞了什么其他事情"。传统方法——无论是截图裁判还是界面树检查——都无法可靠地发现那些藏在APP内部状态里的悄悄改动,只有MOBILEGYM这样把完整状态都记在账本里的系统,才能在任务结束后把账本前后对比一遍,找出所有"账本不应该变却变了"的地方。

研究团队的测试结果表明,意外副作用率在9个被测AI模型之间从4.7%到14.5%不等,而且与模型的整体能力并不成正比——能力相近的两个模型,副作用率可能相差将近一倍。这说明这个指标捕捉到了一个独立的、有意义的行为维度。

**六、九个AI模型的大考:能力差异悬殊,最难任务近乎全败**

研究团队用MOBILEGYM-BENCH测试了9个AI模型,包括3个商业闭源模型(谷歌的Gemini 3.1 Pro、字节跳动的豆包Seed 2.0 Pro、阿里的Qwen3.6-Plus)、5个专门针对手机界面操作微调过的开源模型(AutoGLM-Phone-9B、UI-TARS-1.5-8B、UI-Venus-1.5-8B、GUI-Owl-1.5-8B-Think、Step-GUI-4B),以及1个通用型开源视觉语言模型(Qwen3-VL-4B-Instruct)。

测试结果呈现出一幅非常清晰的分层图景。整体成功率方面,最强的Gemini 3.1 Pro达到58.8%,最弱的Qwen3-VL-4B-Instruct只有9.4%,两者之间相差超过6倍,说明当前手机AI的能力差异极为悬殊,整个测试集既没有"天花板效应"(最强的模型还远没有满分),也没有"地板效应"(最弱的模型也能完成约十分之一的任务),是一套区分度很好的测试集。

按难度分层来看,规律更加鲜明。L1级任务(最简单)上,所有9个模型的成功率都相当不错,即使是最弱的通用模型也能完成71.2%,商业模型全部满分或接近满分。这说明L1任务考的是基础导航和单步操作,当前AI已经基本过关。L2级任务开始出现明显分化,商业模型仍然表现出色(78%到93%),但手机专用开源模型骤降到17%到33%之间。L3和L4才是真正的"压轴"。L3上,即使是Gemini 3.1 Pro也只能完成63.3%,开源手机专用模型最高只有9.6%。L4更是近乎全面溃败:只有Gemini 3.1 Pro还保有21.9%的成功率,而其他两个商业模型只有3.8%到6.2%,所有开源手机专用模型都在2%以下——接近于随机猜测的水平。

这个结果传递出一个重要信号:L4难度的任务——通常需要AI在多个APP之间来回穿梭、深入多层页面、同时完成信息提取和操作,有时还要进行多步推理——已经远远超出了目前所有开源手机AI模型的能力上限,成为一块真正意义上的"前沿荒地"。

**七、强化学习实验:模拟训练,在真机上依然奏效**

研究中最引人关注的部分,是一个从模拟到真实的转移实验(Sim-to-Real Transfer Study)。

研究团队选取了Qwen3-VL-4B-Instruct——9个被测模型里表现最差的那个——作为起点,用MOBILEGYM里的160道训练题对它进行强化学习训练。训练方法采用了当前业界流行的GRPO算法,训练过程在单台配备3块RTX Pro 6000显卡的服务器上进行,同时运行96个并行模拟环境实例,总共训练了10步。

奖励信号的设计非常细致。基础奖励来自任务进度——AI完成了多少个目标检查项就得多少分,而不是只有完全成功才给分,这种"密集奖励"信号对于引导AI学习更有帮助。此外还设有若干乘法惩罚因子:如果AI完成了任务目标但产生了意外副作用,奖励会打八折;如果AI声称任务完成但实际上没完成,也会打八折;如果AI达成目标后没有及时声明完成、而是继续操作直到超时截断,奖励再打对折;答题纸填写出错同样会扣分。

训练效果相当显著。在模拟环境里,这个模型的整体成功率从9.4%提升到22.2%,绝对提升了12.8个百分点。具体到各难度层级,L1上从71.2%提升到92.5%,L2上从12.3%跃升到37.7%,L3上从0.6%升到11.7%,L4上从0.3%升到1.2%——L4的提升极为有限,与之前提到的该层级任务"超出当前模型能力上限"的判断相吻合。训练后的4B参数模型,在L1到L3三个难度层级上甚至超过了原本参数量更大(9B)的AutoGLM-Phone-9B,这说明在目标明确的强化学习训练下,较小的模型完全可能超越较大但训练方向不同的模型。

然而这一切效果都是在模拟环境里测量的,关键问题来了:这种在虚拟手机里学到的技能,能不能在真实手机上用得上?

**八、真机验证:95.1%的训练成果成功"跨越"到真实世界**

为了回答这个问题,研究团队在一台真实的Redmi Note 12 Turbo手机(分辨率1080×2400)上进行了验证实验。

首先,研究团队把256道测试题按照训练前后的模拟环境表现,划分成几个"信号桶"。"提升桶"包含那些训练前模型几乎做不到、训练后模型几乎每次都能做到的任务,共26道;"稳定通过桶"包含训练前后模型都能稳定完成的任务,共21道;"中间桶"包含那些有部分提升但不那么稳定的任务,共20道;"稳定失败桶"包含训练前后模型都几乎无法完成的189道任务,这些任务在模拟环境里本身就没有训练收益可言,没有必要花大力气在真机上验证。

三个信号桶合计67道任务,其中8道因为需要不可逆的账号级操作或无法在真实手机上等效复现的预设状态(比如虚构的会议历史记录),被排除在外,最终在真机上运行了59道任务,外加从"稳定失败桶"随机抽取的15道任务作为对照。

结果令人振奋。在这59道信号任务上,训练后模型的真机成功率从32.2%提升到72.9%,提升了40.7个百分点;与此同时,模拟环境里的提升幅度是42.8个百分点。用模拟提升量除以真机提升量,得到的保留比例是95.1%——也就是说,在模拟环境里学到的技能,有超过95%的部分成功迁移到了真实手机上。更值得关注的是,训练前后两个版本的模型,在模拟环境和真机环境之间的绝对差距都很小:训练前模型相差约1.7个百分点,训练后模型相差约3.8个百分点。

那15道从"稳定失败桶"随机抽取的对照任务,在真机上两个模型都一题未过,与模拟环境的表现完全一致,进一步验证了模拟环境的预测有效性。

研究团队特别强调,真机环境与模拟环境在很多细节上并不相同——界面布局的细微差异、APP里的真实数据(联系人、地点名称等与模拟数据不同)、真实APP本身的行为变化。在这种条件下,训练收益仍然高度保留,更倾向于说明AI学到的是可泛化的操作策略,而非死记硬背了模拟环境里的特定情形。

**九、一个能说明问题的案例:学会"认识"灰色按钮**

研究团队在论文中记录了一个特别能说明问题的真机案例,发生在Reddit上的一个"在特定社区发布帖子"的任务。

这个任务的微妙之处在于:这个真实Reddit社区(r/China_irl)要求发帖前必须添加一个"flair"(类似话题标签)才能激活"发布"按钮。在模拟环境的训练任务里,这个社区具体的flair要求并不存在,所以AI并没有直接"见过"这个场景。

训练前的基础模型在这道题上的表现如下:它把帖子的标题和正文都填写好了,然后看到右上角的"发布"按钮,开始点击。按钮没反应,它继续点。还是没反应,它还是继续点。这样一直持续了整整60步,把整个操作预算耗尽,始终没有意识到按钮之所以不可用,是因为缺少了一个必填的flair标签。

训练后的模型走了另一条路。它同样点击了两次无响应的"发布"按钮,但在第15步,它的推理过程中出现了关键的一句话:"发布按钮颜色是灰色的,这可能说明系统还没有检测到所有必填项……'添加标签和flair'旁边有一个星号,说明这是必填字段。"然后它打开了flair选择界面,选了"科技数码"这个分类,回到发帖页面,这时"发布"按钮变成了蓝色,第18步成功发布。完成时间:22步,远少于基础模型消耗的60步。

这个案例的意义在于,AI从没有在训练里见过这个特定社区的这个特定要求,但它通过在模拟环境里反复练习各种操作场景,学会了一种通用的"看懂界面状态"能力——能从按钮的视觉状态(灰色)推断出当前操作的前置条件未被满足,并主动寻找原因。这种能力在面对新的真实场景时依然有效,这才是"从模拟到真实"最有价值的证明。

**十、裁判AI也会出错:10.2%的误判率说明了什么**

研究团队还顺手做了一件很有价值的事:用人工审核来检验AI裁判的可靠性。

他们把信号桶里59道任务、两个模型版本共118条真机轨迹,让Qwen3.6-Plus这个商业模型来当裁判,判断每条轨迹是否成功完成了任务,然后把判断结果和人工审核结果对比。结果发现,在这118条轨迹里,裁判AI犯了12个错误,整体误判率10.2%。训练后模型的轨迹误判率(11.9%)略高于训练前模型(8.5%),原因很可能是训练后模型的操作轨迹更复杂、更多声明性陈述,给裁判AI提供了更多可能被误解的表面信息。

为了验证这个误判率是否是某个特定模型的问题,研究团队把同样的118条轨迹拿去让GPT-5.4重新判断。结果GPT-5.4也犯了12个错误——数量完全相同,只是分布在不同的具体轨迹上。这表明AI裁判的误判不是某个模型的特有问题,而是这类"看截图判断任务是否成功"的评估方式的系统性局限。相比之下,MOBILEGYM基于账本对比的程序化评判,完全不存在这类误判,成本也是零。

---

归根结底,MOBILEGYM做的事情,是把一个原本只能在真实世界里学习的技能,搬到了一个既安全又廉价、既可控又可验证的虚拟训练场里。它不是要模拟一个完美无缺的真实手机,而是要确保AI在里面学到的东西,在真实手机上依然管用。事实证明,95.1%的训练成果保留率是一个相当有说服力的答案。

手机AI的能力上限依然很远——L4难度的任务让几乎所有AI束手无策,就连当前最强的商业模型也只能完成其中约五分之一。但这条路至少现在有了一个可以大规模、可重复地练习的基础设施。从这个角度来说,MOBILEGYM更像是一个开端,而非终点。如果你对手机AI、强化学习或可信AI评估这几个方向感兴趣,不妨通过arXiv:2605.26114查阅完整论文,里面还有大量关于系统架构细节、任务设计原则和实验分析的内容值得深入探索。

---

Q&A

Q1:MOBILEGYM模拟的APP和真实APP有什么区别?

A:MOBILEGYM在浏览器里用代码重新实现了真实APP的交互逻辑和视觉界面,但不接入真实服务器后端。里面的联系人、订单、余额都是虚拟数据,操作不会产生真实后果。视觉上会有细微差异,比如布局细节、动画和部分图标,但研究结果显示这不影响AI行为策略的迁移,训练成果有95.1%能在真机上保留。

Q2:MOBILEGYM的强化学习训练需要多少计算资源?

A:研究团队的训练实验在单台配备3块RTX Pro 6000显卡的服务器上完成,同时运行96个并行模拟环境实例,总共训练10步。相比之下,基于安卓模拟器的类似方案据报道需要10台裸金属云服务器、共3840GB内存才能运行512个并行实例。MOBILEGYM每个实例约400MB内存、3秒启动,大幅降低了硬件门槛。

Q3:MOBILEGYM-BENCH的难度是怎么定的?

A:难度不是靠主观判断,而是用8个参考AI模型实际做题后的平均成功率来客观标定。L1级要求平均成功率不低于75%,L2级要求不低于25%且进度率不低于50%,L3级要求成功率大于零且进度率不低于25%,其余归入L4。这8个参考模型不包括后续用于训练实验的Qwen3-VL-4B-Instruct,避免标定数据和训练数据之间的信息泄露。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-