GUI 智能体用一个干净的 API 换来了一张截图加一只鼠标——并且每一步都在为此付费。
计算机操作智能体——Anthropic 的 computer use、OSWorld/WebArena 类系统——像人一样操作软件:看像素、决定动作、移动光标、敲键、再看。这是最通用的接口(凡有屏幕者皆可用),也是最脆的那个。本文涵盖像素 vs DOM 定位、动作空间、截图循环,以及那笔让 GUI 操控成为最后手段而非默认选项的延迟与可靠性税。
定位是瓶颈:知道点什么 vs 它在哪里。
这是两种不同技能,智能体栽在第二种上。语义定位("我该点提交")相对容易;空间定位——在这一次渲染、这个分辨率、这套主题下,给出那个按钮的像素坐标——才是 OSWorld 类基准显出差距之处。专门的定位评测套件(OSWorld-G 与 Jedi 训练数据)之所以存在,正因为主导误差是元素定位而非规划:智能体知道正确动作,却点偏了一个移位按钮十个像素。
像素定位通用,DOM/无障碍树可靠——两者都用。
截图在原生应用、Citrix 会话、游戏——任何东西上都管用,但坐标对布局、DPI、滚动都很脆。DOM 或无障碍树给出稳定、可寻址的元素句柄,但只对 Web 和经过插桩的应用存在。强范式是混合:在无障碍树存在处优先取其稳健的目标 id,不存在处回退到像素定位,并用截图与树交叉校验,使过期的 DOM 不会把点击指向一个视觉上已移位的元素。
# perceive -> ground -> act -> verify, one GUI step shot = screen.capture() tree = a11y.tree() # stable handles where available tgt = agent.ground(goal, shot, tree) # element id OR (x, y) ui.click(tgt); ui.type(text) assert screen.capture() != shot # did anything happen?
动作空间很小(点击、双击、输入、滚动、按键、拖拽),但失败空间巨大:一次落在空处的点击、一个抢走焦点的模态框、一个仍在加载的页面。每个动作都需要显式的是否生效检查,否则智能体会自信地在一个空操作之上继续搭建。
截图循环是"观察–行动",每一轮都背着一笔感知成本。
不同于观测是廉价文本的编码智能体,GUI 智能体每步都要重新感知一整张图,而这张图既昂贵(视觉 token)又含糊(表单是提交了,还是只是看着相似?)。循环形状与 U1 相同——感知、决策、行动、验证——但验证这一步是真难:从像素确认一个动作的效果,本身就是个智能体可能搞错的视觉问题,这正是 GUI 智能体在不自知的情况下与现实失同步的方式。
延迟与可靠性税以乘法方式累积。
每一步都是一张截图、一次视觉模型推理、一个动作,再等 UI 稳定——以秒计,而非毫秒。一个经由 API 是 3 行脚本的任务,变成 40 步的 GUI 序列,且每步可靠性是相乘的:每步 97%,一个 40 步任务仅约三分之一的概率成功。这是结构性原因,为何 OSWorld 类分数尽管在急剧改善(从发布时的低双位数迈向 2025 年最强系统约 60% 一线,仍远低于人类),仍远低于 API 驱动编码任务那近乎饱和的数字。
可靠性工程:幂等步骤、检查点与恢复。
由于步骤会失败且循环很长,稳健的 GUI 智能体借鉴分布式系统:尽可能让动作幂等(重发一次点击不应导致重复提交)、对进度打检查点使任务中途失败不必从零重启、检测"卡住"(连续 N 轮同一截图)并打断循环、优先用键盘与已知快捷键而非脆弱的像素定点点击。智能体的本事与其说在更聪明的规划,不如说在察觉现实何时偏离了它的模型,并恢复而非硬冲。
何时不该用 GUI 智能体。
GUI 操控是最后手段的接口:仅当没有 API、没有 CLI、没有可脚本化路径时才用——遗留企业应用、无集成的第三方 SaaS、仅限人工的工作流。凡存在稳定编程接口之处,它都更快、更省、可靠性高一个数量级。像素是你将调用的最昂贵的 API;只在软件拒绝暴露任何其他界面时才动用 computer use,并预先为那笔乘法式可靠性税留出预算。