Computer Use 是什么:模型只看与想,点鼠标的是另一段程序

「Computer Use」听起来像模型直接接管你的电脑。Anthropic 和 OpenAI 的官方文档口径一致:模型只负责看截图、决定下一步;真正移动鼠标、敲键盘的,是你写的另一段程序,在你控制的沙箱里跑。先分清这两段职责,再去记工具名。
说明:本文根据官方文档整理概念与选型,未调用付费 Computer Use API,也未在本机跑通完整 agent loop,统一标「未实测」。文中架构图是我们按文档画的示意。
模型从不「连上」你的电脑
Anthropic 文档把流程拆成固定循环:你在 Messages API 的 tools 里声明 computer 工具集;Claude 回一组 tool_use(比如 screenshot、left_click、type);你的程序在沙箱里按顺序执行,再把截图或一句 OK 作为 tool_result 送回去;Claude 再决定要不要继续。文档称这个往返为 agent loop。
OpenAI 文档也写明:应用自己提供 driver,负责读环境、执行允许的动作、收尾清理。模型侧要么发结构化的 computer 动作,要么写一段在沙箱里跑的 Playwright / PyAutoGUI 代码;环境会话、权限、网络规则都归你管。

点错按钮时,先查三处:执行环有没有按顺序跑、截图分辨率和坐标有没有对齐、敏感操作有没有人点确认。这三处没过关,换模型也没用。
两家官方路径怎么对照
| 项 | Anthropic | OpenAI |
|---|---|---|
| 声明方式 | {"type":"computer_toolset_20260801"},默认约 17 个成员工具 | Responses 里 {"type":"computer"},或 SDK 的 ComputerToolset / 代码执行函数工具 |
| 模型输出 | 成员名即动作(screenshot、left_click、zoom…),可一批多步 | 结构化 actions 数组,或在沙箱里跑的一段代码 |
| 你回什么 | 每个 tool_use 对应一条 tool_result,须带回 toolset_name: computer;截图/zoom 回图 | computer_call_output 里回 computer_screenshot,或函数工具的文本/图 |
| 只做网页时 | 文档建议改用 browser use 工具,不必起整桌面 | 可用 BrowserToolset(读页面元素),或托管浏览器的 Agents API |
| 环境谁管 | 你的容器 / 虚拟显示(文档示例含 Xvfb);官方有参考 Docker 实现 | 你的 Playwright / 桌面沙箱,或 Browserbase、E2B 等合作方 |
Anthropic 还写明:一批动作要按顺序执行,前一步失败就别跑后面的,并对未执行的调用回固定错误文案;坐标一律按你回给模型的那张全屏截图像素算,缩放截图时要把坐标反算回真实屏幕。OpenAI 则反复提醒:截图用 detail: "original" 保分辨率,会话状态和浏览器登录态不会跟着 previous_response_id 自动恢复。
起步时先搭哪三块
按 Anthropic 参考实现的拆法,你至少要准备三样东西,缺一样循环都转不起来:
- 可隔离的桌面或浏览器。文档示例用 Xvfb 虚拟显示 + 轻量桌面,外面再套 Docker;OpenAI 示例常用 Playwright Chromium 或合作方托管沙箱。生产账号、已登录 Cookie、本机密钥目录都不要挂进去。
- 动作实现。把模型要的
screenshot/left_click/type映射成真实操作。截图失败就回is_error: true;一批里前一步挂了,后面几步按文档回「未执行」文案,别硬跑。 - agent loop。调用 API → 收到工具请求 → 执行并汇总结果 → 再调用,直到模型不再要工具或碰到你设的轮次上限。上限是防无限循环烧钱的,官方示例里常见设成 10 或 20。
Anthropic 给 Messages API 的最小声明是在 tools 里放 computer_toolset_20260801(常和 bash、文本编辑工具一起声明);OpenAI 侧若走结构化动作,就在 Responses 的 tools 里放 {"type":"computer"}。两边都要求:环境由你起、权限由你收。具体字段以官方当前文档为准,本文不替你抄一份会过期的 curl。
和 MCP、浏览器工具怎么选
- 目标界面有没有稳定 API / MCP?有的话优先接 API 或 MCP。点 GUI 慢、贵、易漂,适合「没有接口、只能点界面」的场景。站内 MCP 是什么、怎么配置 和 Skill 与 MCP 怎么选 写过这条线。
- 任务是否全程在网页里?是的话用浏览器工具或 Chrome DevTools MCP 一类方案,比开整桌面轻。我们测过的 chrome-devtools-mcp 就是「读 DOM、截图、点元素」,不是通用桌面操控。
- 要不要跨应用、文件管理器、本地软件?才轮到 Computer Use。这时执行环、沙箱和审批比提示词更重要;团队里「PR 先交截图/录屏」的做法,见 编码 Agent 实战 5 条。
官方安全清单(别跳过)
Anthropic 单独列出 Computer Use 的风险,并给出几条落地措施:用权限尽量小的专用虚拟机或容器;不要把账号登录信息交给模型;互联网访问做成域名白名单;会带来真实后果的操作(付款、同意条款、接受 Cookie 等)先问人。文档还写明:网页或图片里的指令可能覆盖你的系统提示(提示词注入);开启 computer 工具时,分类器会扫工具返回的截图等内容,发现可疑注入会先让模型核对是不是你的本意——这层防护可向支持申请关闭,但前面的隔离措施仍然要做。
OpenAI 的「Run safely」一节要求类似:隔离环境 + 站点/动作白名单;把屏幕上的文字当不可信输入;购买、改数据、发敏感信息前要确认;给步数/时间/费用设上限,并以应用里的真实结果验收,不要只信模型最后一句「完成了」。
常见坑(文档里反复出现的)
- 点击总偏一截。多半是截图被缩放了,却按原分辨率去点。Anthropic 要求你自己缩放并反算坐标;Retina 还要处理 2× 设备像素比。
- 只处理了第一条 tool_use。一批动作里后面几步会被漏掉,下一轮请求直接被拒。循环必须遍历整批,并带上
toolset_name。 - 以为接了 API 就等于托管了桌面。桌面/浏览器会话在你这边;换一轮对话、进程重启,登录态和打开的窗口都要自己管。
- 网页任务硬上整桌面。延迟更高、截图更贵,还多一圈提示词注入面。能用浏览器工具或 MCP 就别开虚拟桌面。
完成标准
- 能用自己的话画出「模型 → 执行环 → 沙箱 → 回传」四步,并指出模型不直连电脑。
- 能说明何时选 Computer Use、何时选浏览器工具或 MCP。
- 能从官方文档里指出至少三条安全措施,并知道提示词注入对 GUI Agent 同样成立。
最后
若你刚开始给编码 Agent 加外部能力,先把 MCP 和 Skill 跑通,再考虑 Computer Use。需要拦危险命令时,可对照 Claude Code Hooks 实战 先把审批做上,再打开桌面级权限。