L3 · 专题文章

Computer Use

AgentGUI AutomationComputer Use

本页只讲 4 条最关键判断:视觉自适应、坐标映射、闭环控制与安全边界

4核心点
先记住Computer Use 的核心是视觉理解与动作执行的闭环

不掌握坐标映射与容错机制,极易因 UI 微调或异步加载导致任务中断。

LIVE
CORE Computer Use
01 WHAT

是什么

Computer Use 是大模型通过视觉与动作接口直接操控操作系统桌面、应用窗口与鼠标键盘的技术。

02 WHY

为什么

当任务涉及跨应用流转、复杂 UI 交互或无 API 的遗留系统时,开发者与业务人员需要一种能“看懂屏幕并执行操作”的自动化能力。

03 HOW

怎么做

通过提供屏幕截图与操作指令,模型输出坐标或按键动作,由执行器在真实或虚拟环境中完成点击、输入与导航。

04 WHEN

什么时候

适用于无开放 API 的桌面软件、跨多步骤的 GUI 工作流;不适用于有稳定 REST/SDK 接口的场景或高实时性要求任务。

FOCUS

先记住这些

只留最重要的判断,细节见下方实践
01 视觉自适应

不掌握就无法应对 UI 变化

传统 RPA 依赖固定控件树,Computer Use 通过多模态模型实时解析截图,自动适应布局微调与主题切换。

02 坐标映射

决定执行精度的核心机制

模型输出像素坐标需转换为系统级点击位置,必须处理 DPI 缩放、多显示器偏移与窗口动态位移。

03 闭环控制

最高频踩坑:状态不同步

异步加载、弹窗干扰或动画过渡会导致截图与实际操作脱节,需加入等待条件与状态校验步骤。

04 安全边界

不可忽略的风险控制

直接操作系统存在误操作风险,必须设置操作白名单、频率限制、关键步骤确认与快速回滚机制。

PROBLEM / POSITION / INTERFACE

先弄清它为什么存在,以及谁在使用

不从历史开始,从真实工作关系开始。
  1. 01 解决的问题

    需要自动化操作无 API 的桌面应用或跨多个 GUI 程序完成复杂流程。

    传统 RPA 依赖固定坐标或控件树,UI 微调即失效;脚本维护成本极高。

    成功标准
    模型能稳定识别界面元素并执行正确操作,完成端到端任务且具备容错能力。
  2. 02 AI 生态位

    作为 Agent 的执行层,连接视觉理解与系统动作,替代或增强传统 RPA。

    上游
    依赖多模态大模型(视觉理解)、屏幕捕获模块与动作执行器。
    下游
    为业务流程自动化、测试自动化与个人效率工具提供底层操控能力。
  3. 03 人的生态位

    定义任务目标、验收结果、处理异常与设定安全边界。

    适合使用
    目标系统无 API、UI 相对稳定但偶有微调、任务可容忍秒级延迟。
    不必使用
    存在稳定 API/SDK、要求毫秒级响应、或涉及高敏感数据与不可逆操作。
  4. 04 独特价值

    无需预定义控件树或录制脚本,通过视觉理解自适应 UI 变化,泛化能力强。

    坐标精度受分辨率与缩放影响;多步任务易累积误差;需处理异步加载与弹窗干扰。

    复杂度判断
    复杂度不是功能数量,而是控制与验证成本。

INTERFACE FLOW

谁在操作,信息怎样流动

  1. WHO OPERATES

    HUMAN设定任务目标、提供初始上下文、验收结果与处理异常

    MODEL解析屏幕图像,输出坐标、点击或键盘操作指令

    SYSTEM执行动作、捕获新屏幕状态并反馈给模型形成闭环

  2. INPUT

    当前屏幕截图、任务描述、历史操作序列与上下文信息。

  3. CONTROL

    操作频率限制、安全沙箱、坐标映射策略、重试机制与人工介入阈值。

  4. OUTPUT

    结构化动作指令(坐标/按键/滚动),执行后返回新屏幕状态与任务完成信号。

FLOW

最小执行闭环

01观察捕获当前屏幕状态,提取任务相关区域与上下文
02决策模型分析图像,输出下一步操作类型与目标坐标
03执行与验证执行动作后捕获新状态,校验是否达成预期或需重试
CODE / PYTHON最小 Python 调用
import os
import base64
from openai import OpenAI

# 初始化客户端
client = OpenAI(api_key=os.environ["API_KEY"])

# 模拟屏幕截图(实际应使用 pyautogui.screenshot)
with open("screenshot.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode()

# 调用多模态模型
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个桌面操作助手。输出 JSON:{\"action\": \"click\", \"x\": 100, \"y\": 200}"},
        {"role": "user", "content": [
            {"type": "text", "text": "点击登录按钮"},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}}
        ]}
    ],
    response_format={"type": "json_object"}
)

import json
action = json.loads(resp.choices[0].message.content)
print(f"执行操作: {action['action']} 坐标: ({action['x']}, {action['y']})")

最短闭环:读取截图 → 调用多模态模型 → 解析动作指令。真实环境需替换截图源与坐标执行逻辑。

JSON / RESPONSE典型返回(示意)
{
  "id": "chatcmpl-xxx",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "{\"action\": \"click\", \"x\": 450, \"y\": 320}"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1500,
    "completion_tokens": 25,
    "total_tokens": 1525
  }
}

PRACTICE

上线前检查清单

已处理多显示器与 DPI 缩放导致的坐标偏移
已设置操作频率限制与防抖机制
已定义关键操作的人工确认或二次校验步骤
已实现异常状态检测(弹窗、加载失败、网络错误)
已配置操作日志与快速回滚路径

FAQ

常见问题

选型、用法与失败,不复述定义。
01Computer Use 和传统 RPA 有什么区别?

RPA 依赖预定义控件树或录制脚本,UI 变化即失效;Computer Use 通过视觉理解自适应界面,泛化更强但延迟更高。

避免在已有稳定 API 或简单 UI 场景过度使用复杂方案。
02最小可用方式是什么?

截图 → 多模态模型解析 → 输出坐标 → 系统执行点击/输入,形成单步闭环。

帮助快速验证可行性,避免一开始构建复杂多步流程。
03什么时候不需要它?

目标系统有 REST/SDK 接口、要求毫秒级响应、或涉及高敏感数据与不可逆操作时。

控制系统成本与风险,优先选择更稳定、可审计的方案。
04如何防止误操作?

设置操作白名单、频率限制、关键步骤确认、沙箱环境与快速回滚机制。

直接控制系统存在破坏性风险,必须建立安全边界。