Computer Use:Claude AI 操控电脑能力详解

Computer UseAnthropic 于 2024 年 10 月为 Claude 推出的屏幕操控能力。Claude 可以"看"屏幕截图,理解界面元素,然后控制鼠标和键盘操作电脑——像人一样点击按钮、填写表单、切换应用。这是迈向通用 AI Agent 的关键一步。本文详解其原理、应用场景和 API 调用方法。

阅读时长:约 7 分钟 难度:中级 含实战代码

发布: 更新:

Computer Use 的工作原理

Computer Use 的核心是一个观察-决策-行动循环:

  • 观察:接收屏幕截图,用视觉能力理解界面(按钮位置、文字内容、输入框状态)
  • 决策:根据用户指令和当前界面状态,决定下一步操作
  • 行动:输出操作指令(移动鼠标到坐标 x,y → 点击 → 输入文字)
  • 循环:执行操作后获取新截图,继续下一步,直到任务完成

这个过程完全通过 API 实现——Claude 输出操作指令,你的程序负责执行(截图、移动鼠标、点击等)。

支持的操作类型

鼠标操作

移动到坐标、左键/右键/双击、拖拽、滚轮滚动。Claude 通过视觉定位元素位置。

键盘操作

输入文字、按快捷键(Ctrl+C/V)、回车、Tab 切换。支持组合键。

截图获取

请求当前屏幕截图,用于理解操作结果和决定下一步。

等待

等待页面加载、动画完成。Claude 会判断何时界面稳定再继续操作。

应用场景

自动化测试

端到端 UI 测试,无需写 Selenium 脚本。用自然语言描述测试步骤,Claude 自动执行并验证。

数据录入

从一个系统复制数据到另一个系统。处理没有 API 的老旧系统,替代人工操作。

流程自动化

替代传统 RPA。能适应界面变化,处理异常弹窗,不需要预设固定流程。

辅助操作

帮助不熟悉软件的用户完成操作:设置系统配置、安装软件、操作专业工具。

Computer Use vs 传统 RPA

传统 RPA

预设固定流程,按步骤执行。界面变化就失效,需要重新配置。不能处理异常情况。开发成本高。

Computer Use

基于视觉理解,自适应界面变化。能处理弹窗、错误提示等异常。用自然语言描述任务即可。更智能灵活。

实战:API 调用 Computer Use

Python 示例:让 Claude 操控电脑

import anthropic
import base64

client = anthropic.Anthropic(
    api_key="你的Key",
    base_url="https://api.example.com"  # AI的那些事儿中转
)

# 定义 Computer Use 工具
tools = [
    {
        "type": "computer_20241022",
        "name": "computer",
        "display_width_px": 1920,
        "display_height_px": 1080,
        "display_number": 1,
    }
]

# 发送任务指令
r = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[{
        "role": "user",
        "content": "打开浏览器,访问 github.com,搜索 'anthropic sdk python'"
    }]
)

# 处理 Claude 返回的操作指令
for block in r.content:
    if block.type == "tool_use":
        action = block.input
        print(f"执行操作: {action}")
        # action 示例:
        # {"action": "mouse_move", "coordinate": [960, 540]}
        # {"action": "left_click"}
        # {"action": "type", "text": "anthropic sdk python"}
        # {"action": "key", "key": "Return"}
        
        # 你的代码负责执行这些操作,然后截图返回给 Claude

完整循环示例

import pyautogui  # 用于实际执行操作
import subprocess

def take_screenshot():
    """截取屏幕并返回 base64"""
    pyautogui.screenshot("screen.png")
    with open("screen.png", "rb") as f:
        return base64.standard_b64encode(f.read()).decode()

def execute_action(action):
    """执行 Claude 返回的操作"""
    if action["action"] == "mouse_move":
        pyautogui.moveTo(*action["coordinate"])
    elif action["action"] == "left_click":
        pyautogui.click()
    elif action["action"] == "type":
        pyautogui.typewrite(action["text"])
    elif action["action"] == "key":
        pyautogui.press(action["key"])
    elif action["action"] == "screenshot":
        return take_screenshot()

# 循环:Claude 决策 → 执行 → 截图 → Claude 再决策
# 直到任务完成

常见问题

Computer Use 是什么?

Anthropic 为 Claude 开发的屏幕操控能力。Claude 看屏幕截图,控制鼠标键盘操作电脑,像人一样完成界面操作。通过 API 的 tool_use 功能调用。

Computer Use 能做什么?

操作任何图形界面软件:浏览网页、填表单、操作 Excel、测试应用、数据录入。适合自动化重复性界面操作。

和传统 RPA 有什么区别?

传统 RPA 需预设固定流程,界面变化就失效。Computer Use 基于视觉理解,能适应变化、处理异常,用自然语言描述任务即可。

国内能用吗?

可以。通过 AI的那些事儿 中转调用 Claude API 的 Computer Use 功能。需要自己搭建截图和操控的执行环境(如 pyautogui)。

让 AI 操控电脑,国内直连可用

通过 AI的那些事儿调用 Claude Computer Use API,构建智能自动化。