生产环境中的 Computer Use 代理:当像素取代 API 调用时
大多数 AI agent 通过结构化 API 与世界交互 —— 干净的 JSON 输入,干净的 JSON 输出。但有一类日益增多的 agent 完全抛弃了这种约定。计算机使用 (Computer use) agent 查看截图,对所见内容进行推理,并像人类操作员一样操作鼠标和键盘。当唯一的集成界面是屏幕时,像素就变成了 API。
这听起来像是个花招,直到你意识到有多少企业软件根本没有 API。遗留的 ERP 系统、内部管理面板、专有的桌面应用程序 —— GUI 是唯一的接口。多年来,机器人流程自动化 (RPA) 通过脆弱的、基于选择器 (selector) 的脚本来处理这些问题,只要按钮移动了三个像素,脚本就会失效。计算机使用 agent 承诺了一些不同的东西:像人类一样适应 UI 变化的视觉理解能力。
但演示与生产环境之间的差距是巨大的。最优秀的 agent 在受限的 Web 任务中成功率能达到 87%,但在开放式桌面自动化中则降至 20%。一个包含 50 个步骤的工作流,如果每一步的成功率为 90%,那么最终成功完成的概率仅为 0.5%。了解这种架构在何处奏效 —— 以及在何处会遭遇灾难性的失败 —— 是决定它是一个有用的工具还是一个昂贵的截图生成器的关键。
See-Think-Act 循环
每个计算机使用 agent 都运行着同样的基本循环:捕获截图,将其发送给视觉语言模型进行推理,执行选定的操作(点击、键入、滚动),然后捕获新截图以观察结果。这个循环不断重复,直到任务完成或 agent 放弃。
延迟预算可以分解为三个阶段:
- 感知 (Perception)(截图捕获和编码):目标低于 500ms
- 认知 (Cognition)(LLM 对图像的推理):目标低于 2 秒
- 执行 (Execution)(操作系统级的鼠标/键盘命令):目标低于 100ms
在实践中,认知阶段占据主导地位。云端托管的视觉模型每步操作需要 2-5 秒,这意味着一个 50 步的任务需要 2-4 分钟的纯推理时间。一个简单的文件移动操作 —— 大约 10 个离散步骤 —— 成本约 0.10 美元,耗时 30-50 秒。将其扩展到复杂的工作流,每个任务的成本将达到 1-4 美元,每张截图消耗超过 15,000 个 token。
目前出现了两种架构方法。端到端 Agent 使用单个视觉语言模型来处理整个循环 —— 输入截图和任务描述,输出动作。它们更简单,在长任务中更稳定,但决策透明度有限。组合式 Agent 将流水线拆分为不同的阶段 —— grounding 模型识别 UI 元素,规划模型决定下一步行动,执行层负责实施。这增加了可解释性,但也在组件之间引入了误差传播。
业界正在向混合模式趋同:在可用时使用结构化可访问性树 (accessibility trees) 和 DOM 解析,对于自定义 UI 和遗留系统则回退到基于视觉的推理。微软的 UFO² agent 堪称典范 —— 它将 Windows UI 自动化与基于视觉的解析相结合,因此无需切换架构即可处理标准控件和非标准界面。
没人提及的坐标缩放问题
这里有一个让每个构建第一个计算机使用 agent 的团队都会跌倒的工程细节:坐标转换。视觉模型通常接收调整为 1024×1024 像素的图像,但实际屏幕的分辨率为 1920×1080 或更高。当模型说“在 (512, 300) 处点击”时,该坐标存在于模型的图像空间中,而不是屏幕的原生分辨率。
你需要一个坐标缩放函数,在执行之前将预测的坐标映射回原生屏幕分辨率。如果搞错了这一点,每一次点击都会落在错误的地方 —— 偏差可能不大,但足以点错按钮。在映射非线性的高 DPI 显示器上,这尤其危险。
精度问题在标准分辨率下会进一步加剧。微小的 UI 元素 —— 下拉箭头、关闭按钮、切换开关 —— 在模型调整大小后的输入中仅占几个像素。研究表明存在两种截然不同的 grounding 失败:空间对齐失败,即模型识别出了正确的元素但定位不精确;以及语义对齐失败,即模型由于误解了指令而精确地点击了错误的元素。
尖端模型在整洁的界面上能达到约 90% 的 grounding 准确率。但对于包含许多细小、排列紧密的元素的密集 UI —— 想象一下电子表格工具栏或 IDE 面板 —— 仍然是一个持久的挑战。
