概述
计算机使用是一项测试版功能,使 Claude 能够与桌面环境交互。该工具提供:- 屏幕截图捕获:查看屏幕上当前显示的内容
- 鼠标控制:点击、拖动和移动光标
- 键盘输入:输入文本和使用键盘快捷键
- 桌面自动化:与任何应用程序或界面交互
模型兼容性
计算机使用适用于以下 Claude 模型:| 模型 | 工具版本 | 测试版标志 |
|---|---|---|
| Claude 4 模型 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7(已弃用) | computer_20250124 | computer-use-2025-01-24 |
Claude 4 模型使用针对新架构优化的更新工具版本。Claude Sonnet 3.7(已弃用)引入了额外功能,包括思考功能,以便更深入地了解模型的推理过程。
较旧的工具版本不保证与较新的模型向后兼容。始终使用与您的模型版本相对应的工具版本。
安全考虑
计算机使用是一项测试版功能,具有不同于标准 API 功能的独特风险。与互联网交互时,这些风险会增加。为了最小化风险,请考虑采取以下预防措施:
- 使用具有最小权限的专用虚拟机或容器,以防止直接系统攻击或意外事故。
- 避免让模型访问敏感数据,例如账户登录信息,以防止信息被盗。
- 将互联网访问限制在域名白名单中,以减少暴露于恶意内容的风险。
- 要求人工确认可能导致有意义的真实世界后果的决定,以及任何需要肯定同意的任务,例如接受 Cookie、执行财务交易或同意服务条款。
计算机使用参考实现
通过我们的计算机使用参考实现快速入门,该实现包括 Web 界面、Docker 容器、示例工具实现和代理循环。注意:该实现已更新,包括针对 Claude 4 模型和 Claude Sonnet 3.7 的新工具。请确保拉取最新版本的存储库以访问这些新功能。
请使用此表单提供有关模型响应质量、API 本身或文档质量的反馈 - 我们迫不及待地想听到您的意见!
快速开始
以下是如何开始使用计算机使用工具的方法:仅计算机使用工具需要测试版标头。上面的示例显示了三个工具一起使用,这需要测试版标头,因为它包括计算机使用工具。
计算机使用工具的工作原理
1. 为 Claude 提供计算机使用工具和用户提示
- 将计算机使用工具(以及可选的其他工具)添加到您的 API 请求中。
- 包含需要桌面交互的用户提示,例如”将猫的图片保存到我的桌面”。
2. Claude 决定使用计算机使用工具
- Claude 评估计算机使用工具是否可以帮助解决用户的查询。
- 如果是,Claude 构造一个格式正确的工具使用请求。
- API 响应的
stop_reason为tool_use,表示 Claude 的意图。
3. 提取工具输入,在计算机上评估工具,并返回结果
- 在您的端,从 Claude 的请求中提取工具名称和输入。
- 在容器或虚拟机上使用该工具。
- 使用包含
tool_result内容块的新user消息继续对话。
4. Claude 继续调用计算机使用工具,直到完成任务
- Claude 分析工具结果,以确定是否需要更多工具使用或任务已完成。
- 如果 Claude 决定需要另一个工具,它会以另一个
tool_usestop_reason响应,您应该返回第 3 步。 - 否则,它会向用户提供文本响应。
计算环境
计算机使用需要一个沙箱计算环境,Claude 可以在其中安全地与应用程序和网络交互。该环境包括:- 虚拟显示:一个虚拟 X11 显示服务器(使用 Xvfb),它呈现 Claude 将通过屏幕截图看到的桌面界面,并通过鼠标/键盘操作进行控制。
- 桌面环境:在 Linux 上运行的轻量级 UI,带有窗口管理器(Mutter)和面板(Tint2),为 Claude 提供一致的图形界面进行交互。
- 应用程序:预装的 Linux 应用程序,如 Firefox、LibreOffice、文本编辑器和文件管理器,Claude 可以使用它们来完成任务。
- 工具实现:集成代码,将 Claude 的抽象工具请求(如”移动鼠标”或”截图”)转换为虚拟环境中的实际操作。
- 代理循环:一个程序,处理 Claude 和环境之间的通信,将 Claude 的操作发送到环境,并将结果(屏幕截图、命令输出)返回给 Claude。
- 接收 Claude 的工具使用请求
- 将它们转换为计算环境中的操作
- 捕获结果(屏幕截图、命令输出等)
- 将这些结果返回给 Claude
如何实现计算机使用工具
从我们的参考实现开始
我们构建了一个参考实现,包含快速开始计算机使用所需的一切:理解多代理循环
计算机使用的核心是”代理循环”——一个循环,其中 Claude 请求工具操作,您的应用程序执行它们,并将结果返回给 Claude。这是一个简化的示例:使用计算机使用工具时,您必须为您的模型版本包含适当的测试版标志:
Claude 4 模型
Claude 4 模型
使用
computer_20250124 时,包含此测试版标志:Claude Sonnet 3.7
Claude Sonnet 3.7
使用
computer_20250124 时,包含此测试版标志:通过提示优化模型性能
以下是获得最佳质量输出的一些提示:- 指定简单、明确定义的任务,并为每个步骤提供明确的指示。
- Claude 有时会假设其操作的结果,而不明确检查它们。为了防止这种情况,您可以使用以下提示提示 Claude:
在每个步骤之后,截图并仔细评估您是否达到了正确的结果。明确显示您的思考:"我已评估第 X 步..."如果不正确,请重试。只有当您确认步骤执行正确时,才应继续下一步。 - 某些 UI 元素(如下拉菜单和滚动条)可能很难让 Claude 使用鼠标移动来操纵。如果您遇到这种情况,请尝试提示模型使用键盘快捷键。
- 对于可重复的任务或 UI 交互,在您的提示中包含成功结果的示例屏幕截图和工具调用。
- 如果您需要模型登录,请在您的提示中使用 xml 标签(如
<robot_credentials>)为其提供用户名和密码。在需要登录的应用程序中使用计算机使用会增加由于提示注入而导致不良结果的风险。在向模型提供登录凭据之前,请查看我们的缓解提示注入指南。
如果您反复遇到一组明确的问题,或者提前知道 Claude 需要完成的任务,请使用系统提示为 Claude 提供明确的提示或说明,说明如何成功完成任务。
系统提示
当通过 Claude API 请求 Anthropic 定义的工具之一时,会生成计算机使用特定的系统提示。它类似于工具使用系统提示,但以以下内容开头:您可以访问一组函数来回答用户的问题。这包括访问沙箱计算环境。您目前无法检查文件或与外部资源交互,除非通过调用以下函数。与常规工具使用一样,用户提供的
system_prompt 字段仍然受到尊重,并用于构造组合系统提示。
可用操作
计算机使用工具支持这些操作: 基本操作(所有版本)- screenshot - 捕获当前显示
- left_click - 在坐标
[x, y]处点击 - type - 输入文本字符串
- key - 按下键或键组合(例如”ctrl+s”)
- mouse_move - 将光标移动到坐标
computer_20250124)
在 Claude 4 模型和 Claude Sonnet 3.7 中可用:
- scroll - 向任何方向滚动,具有数量控制
- left_click_drag - 在坐标之间点击并拖动
- right_click、middle_click - 其他鼠标按钮
- double_click、triple_click - 多次点击
- left_mouse_down、left_mouse_up - 细粒度点击控制
- hold_key - 在执行其他操作时按住键
- wait - 在操作之间暂停
示例操作
示例操作
工具参数
| 参数 | 必需 | 描述 |
|---|---|---|
type | 是 | 工具版本(computer_20250124 或 computer_20241022) |
name | 是 | 必须是”computer” |
display_width_px | 是 | 显示宽度(像素) |
display_height_px | 是 | 显示高度(像素) |
display_number | 否 | X11 环境的显示编号 |
将显示分辨率保持在 1280x800 (WXGA) 或以下以获得最佳性能。较高的分辨率可能会由于图像调整大小而导致准确性问题。
重要:计算机使用工具必须由您的应用程序明确执行 - Claude 无法直接执行它。您负责根据 Claude 的请求实现屏幕截图捕获、鼠标移动、键盘输入和其他操作。
在 Claude 4 模型和 Claude Sonnet 3.7 中启用思考功能
Claude Sonnet 3.7 引入了一项新的”思考”功能,允许您在模型处理复杂任务时查看其推理过程。此功能可以帮助您了解 Claude 如何处理问题,对于调试或教育目的特别有价值。 要启用思考,请将thinking 参数添加到您的 API 请求中:
budget_tokens 参数指定 Claude 可以用于思考的令牌数。这从您的总体 max_tokens 预算中扣除。
启用思考后,Claude 将返回其推理过程作为响应的一部分,这可以帮助您:
- 了解模型的决策过程
- 识别潜在的问题或误解
- 从 Claude 的问题解决方法中学习
- 获得对复杂多步骤操作的更多可见性
使用其他工具增强计算机使用
计算机使用工具可以与其他工具结合,以创建更强大的自动化工作流。这在您需要以下情况时特别有用:构建自定义计算机使用环境
参考实现旨在帮助您快速开始使用计算机使用。它包括与 Claude 进行计算机使用所需的所有组件。但是,您可以构建自己的计算机使用环境以满足您的需求。您需要:- 适合与 Claude 进行计算机使用的虚拟化或容器化环境
- 至少一个 Anthropic 定义的计算机使用工具的实现
- 与 Claude API 交互并使用您的工具实现执行
tool_use结果的代理循环 - 允许用户输入以启动代理循环的 API 或 UI
实现计算机使用工具
计算机使用工具实现为无模式工具。使用此工具时,您不需要像其他工具那样提供输入模式;模式内置于 Claude 的模型中,无法修改。1
设置您的计算环境
创建一个虚拟显示或连接到 Claude 将与之交互的现有显示。这通常涉及设置 Xvfb(X 虚拟帧缓冲区)或类似技术。
2
实现操作处理程序
创建函数来处理 Claude 可能请求的每种操作类型:
3
处理 Claude 的工具调用
从 Claude 的响应中提取并执行工具调用:
4
实现代理循环
创建一个循环,直到 Claude 完成任务:
处理错误
实现计算机使用工具时,可能会发生各种错误。以下是处理它们的方法:屏幕截图捕获失败
屏幕截图捕获失败
如果屏幕截图捕获失败,返回适当的错误消息:
无效坐标
无效坐标
如果 Claude 提供的坐标超出显示范围:
操作执行失败
操作执行失败
如果操作执行失败:
遵循实现最佳实践
使用适当的显示分辨率
使用适当的显示分辨率
设置与您的用例匹配的显示尺寸,同时保持在建议的限制内:
- 对于一般桌面任务:1024x768 或 1280x720
- 对于 Web 应用程序:1280x800 或 1366x768
- 避免超过 1920x1080 的分辨率以防止性能问题
实现适当的屏幕截图处理
实现适当的屏幕截图处理
向 Claude 返回屏幕截图时:
- 将屏幕截图编码为 base64 PNG 或 JPEG
- 考虑压缩大型屏幕截图以提高性能
- 包含相关元数据,如时间戳或显示状态
添加操作延迟
添加操作延迟
某些应用程序需要时间来响应操作:
在执行前验证操作
在执行前验证操作
检查请求的操作是否安全且有效:
记录操作以进行调试
记录操作以进行调试
保留所有操作的日志以进行故障排除:
了解计算机使用工具的限制
计算机使用功能处于测试版阶段。虽然 Claude 的功能是最先进的,但开发人员应该了解其限制:- 延迟:当前人工智能交互的计算机使用延迟可能与常规人工指导的计算机操作相比太慢。我们建议关注速度不是关键的用例(例如,后台信息收集、自动化软件测试)在受信任的环境中。
- 计算机视觉准确性和可靠性:Claude 在输出特定坐标同时生成操作时可能会犯错或产生幻觉。Claude Sonnet 3.7 引入了思考功能,可以帮助您了解模型的推理并识别潜在问题。
- 工具选择准确性和可靠性:Claude 在生成操作时选择工具时可能会犯错或产生幻觉,或采取意外操作来解决问题。此外,与利基应用程序交互或同时与多个应用程序交互时,可靠性可能较低。我们建议用户在请求复杂任务时仔细提示模型。
- 滚动可靠性:Claude Sonnet 3.7 引入了具有方向控制的专用滚动操作,提高了可靠性。模型现在可以明确地向任何方向(上/下/左/右)滚动指定的数量。
- 电子表格交互:Claude Sonnet 3.7 中的电子表格交互鼠标点击已改进,添加了更精确的鼠标控制操作,如
left_mouse_down、left_mouse_up和新的修饰键支持。通过使用这些细粒度控制和将修饰键与点击结合,单元格选择可以更可靠。 - 社交和通信平台上的账户创建和内容生成:虽然 Claude 会访问网站,但我们限制其在社交媒体网站和平台上创建账户或生成和共享内容或以其他方式进行人类冒充的能力。我们可能在未来更新此功能。
- 漏洞:越狱或提示注入等漏洞可能会在前沿 AI 系统中持续存在,包括测试版计算机使用 API。在某些情况下,Claude 会遵循内容中发现的命令,有时甚至与用户的指示相冲突。例如,网页上或图像中包含的 Claude 指示可能会覆盖指示或导致 Claude 犯错。我们建议: a. 将计算机使用限制在受信任的环境中,例如具有最小权限的虚拟机或容器 b. 避免在没有严格监督的情况下让计算机使用访问敏感账户或数据 c. 在您的应用程序中启用或请求计算机使用功能所需的权限之前,向最终用户告知相关风险并获得他们的同意
- 不适当或非法操作:根据 Anthropic 的服务条款,您不得使用计算机使用来违反任何法律或我们的可接受使用政策。
定价
Computer use follows the standard tool use pricing. When using the computer use tool: System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt Computer use tool token usage:| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
- Screenshot images (see Vision pricing)
- Tool execution results returned to Claude
If you’re also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.