Claude Computer Use 是 Anthropic 于 2024 年 10 月随 Claude 3.5 Sonnet(claude-3-5-sonnet-20241022)推出的视觉驱动桌面控制能力。它把屏幕截图作为模型输入,让 Claude 输出鼠标移动、点击、键入、滚动等结构化动作,再由开发者代码在真实操作系统上执行——从而让大模型直接操作任何 GUI 应用,而不依赖网页 DOM、控件选择器或系统 API。这对传统 RPA 难以处理的遗留系统、跨应用数据流转、浏览器自动化等场景提供了新路径。本文从能力边界与 API 用法讲起,依次覆盖安装配置、可运行的 Python 示例、核心机制、生产部署与避坑、同类工具对比、版本演进、应用场景、常见误区与面试题,读者可按章节直接上手。
掌握 Computer Use 是 AI 工程师从「对话 Agent」进阶到「具身操作 Agent」的关键技能:它定义了「截图感知 → 动作生成 → 循环执行」这一全新的 GUI 自动化范式,也是浏览器自动化与 RPA 技术栈的下一代形态。
目录
速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。
为什么需要 Computer Use:无 DOM、无接口的界面也能自动化
传统自动化有三条路:网页用 Playwright/Selenium 读 DOM,桌面用 RPA 的 UI 选择器,有 API 的系统直接调接口。但企业里大量系统是遗留 C/S 架构、无 DOM、无稳定控件标识,选择器漂移、坐标写死,维护成本极高。大语言模型时代,Agent 默认只能读写文本;面对一个只有像素的界面,模型产生不了任何动作——这是「看得见但动不了」的断层。
Computer Use 把问题重新定义为「视觉 + 动作」:模型输入当前屏幕截图(可选附带 accessibility 历史,即界面控件结构的文本描述),输出 11 种结构化动作原语(鼠标、键盘、滚动、截图),开发者用自己的代码执行动作、再回传新截图,构成一个闭环。因为不依赖控件标识,任何「看得见」的 GUI 都能被操作,无需厂商提供 API 或 DOM。
与 DOM 级方案(如 Playwright MCP)相比,Computer Use 是「看见」而非「读取」:优点是跨应用通用、无需环境适配;缺点是精确度依赖分辨率设置与模型视觉能力,且每轮都要支付图像 token 成本。它本质上是 API 能力而非成品 Agent,循环逻辑必须由开发者实现。
安装与环境配置:3 步就绪
第一步,安装 Python SDK 与本地截图/控制库。pip install anthropic 只装 SDK;要让模型「看见并操作」真实桌面,还需 pyautogui(鼠标键盘控制)、pillow(图像处理)与 mss(截图,性能优于 ImageGrab):
第二步,配置 API Key。在 Anthropic 控制台创建密钥后写入环境变量:
Windows PowerShell 使用 $env:ANTHROPIC_API_KEY="sk-ant-..."。注意密钥不要提交到 Git 仓库,建议用环境变量管理器或密钥服务注入。
第三步,验证连通性——发一次最小请求,确认模型可访问:
两条命令都成功即环境就绪。若输出网络错误,检查代理或防火墙对 api.anthropic.com 的访问;国内直连不稳定,生产环境需配置合规代理。
pip install anthropic pyautogui pillow mssexport ANTHROPIC_API_KEY="sk-ant-..."python -c "import anthropic; c=anthropic.Anthropic(); print(anthropic.__version__)"python -c "import anthropic; c=anthropic.Anthropic(); print(c.messages.create(model='claude-sonnet-4-5-20250929', max_tokens=10, messages=[{'role':'user','content':'hi'}]).content[0].text)"
快速上手:5 分钟跑通官方沙箱
最快路径是官方参考实现 computer-use-demo:一个 Docker 容器内置虚拟 Linux 桌面(Xvfb 虚拟显示 + Fluxbox 窗口管理器)、VNC 远程桌面与 Playwright 浏览器,Claude 在隔离环境里操作桌面,不会误伤宿主机。操作步骤如下:
1. 准备 Docker(20.10+)与可用的 API Key;
2. 克隆官方仓库并启动容器(命令见下);
3. 浏览器打开 http://localhost:8080 进入沙箱控制台(若端口被占用,以 docker compose ps 输出的映射端口为准);
4. 在输入框填写自然语言指令,例如「打开火狐浏览器访问 example.com,并在页面中点击第一个链接」;
5. 观察模型逐轮输出动作、沙箱桌面实时执行,直到任务完成或达到步数上限。
跑通沙箱后,可以把它当作参考实现,替换为自己的动作执行器与业务逻辑。下面是一个最小可运行的本地循环示例(macOS 需在「系统设置 → 隐私与安全性」中给终端授予屏幕录制与辅助功能权限;Windows 需保持桌面会话不被锁定):
运行后 Claude 会自行截图、决策并返回动作,循环最多执行 10 轮。首次运行建议只开一个浏览器窗口,避免多窗口干扰视觉判断。
export ANTHROPIC_API_KEY="sk-ant-..."git clone https://github.com/anthropics/anthropic-quickstarts.gitcd anthropic-quickstarts/computer-use-demodocker compose up --build -d# 浏览器打开 http://localhost:8080
import base64, ioimport anthropicimport pyautoguifrom PIL import ImageGrab client = anthropic.Anthropic()W, H = 1920, 1080 def snap(): buf = io.BytesIO() img = ImageGrab.grab().resize((W, H)) # 强制对齐坐标基准 img.save(buf, format="PNG") return {"type": "image", "source": { "type": "base64", "media_type": "image/png", "data": base64.b64encode(buf.getvalue()).decode()}} def execute(block): a = block.input # {"action":..., "coordinate":[x,y], "text":...} if a["action"] == "left_click": pyautogui.click(*a["coordinate"]) elif a["action"] == "double_click": pyautogui.doubleClick(*a["coordinate"]) elif a["action"] == "type": pyautogui.write(a["text"], interval=0.02) elif a["action"] == "key": pyautogui.hotkey(*a["key"].split("+")) # drag/scroll/right_click 按需补充,完整版见官方 quickstart messages = [{"role": "user", "content": [snap(), { "type": "text", "text": "打开系统浏览器访问 https://example.com"}]}] for _ in range(10): resp = client.beta.messages.create( model="claude-3-7-sonnet-20250219", max_tokens=1024, betas=["computer-use-2024-10-22"], tools=[{"type": "computer_20250129", "name": "computer", "display_width": W, "display_height": H}], messages=messages) messages.append({"role": "assistant", "content": resp.content}) if resp.stop_reason != "tool_use": print("完成:", resp.stop_reason); break for b in resp.content: if b.type == "tool_use" and b.name == "computer": execute(b) messages.append({"role": "user", "content": [snap()]})
核心能力详解:5 大支柱
支柱一:视觉感知。 截图是模型唯一的视觉输入。模型把屏幕当作图像理解按钮位置、表单、弹窗与上下文,不读取任何 DOM 或控件属性;可选传入 accessibility 历史(界面无障碍树,描述控件层级与文本的结构化数据)可显著提升成功率。截图会被缩放至 display_width/display_height 指定的尺寸,坐标输出基于该参考系。
支柱二:动作原语。 computer 工具原生支持 11 类动作:screenshot(截图)、cursor_position(光标位置)、mouse_move(移动)、left_click / left_click_drag / right_click / middle_click / double_click(各类鼠标点击与拖拽)、key(按键组合)、type(键入文本)、scroll(滚动)。所有动作以结构化 JSON 返回,含坐标或文本参数,便于开发者逐条执行与审计。
支柱三:循环执行模型。 官方定义的 agent loop 为:截图 → 拼接用户指令 → 模型返回动作 → 开发者执行 → 回传最新截图 → 依据 stop_reason 判断继续或终止。循环不是自动的,每一步对开发者可见,天然可审计、可干预;这正是与「黑盒 Agent」产品的本质区别。
支柱四:跨 OS 与跨应用。 截图与控制库在 macOS、Windows、Linux 均可工作,浏览器、Office、终端、遗留 C/S 软件一视同仁。支持 computer use 的模型包括 Claude 3.5 Sonnet(20241022)、Claude 3.5 Haiku、Claude 3.7 Sonnet、Claude Sonnet 4 与 Claude Sonnet 4.5。
支柱五:安全设计。 官方安全指南强调提示词注入(prompt injection,页面上的恶意文本诱导模型执行非预期动作)的缓解:在 Docker 或不可变虚拟机中运行、采用最小权限、敏感界面不接入、全程留存动作日志。参考实现默认跑在容器里,就是为了在失控时一键回滚。
生产部署与监控:从上线到运维
部署方式一:Docker 沙箱。 官方 docker-compose 可作评测与演示基线;生产建议自建镜像:Xvfb 虚拟显示 + noVNC + 固定浏览器配置,容器只挂载必要工作目录,网络仅放行白名单域名。优点是隔离提示词注入、可快速重建;缺点是容器内无法操作真实硬件外设,适合纯软件流程。
部署方式二:专用虚拟机或物理机。 用 mss(截图)+ pyautogui(控制)在专用虚机运行,固定分辨率与 DPI 缩放为 100%,关闭屏幕休眠与锁屏;macOS 需授予权限,Windows 用服务账号保持会话。该方式能操作真实企业软件,但隔离性差,需结合快照定期回滚。
可观测性。 至少记录四类数据:① 每轮动作 JSON(action/coordinate/text)全量落库;② 截图按时间戳归档,用于事后复核与缺陷定位;③ token 与成本统计——每轮输入都含整张截图,视觉 token 按图片尺寸计费,长任务成本线性增长,需设预算告警;④ 任务级指标——定义完成率与平均步数,用 OSWorld/WebArena 子集做回归。运行时务必设置最大步数与超时兜底,防止失控循环烧钱。
<p class="para-label">避坑清单:</p>
<ul class="dash-list"><li>坐标偏移:截图缩放后 display_width/height 未同步导致点击错位——截图、模型坐标、控制库必须使用同一像素基准,macOS 高分屏先固定 DPI 为 100%。</li><li>会话冲突:人工和 Agent 同时操作同一桌面会互相抢鼠标——生产环境必须专用虚拟机/容器,禁止共享会话。</li><li>图像成本:每轮都要把整张截图传给模型,视觉 token 随步数累积——先用小任务验证 ROI,控制单任务最大步数。</li><li>提示词注入:网页或弹窗中的恶意指令可能被模型当作任务执行——隔离沙箱 + 最小权限 + 日志审计三步缺一不可。</li><li>网络可达:国内直连 api.anthropic.com 不稳定,生产需配置合规代理与超时重试,避免长任务中断后上下文丢失。</li></ul>
| 维度 | Claude Computer Use | OpenAI Operator | Playwright MCP | UiPath |
|---|---|---|---|---|
| 定位 | 视觉驱动的通用桌面 GUI 控制 API | 云端托管浏览器的 AI 代理产品 | DOM 级浏览器自动化的 MCP 服务 | 企业级 RPA 流程自动化平台 |
| 编排范式 | Agent 循环:截图→动作→执行→回传 | 托管浏览器内自主任务执行 | 工具调用:DOM/ARIA 树 + Playwright 指令 | 编排器 + 微流程(workflow) |
| 类型约束 | 任意 GUI 应用均可操作 | 仅浏览器 | 仅浏览器 | 桌面/Web 均支持,但需适配组件 |
| 学习曲线 | 中(需自建循环与执行器) | 低(SaaS 开箱即用) | 中(需熟悉 Playwright 生态) | 高(需 RPA 开发与治理培训) |
| 生态集成 | Anthropic SDK + Docker 参考实现 | Operator API + 企业版计划 | 任意 MCP 客户端 + 浏览器 | 企业系统 + 人工坐席 + 治理控制台 |
| 生产部署 | 自备沙箱/虚拟机,API 调用 | 托管云端,无需自建环境 | 自建节点或云浏览器 | 企业机器人集群 + 集中控制 |
| License | API 闭源;参考实现开源 | 闭源 SaaS | 开源 MIT | 闭源商业 |
| 适合谁 | 要控制任意桌面的 Agent 开发者 | 不想自建环境的业务用户 | 浏览器 E2E 测试 / 低成本 RPA | 大型企业合规自动化 |
选型建议:需要操作任意桌面软件、自建 Agent 循环且重视可审计性时选 Claude Computer Use;纯浏览器场景、要低成本与高确定性选 Playwright MCP;不想自建沙箱、只想交给托管 Agent 处理网页任务选 OpenAI Operator;大型企业需要审批流、版本治理与合规巡检时选 UiPath。
版本迭代
Computer Use 于 2024 年 10 月作为公测能力随 Claude 3.5 Sonnet 发布;2025 年 2 月随 Claude 3.7 Sonnet 升级工具版本;2025 年 5 月随 Claude Sonnet 4 转为正式 GA(移除 beta 头);2025 年 9 月 Claude Sonnet 4.5 发布并完整支持该能力。演进主线是:从 beta 到稳定 API,模型视觉理解与指令遵循持续增强。
| 版本 | 时间 | 变化 | 提升 |
|---|---|---|---|
| Claude 3.5 Sonnet(claude-3-5-sonnet-20241022) | 2024-10 | computer use 公开 beta,computer_20241022 工具 | 首个视觉桌面控制能力,OSWorld 完整任务 14.9% |
| Claude 3.7 Sonnet(claude-3-7-sonnet-20250219) | 2025-02 | 工具升级为 computer_20250129 | 多步任务规划更稳,长循环任务成功率提升 |
| Claude Sonnet 4(claude-sonnet-4-20250514) | 2025-05 | computer use 正式 GA,computer_20250304 工具 | 移除 beta 头,API 稳定,视觉与指令遵循显著提升 |
| Claude Sonnet 4.5(claude-sonnet-4-5-20250929) | 2025-09 | 最新正式模型,完整支持 computer use(computer_20250610) | 复杂多步 GUI 任务整体表现最佳 |
| 基准 | Claude 3.5 Sonnet(20241022) | Claude 3.7 Sonnet(20250219) | Claude Sonnet 4.5(20250929) | |
|---|---|---|---|---|
| OSWorld 完整任务(纯屏幕) | 14.9% | — | — | 官方发布博客公开数据,此前行业内最佳为 7.7% |
| OSWorld 完整任务(含历史) | 22.0% | — | — | 附 accessibility 历史记录后提升 |
| WebVoyager | 51.6% | — | — | 纯屏幕截图模式的真实浏览器任务 |
| WebVoyager(含历史) | 66.1% | — | — | 包含 accessibility 历史的浏览器任务 |
| WebArena | 28.3% | — | — | 复杂网页代理任务基准 |
后续版本官方未公布同口径的 computer use 基准分数(表中以「—」表示),但新模型在指令遵循、长任务规划上整体更强。选型建议:新项目直接用最新模型;需要可复现回归时锁定固定模型版本并自建评估集。若查阅资料时已有更新版本,以官方 release notes 为准。
AI 应用场景
浏览器自动化与网页任务
阶段:浏览器自动化 / Agent 编排
解决的问题:传统爬虫与自动化依赖选择器与页面结构,改版即失效;Computer Use 不依赖 DOM,页面改版只改变视觉外观,模型仍能识别并操作。官方在 WebVoyager 基准上取得 51.6%(纯截图)、66.1%(含 accessibility 历史)的成功率。
具体案例:官方基准任务涵盖电商搜索加购、登录后修改设置、跨站点信息查询等真实浏览器操作;生产落地采用「模型执行 + 结果抽检」,把重复性网页操作从全程人工变为半自动流水线。
无接口桌面软件(遗留系统)操作
阶段:桌面 GUI 自动化 / RPA 升级
解决的问题:遗留 C/S 软件无 API、无稳定控件标识,传统 RPA 选择器频繁失效;Computer Use 用屏幕截图理解界面,任何「看得见」的软件都能操作。官方 OSWorld 基准(真实桌面 OS 任务)正是用于度量该能力的测试集。
具体案例:官方数据表明完整任务纯屏幕模式成功率 14.9%(20241022 版模型),长链路桌面任务仍需人机协同;实践上适合「半自动处理」——模型执行常见步骤,人工确认关键节点(如提交前的确认弹窗)。
安全隔离的 Agent 评估与红队演练
阶段:Agent 安全评估
解决的问题:Agent 会被网页上的提示词注入操纵,需要专用沙箱验证其行为边界;Computer Use 的 Docker 参考实现天然提供隔离桌面与动作日志,适合做安全回归。
具体案例:将 Agent 放入官方 Docker 沙箱,投喂含恶意指令的测试页面,检查模型是否执行「跳转」「删除」「提交」等危险动作;所有工具调用 JSON 落库,沉淀为可复现的安全测试用例集,每次模型升级后重跑。
常见误区
误区我以为只要调一次 API,Claude 就能自己点鼠标把整个任务做完,不用再管。
正解computer use 只负责「看屏幕 + 输出动作建议」,执行与终止都由开发者控制。官方 agent loop 是:截图 → 模型返回动作 → 你的代码执行 → 回传截图 → 依据 stop_reason 判断继续还是结束。模型永远不会自动执行,循环逻辑(最大步数、超时、终止条件)由开发者实现——这是「能力」而非「成品」。
为何常见:官方演示视频看起来是全程自动,容易误以为模型自带执行器;实际上执行层是 demo 代码,而非模型本身。
误区名字和演示都在浏览器里,应该只能自动化网页。
正解computer use 不区分应用类型,输入是一整块屏幕截图,输出是通用的鼠标键盘动作,因此任何 GUI 软件(Office、终端、遗留 C/S 系统)都能操作。浏览器只是最容易演示的场景;官方说明明确支持任意桌面应用。
为何常见:营销物料大都展示网页任务,加上与 Playwright 等浏览器工具的定位混淆。
误区display_width/display_height 只是个描述性参数,填错了模型也能点准。
正解这两个参数定义了坐标参考系。截图缩放到 (W, H) 后,模型输出的坐标基于该尺寸;若与控制库(如 pyautogui)使用的物理像素不一致,点击会系统性偏移。必须以同一像素基准运行,且先把 macOS 高分屏 / Windows DPI 缩放固定为 100%。
为何常见:初次实践时小窗口截图看不出偏差,一旦换高分屏、多显示器或调整缩放就暴露偏移。
误区视觉方案比选择器方案先进,传统 RPA 可以淘汰了。
正解视觉方案免选择器、通用性强,但代价是每轮都要模型推理、存在误点概率、结果非确定性——OSWorld 完整任务成功率仅 14.9%(3.5 Sonnet 时代),高价值流程仍需人工复核。传统 RPA 选择器方案快、稳、确定,适合高频重复流程。两者是互补关系,不是替代关系。
为何常见:看到「模型直接操作电脑」的演示就默认其精度与稳定性足够,忽视了公开基准的真实成功率与图像 token 成本。
误区本地演示跑通了,生产就直接在员工电脑上跑,省一套虚拟机。
正解官方安全指南明确要求在虚拟机、容器或最小权限环境中运行。网页上的提示词注入可诱导模型执行攻击指令;共享桌面还会产生会话冲突。生产环境必须隔离运行、最小化权限并保留审计日志,这是上线前提而非可选优化。
为何常见:开发环境跑得顺,觉得安全措施拖慢速度;忽略了提示词注入与真实桌面污染的风险。
面试题
Q1. Computer Use 判断当前屏幕状态的主要输入是什么?
- A.屏幕截图(像素图像)← 正确答案
- B.页面 HTML 源码
- C.操作系统日志
- D.用户语音描述
答案:A。computer use 以截图作为唯一视觉输入(可选 accessibility 历史辅助),模型不读 DOM、不读日志。B 是 Playwright 等 DOM 级工具的方式;C、D 与官方 API 设计不符。
Q2. 以下哪些是 computer 工具原生支持的动作?
- A.left_click(左键点击)← 正确答案
- B.key(组合按键)← 正确答案
- C.fetch_url(抓取网页)
- D.scroll(滚动屏幕)← 正确答案
答案:ABD。官方动作集包括 screenshot、cursor_position、mouse_move、left_click、left_click_drag、right_click、middle_click、double_click、key、type、scroll 等。fetch_url 不是 computer 工具的动作,它属于联网类工具;误选 C 说明混淆了视觉控制与网络抓取。
Q3. display_width 与 display_height 参数的核心作用是什么?
- A.调整截图压缩清晰度
- B.定义模型输出坐标基准← 正确答案
- C.限制屏幕刷新频率
- D.控制输出内容长度
答案:B。截图缩放至该尺寸后,模型输出的 coordinate 基于此参考系;执行端必须按同一基准换算物理像素,否则点击偏移。A 是视觉观感问题,C、D 与参数无关。
Q4. 以下哪个模型版本不支持 computer use?
- A.Claude 3.5 Sonnet(20241022)
- B.Claude 3.7 Sonnet(20250219)
- C.Claude 2(2023 年发布)← 正确答案
- D.Claude Sonnet 4(20250514)
答案:C。computer use 于 2024 年 10 月随 claude-3-5-sonnet-20241022 首次引入,Claude 2 时代不存在该能力。A 是首发版本,B、D 是后续支持版本。
Q5. 针对提示词注入,官方推荐的做法有哪些?
- A.在 Docker 或虚拟机沙箱中运行← 正确答案
- B.对屏幕数据做最小化脱敏← 正确答案
- C.直接执行页面上的全部指令
- D.记录所有工具调用审计日志← 正确答案
答案:ABD。官方安全指南要求隔离运行、最小权限、敏感界面不接入、全量审计。C 是典型反例:网页或弹窗中的恶意指令会被模型当作任务执行,必须靠沙箱与人工确认兜底。
Q6. Agent 点击发生系统性坐标偏移,首先应排查什么?
- A.更换更强的模型版本
- B.核对截图与坐标基准← 正确答案
- C.提高 max_tokens 上限
- D.降低截图压缩级别
答案:B。系统性偏移(每次都偏同一方向同一距离)几乎都源于 display_width/height 与执行端物理像素基准不一致,或 DPI 未固定为 100%。换模型、调 token、改压缩级别都解决不了坐标映射问题。
Q7. 关于 computer use 的运行循环,正确的说法是?
- A.模型输出动作后由应用执行← 正确答案
- B.执行后需回传最新截图← 正确答案
- C.模型会自行反复执行动作
- D.终止由 stop_reason 判断← 正确答案
答案:ABD。官方 loop 为截图 → 请求 → 执行动作 → 回传截图 → 判断 stop_reason,环节全部由开发者代码驱动。C 错误:模型只输出动作建议,没有执行器,这正是该能力可控、可审计的原因。
Q8. 相比 Playwright 类 DOM 方案,computer use 的主要短板是?
- A.无法操作 GUI 桌面应用
- B.读不到 DOM 只能看像素← 正确答案
- C.不支持键盘输入动作
- D.只能在 Linux 环境运行
答案:B。computer use 无 DOM 可读,一切靠视觉推理,文本密集与精确选择场景不如 DOM 方案可靠。A、C、D 与事实相反:它能操作任意桌面应用、支持 type/key 动作、可跨三大操作系统运行。
Q9. 官方公布中,Claude 3.5 Sonnet(20241022)在 OSWorld 完整任务(纯屏幕模式)的得分约为?
- A.7.7%
- B.14.9%← 正确答案
- C.28.3%
- D.51.6%
答案:B。官方发布博客给出 OSWorld 完整任务纯屏幕模式 14.9%,高于此前最佳 7.7%;C 是 WebArena 得分,D 是 WebVoyager 得分。该分数说明视觉桌面任务仍属早期,需要人机协同。
Q10. 长链条 computer use Agent 成本随步数增长的根本原因是?
- A.每步输入都含整张截图← 正确答案
- B.按动作执行次数付费
- C.需要独占 GPU 服务器
- D.模型训练费用摊销
答案:A。每轮循环都要把最新截图作为图像输入传给模型,视觉 token 按图片尺寸计费,因此成本随步数线性增长。B、C、D 与官方按 token 计费的模式不符;这也是「压缩分辨率、控制最大步数、设预算告警」成为工程要点的原因。
参考来源
- webpageanthropic-sdk-python(GitHub)Python SDK 源码、示例与 Changelog
- webpageBuilding effective agents(官方研究)Agent 循环设计、工具选择与评估最佳实践