GUI Agent · 技术拆解

GUI Agent:AI 怎么看懂屏幕、点准按钮

拆开"看一眼、点一下"这个最简单的动作:观察、定位、规划、执行、记忆、验证,最后是刹车

2026-09-19AI 前沿 · 技术科普约 15 分钟

00引言:为什么"会用鼠标"成了 AI 的必修课?

一个谁都经历过的场景,和一条没门可走的路。

先看一个场景。出差回来,要约个复盘会。打开 12306 查回程高铁时刻,估摸几点到站;切到地图,算从车站到公司的通勤时间;再切到钉钉,建一个时间刚好的会。三个应用,两次复制粘贴,一次心算。

这套流程没有任何技术含量,但有个特点:大部分应用不开放接口。没有官方 API,传统的 AI 助手想插手也插不进来。它的角色只能是"给答案",执行还是你自己来。模型"会想",不等于"会操作"。

2024年10月22日,Anthropic 给 Claude 3.5 Sonnet 加了一个新能力:Computer Use。第一次,前沿大模型可以通过看屏幕、移光标、点按钮、敲键盘,操作一台真实的计算机。三个月后,OpenAI 跟进发布 Operator,底层是一个叫 CUA 的模型。

这类系统有统一的名字:GUI Agent,图形界面智能体。它和常见的 API Agent 走的是两条路。API Agent 走后门,前提是应用得给你留门;GUI Agent 走大门,和用户看同一块屏幕——所以再冷门、再老旧的应用,只要能显示,就能操作。

听起来只是"多了个鼠标"。对 AI 来说,这是范式级的跨越:从结构化的 API 空间(反馈是确定的 JSON),跳进非结构化的像素空间——按钮位置随分辨率和 DPI 变,弹窗随机出现,页面动态加载。三个根本挑战随之而来:感知,从截图理解界面语义;定位,把意图映射到坐标;鲁棒性,错了能不能救回来。

看一眼屏幕,点一下按钮。人类两岁就会。AI 要做这件事,需要一整套正在成型的技术栈。这篇文章沿这条链走一遍:观察、定位、规划、执行、记忆、验证,最后是刹车。拆开那个最简单的动作,看看里面到底装了什么。

01AI 眼里的屏幕,和人看到的有什么不同?

两条感知路线,一本 token 账,一个反直觉的实验。

问题从"看"开始。模型眼里的屏幕,到底是什么?

一张图片。图片是一堆像素,像素是一串数字。一张 1920×1080 的截图,两百万个像素点,每个点三个颜色分量。所谓"看懂屏幕",就是从这堆数字里认出一个提交按钮、一个搜索框、一段商品价格。没有语义标签,没有层级结构,只有数。

行业里有两条感知路线,分歧是根本性的。

第一条,纯截图。把屏幕渲染成图像,交给视觉语言模型(VLM)直接理解。Claude 的 Computer Use 和 OpenAI 的 CUA 都选了这条路。好处是通用:任何有屏幕的设备都能截图,不依赖应用有没有实现无障碍接口,canvas、SVG 画出来的界面照样能看。代价是贵:一张 1080p 截图要消耗 1200 到 1800 个 token,一个二十步的任务,光图片就烧掉三万多个 token。

第二条,无障碍树(Accessibility Tree)。从操作系统读出结构化的界面元素树,每个节点带着角色、名称、状态、边界框。这条路便宜,每步只要 50 到 200 个 token,元素定位也是确定性的。弱点在覆盖:企业遗留应用的无障碍元数据往往残缺不全,一棵原始 XML 树动辄五万 token,必须过滤到只剩交互元素的一两千 token 才能用。

维度纯截图路线无障碍树路线
输入屏幕渲染的像素图像系统读出的结构化元素树
代表Claude Computer Use、OpenAI CUA多数企业方案与混合方案的底座
优点通用,canvas/SVG 界面照看便宜,每步 50-200 token,定位确定
代价一张 1080p 截图 1200-1800 token覆盖不全,遗留应用元数据残缺

两条路线各有各的账,各家也在往混合方向走:截图保底,无障碍树能读就叠加。但有个实验结果,比路线之争更扎心。

有人拿 GPT-4o-mini 做对照实验,发现一个反直觉的现象:模型能正确说出目标元素的名字——它明明"看"到了那个按钮——但输出点击时,坐标总是 (0,0)。感知的瓶颈不在数据可不可用,而在模型把语义映射到精确动作的能力。

换句话说,"看到"和"点中"是两件事。中间隔着的那个环节,叫 grounding,视觉定位。下一章拆它。

02从"知道有按钮"到"点中它",中间差了什么?

三招工程方案,一个坐标系陷阱。

先看难点在哪。VLM 的原生输入分辨率,通常只有 224×224 或 490×490,而桌面截图 1280×720 起步。直接缩放塞进去,小字糊成一团,密集的按钮挤成一坨。人眼扫一眼就能锁定的"删除"按钮,模型连它是第几个都数不清。

工程界交出了三招。

第一招,Set-of-Mark,简称 SoM。微软 2023 年 10 月提出,原本为了提升 GPT-4V 的视觉理解,思路一句话:别让模型自己数像素,先把候选答案标出来。用检测模型把截图里的交互元素全部找出来,按从上到下、从左到右排序编号,在每个元素的中心画一个带数字的彩色圆圈,再把这张标注图连同编号对照表一起喂给模型。模型的输出从"点击坐标 (197, 525)"变成"点击 7 号按钮"。

SoM 的巧劲:把"点哪里"从一道开放题变成选择题。精确预测像素坐标,模型容易差之毫厘;从二十个编号里挑一个,错误率低一个量级。编号到坐标的换算交给检测器,各干各的强项。

第二招,高分辨率编码。智谱的 CogAgent 用双分支架构:低分辨率编码器(224×224)看全局布局,高分辨率编码器(1120×1120)通过交叉注意力注入细节。1120×1120 在 14 像素的 patch 下对应 6400 个视觉 token,靠架构设计,总算力开销反而压到了前辈模型在 490×490 下的一半以下。

第三招,视觉 token 压缩。ShowUI 的观察很聪明:UI 截图和自然照片不一样,大面积纯色背景的信息量趋近于零。它把截图切成 14×14 的 patch,相邻 patch 的 RGB 差值小于阈值就合并成连通区域,区域内按比例采样 token。一张谷歌搜索页,视觉 token 从 1296 压到 291,训练提速 1.4 倍,定位精度不掉。

就算模型吐出了坐标,还有最后一个坑:坐标系对不上。截图进模型前会被按比例缩放(对齐到 28 的倍数),模型输出的坐标属于缩放后的图。要得到真实落点,必须反向换算:真实坐标 = 模型坐标 ÷ 缩放后尺寸 × 原始尺寸。跳过这一步,点击位置整体偏移,缩放比例越大,偏得越离谱。开源的 ui-tars 解析包专门写了这个换算,还配了一个可视化脚本:把换算后的落点标成红点,画回原始截图。偏没偏,一眼可见。

定位准不准,有专门的考试:ScreenSpot 系列。给一张截图、一句指令——"点击搜索框"——考的就是那个红点落得准不准。UI-TARS-1.5 在 ScreenSpot-V2 上拿到 94.2,同一张卷子,OpenAI 的 CUA 只有 23.4,差出四倍。专门为界面训练过的眼睛,和通用模型的眼睛,不是一个物种。

03一步点准了,五十步任务怎么不跑偏?

思考-行动分离,一套动作原语,还有学会等待。

定位解决单步的"准"。真实任务是长链条:下载数据、整理表格、发邮件,动辄几十步,一步错步步错。规划与执行层要解决的是"稳"。

这层的代表做法来自字节跳动的 UI-TARS:思考-行动分离。模型每轮收到当前截图和历史动作,输出两段文本,先 Thought,再 Action。一次真实的输出长这样:

Thought: 我看到 Preferences 窗口已经打开了…… 让我点击它看看里面有什么选项。 Action: click(start_box='(177,549)')

这段内心戏不是装饰。UI-TARS 用强化学习训练模型在行动前先推理,消融实验显示:带思考的版本,完成率和得分都高于不带思考的;推理链越长,表现越好。最典型的场景是等——模型观察到"应用已启动但没加载完",先输出一句判断,再输出 wait。人类等一秒是本能,模型学会等一秒,是一轮轮训练出来的。

动作空间是另一个被低估的设计。桌面、浏览器、移动端共用一套动作原语,全部落在 PyAutoGUI 这类工具能执行的范围内:

动作作用备注
click / double / right单击、双击、右键坐标由定位层给出
type在输入框键入文本先点中,再键入
scroll滚动页面对付长列表
hotkey组合键Ctrl+C、Alt+Tab
drag拖拽文件、滑块
wait等待加载被低估的关键动作
finished声明任务完成知道收工,比无限循环重要

注意 wait 和 finished 这两个。wait 对付动态加载,finished 诚实声明"做完了"。一个知道收工的模型,比无限循环点下去的模型重要得多。移动端额外多四个:长按、打开应用、回主页、按返回键。

2026 年的新进展,是把"步"变成"批"。阿里 8 月 20 日发布的 Qwen-UI-Agent,允许单次决策批量输出多个动作:电脑任务里约四成动作以批量形式一次下发,执行轨迹大幅缩短。它还能直接执行命令行,电脑任务中 CLI 动作占比近半——能用一条命令解决的事,何必点二十下鼠标。

还有个工程现实绕不开:模拟器和真机是两回事。不少模型在模拟器上是好学生,上真机就翻车。Qwen-UI-Agent 的对策是搭真机环境——一百多台实体手机、一百五十多个真实应用,把"模拟到真实"的落差直接纳入训练和评测。

到这里,看懂屏幕、点准按钮的闭环转起来了。但还有个问题没解决:成本。

04做过一遍的事,为什么每次都从头想?

一半是纠错,一半是省钱。

GUI Agent 的标准循环是四步:观察、规划、定位、行动,然后循环。每步烧 token,每步有延迟。新颖任务没得省。但企业里的真实场景,大多是重复劳动:录数据、走审批、导报表。今天做的和昨天做的,几乎一模一样。

每张截图重新看一遍,每个按钮重新找一遍。这个浪费,2026 年 9 月的一篇论文正面处理了。约翰霍普金斯大学和亚马逊 AGI 团队的 EchoPath,把"记忆"做成了可执行的资产。

思路转变在这里。以前的记忆系统,是把历史轨迹、反思、工作流摘要存下来,作为上下文喂给模型,让它"参考着再做一遍"——本质上还是再推理一次,钱照烧。EchoPath 把验证过的轨迹转换成标准化、参数化的可调用记忆,形式类似一次工具调用:任务意图当索引,应用和状态前置条件当门卫,可修改的输入参数当接口。模型不再"回忆怎么做",而是直接"调用会做的那段"。

最麻烦的是坐标失效。录好的轨迹,窗口一移动、分辨率一变、应用一更新,老坐标就废了。EchoPath 的解法叫图像重瞄:把存储的坐标当视觉证据,拿记忆中的目标界面跟当前屏幕做匹配,执行前先输出修正后的坐标。查无此目标?拒绝回放,退回重新规划,宁可重想,不肯硬点。

账很直接:真实任务上,中位 token 成本降了九成以上,中位执行时间降了约六成。

这是 GUI Agent 进化的一个方向:从更聪明,到更省钱。聪明解决第一次,省钱解决第一万次。而判断一个 Agent 到底好不好用,得看另一套东西——评测。

05榜单上的 90%,和现实里的 20%,哪个是真的?

一张执行式考卷,一条陡峭的分数曲线,两行注脚。

怎么考一个 GUI Agent?考聊天看回答质量,考代码跑测试用例,考"会用电脑"看什么?

看它点得像不像人?不行。动作全对、结果没发生,白搭。OSWorld(NeurIPS 2024)给出了现在事实上的标准答案:执行式评估。把智能体放进真实的 Ubuntu、Windows、macOS 虚拟机,给 369 个真实任务,配 134 个程序化评估函数,检查文件是否真的被创建、配置是否真的被修改。不猜动作,查结果。"把网页标题存进文档"这个任务,就看那个文档存不存在。

这张考卷上,分数的进化曲线很陡:

时间系统OSWorld 成绩
2025.01OpenAI Operator(CUA)38.1%
2025UI-TARS-247.5%
2026 初Agent S372.6%(首超人类基线 72.36%)
2026Claude Opus 4.7 / GPT-5.5约 78%
2026.07实在Agent90.2%(首个破 90%)
2026.08Qwen-UI-Agent(Verified 口径)79.5%

2026 年初有个节点:Agent S3 的 72.6%,第一次超过了人类基线 72.36%。当时的标题是"AI 用电脑超过人类"。回头看,这句话需要两行注脚。

第一行注脚:榜单不等于现实。有独立评估显示,在真实网站的困难任务上,头部智能体的成功率骤降到 20% 以下。静态基准是一张固定的考卷,反复刷同一张卷子,刷出来的是应试能力。真实网络是动态的:页面改版、验证码、反爬、地区差异,考卷每天都在换。

第二行注脚:成功率不等于自主率。任务完成了,不代表没人扶过。长任务里相当一部分成功案例,中途经历过人工干预。这和研究智能体是同一个逻辑:工时上去了,决策还在人手里。

所以 2026 年的评测风向在变。真机基准兴起,MobileWorld-Real 把四百多个任务放到一百多台实体手机上跑。"部分完成率"和"步数效率"开始跟总分并列:Qwen-UI-Agent 在 OSWorld-v2 拿到 40% 部分完成率的同时,省了 58% 的执行步数——用更少的步数做完更多的事,比一个孤零零的百分比更接近"好用"。

还有一件事,所有榜单都考不出来:一个能操作你整台电脑的 AI,风险在哪。这就轮到最后一环。

06收尾:谁来踩刹车?

权限比 API Agent 大得多,所以"停手"是能力的一部分。

GUI Agent 的权限,比 API Agent 大得多。API Agent 能调的工具,是开发者明确开放的清单;GUI Agent 能点的,是屏幕上的一切。你的聊天记录、支付按钮、删除确认框,对它和对你,没有区别。

所以安全设计不是附加项,是能力设计的一部分。看 Qwen-UI-Agent 的分级处理:面对违法或高风险请求,不执行任何界面操作,直接拒绝并终止任务;面对支付、数据删除、隐私授权这类敏感场景,在关键步骤主动停手,向用户说明情况,拿到明确确认再继续。

一个反直觉的认知:Agent 的能力不只是"能做什么",还包括"在什么节点拒绝做"。把不作为设计进系统,才是生产可用的前提。

拆完这条链——观察、定位、规划、执行、记忆、验证、刹车——回到标题的问题:AI 怎么看懂屏幕、点准按钮?答案是一层层叠上去的。感知层决定看不看得见,定位层决定找不找得准,执行层决定稳不稳,记忆层决定省不省,验证层决定考不考得住,安全层决定停不停得下。

GUI Agent 的终点,不是替代人点鼠标。是让任何有屏幕的软件,都变成 AI 可调用的工具——不需要接口,不需要配合,不需要开发者点头。大门一直开着,现在 AI 学会走了。

至于它什么时候能像一个真正的老用户——知道哪个弹窗可以直接关、哪个"确认"点了会后悔——榜单上暂时还没有这一项。