• 消息
  • 托管智能体
  • 管理
Search...
⌘K
第一步
Claude 简介快速入门
使用 Claude 构建
功能概览使用消息 API停止原因与回退拒绝与回退回退额度
模型能力
扩展思考自适应思考努力程度任务预算(测试版)快速模式(研究预览)结构化输出引用流式传输消息批处理搜索结果流式传输拒绝多语言支持嵌入
工具
概览工具使用的工作原理教程:构建使用工具的智能体定义工具处理工具调用并行工具使用工具运行器(SDK)严格工具使用工具使用与提示缓存服务器工具故障排除网络搜索工具网页获取工具代码执行工具顾问工具记忆工具Bash 工具计算机使用工具文本编辑器工具
工具基础设施
工具参考管理工具上下文工具组合工具搜索编程式工具调用细粒度工具流式传输
上下文管理
上下文窗口压缩上下文编辑提示缓存对话中系统消息构建编排模式缓存诊断(测试版)令牌计数
处理文件
文件 APIPDF 支持图像与视觉
技能
概览快速入门最佳实践企业技能API 中的技能
MCP
远程 MCP 服务器MCP 连接器
云平台上的 Claude
Amazon BedrockAmazon Bedrock(旧版)AWS 上的 Claude PlatformMicrosoft FoundryVertex AI
Log in
计算机使用工具
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
消息/工具

计算机使用工具

Was this page helpful?

  • 概述
  • 安全注意事项
  • 快速开始
  • 计算机使用的工作原理
  • 计算环境
  • 如何实现计算机使用
  • 从参考实现开始
  • 理解智能体循环
  • 通过提示优化模型性能
  • 系统提示
  • 可用操作
  • 工具参数
  • 与扩展思考结合使用
  • 使用其他工具增强计算机使用
  • 构建自定义计算机使用环境
  • 了解计算机使用的局限性
  • 数据保留
  • 定价
  • 后续步骤

Claude 可以通过计算机使用工具与计算机环境进行交互,该工具提供截图功能和鼠标/键盘控制,用于自主桌面交互。在 WebArena(一个针对真实网站自主网页导航的基准测试)上,Claude 在单智能体系统中取得了最先进的结果,展示了端到端完成多步骤浏览器任务的强大能力。

计算机使用功能目前处于测试阶段,需要使用 beta header(测试版标头):

  • "computer-use-2025-11-24" 适用于 Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 4.6 和 Claude Opus 4.5
  • "computer-use-2025-01-24" 适用于 Claude Sonnet 4.5、Claude Haiku 4.5、Claude Opus 4.1(已弃用)、Claude Sonnet 4(已弃用)和 Claude Opus 4(已弃用)

请通过反馈表单分享您对此功能的反馈。

此功能符合零数据保留(ZDR)的条件。当您的组织签订了 ZDR 协议时,通过此功能发送的数据在 API 响应返回后不会被存储。

概述

计算机使用是一项测试版功能,使 Claude 能够与桌面环境进行交互。此工具提供:

  • 截图捕获: 查看屏幕上当前显示的内容
  • 鼠标控制: 点击、拖动和移动光标
  • 键盘输入: 输入文本和使用键盘快捷键
  • 桌面自动化: 与任何应用程序或界面进行交互

虽然计算机使用可以与其他工具(如 bash 和文本编辑器)结合使用,以实现更全面的自动化工作流程,但计算机使用特指计算机使用工具查看和控制桌面环境的能力。

有关模型支持情况,请参阅工具参考。

安全注意事项

计算机使用是一项测试版功能,具有与标准 API 功能不同的独特风险。在与互联网交互时,这些风险会进一步加剧。

为了将风险降至最低,请考虑采取以下预防措施:

  1. 使用具有最低权限的专用虚拟机或容器,以防止直接的系统攻击或意外事故。
  2. 避免让模型访问敏感数据(如账户登录信息),以防止信息被窃取。
  3. 将互联网访问限制在允许的域名列表内,以减少接触恶意内容的风险。
  4. 对于可能导致重大现实后果的决策以及任何需要明确同意的任务(如接受 Cookie、完成金融交易或同意服务条款),请要求人工确认。

在某些情况下,Claude 会遵循内容中发现的命令,即使这些命令与用户的指令相冲突。例如,网页上或图像中包含的 Claude 指令可能会覆盖用户指令或导致 Claude 出错。请采取预防措施,将 Claude 与敏感数据和操作隔离开来,以避免与提示注入相关的风险。

Anthropic 已训练模型抵御这些提示注入,并增加了额外的防御层。如果您使用计算机使用工具,分类器将自动对您的提示运行,以标记潜在的提示注入实例。当这些分类器在截图中识别出潜在的提示注入时,它们会自动引导模型在继续下一步操作之前请求用户确认。这种额外的保护并非适用于所有用例(例如,没有人工参与的用例),因此如果您希望选择退出并关闭此功能,请联系支持团队。

即使有分类器防御层,这些预防措施仍然很重要。

在您自己的产品中启用计算机使用功能之前,请告知最终用户相关风险并获得他们的同意。

计算机使用参考实现

开始使用计算机使用参考实现,其中包括 Web 界面、Docker 容器、示例工具实现和智能体循环。

快速开始

以下是如何开始使用计算机使用功能:

只有计算机使用工具需要测试版标头。

上述示例展示了三个工具一起使用的情况,由于包含了计算机使用工具,因此需要测试版标头。


计算机使用的工作原理

  1. 1

    向 Claude 提供计算机使用工具和用户提示

    • 将计算机使用工具(以及可选的其他工具)添加到您的 API 请求中。
    • 包含一个需要桌面交互的用户提示,例如"将一张猫的图片保存到我的桌面"。
  2. 2

    Claude 选择计算机使用工具

    • Claude 评估计算机使用工具是否能帮助解决用户的查询。
    • 如果可以,Claude 会构建一个格式正确的工具使用请求。
    • API 响应的 stop_reason 为 tool_use,表示这是一个工具使用请求。
  3. 3

    提取工具输入,在计算机上评估工具,并返回结果

    • 在您这一端,从 Claude 的请求中提取工具名称和输入。
    • 在容器或虚拟机上使用该工具。
    • 使用包含 tool_result 内容块的新 user 消息继续对话。
  4. 4

    Claude 持续调用计算机使用工具,直到完成任务

    • Claude 分析工具结果,以确定是否需要更多工具使用或任务是否已完成。

在没有用户输入的情况下重复步骤 3 和 4 被称为"智能体循环"(agent loop),即 Claude 以工具使用请求进行响应,而您的应用程序以评估该请求的结果响应 Claude。

计算环境

计算机使用需要一个沙盒化的计算环境,Claude 可以在其中安全地与应用程序和网络进行交互。此环境包括:

  1. 虚拟显示器: 一个虚拟 X11 显示服务器(使用 Xvfb),用于渲染 Claude 将通过截图查看并通过鼠标/键盘操作控制的桌面界面。

  2. 桌面环境: 在 Linux 上运行的轻量级 UI,包含窗口管理器(Mutter)和面板(Tint2),为 Claude 提供一致的图形界面进行交互。

  3. 应用程序: 预装的 Linux 应用程序,如 Firefox、LibreOffice、文本编辑器和文件管理器,Claude 可以使用它们来完成任务。

  4. 工具实现: 将 Claude 的抽象工具请求(如"移动鼠标"或"截图")转换为虚拟环境中实际操作的集成代码。

  5. 智能体循环: 一个处理 Claude 与环境之间通信的程序,将 Claude 的操作发送到环境,并将结果(截图、命令输出)返回给 Claude。

当您使用计算机使用功能时,Claude 不会直接连接到此环境。相反,您的应用程序会:

  1. 接收 Claude 的工具使用请求
  2. 将它们转换为计算环境中的操作
  3. 捕获结果(如截图和命令输出)
  4. 将这些结果返回给 Claude

为了安全和隔离,参考实现在 Docker 容器内运行所有这些内容,并配置了适当的端口映射以便查看和与环境交互。


如何实现计算机使用

从参考实现开始

我们提供了一个参考实现,其中包含开始使用计算机使用所需的一切:

  • 一个适用于 Claude 计算机使用的容器化环境
  • 计算机使用工具的实现
  • 一个与 Claude API 交互并运行计算机使用工具的智能体循环
  • 一个用于与容器、智能体循环和工具交互的 Web 界面。

理解智能体循环

计算机使用的核心是"智能体循环":一个 Claude 请求工具操作、您的应用程序运行这些操作并将结果返回给 Claude 的循环。以下是一个简化示例:

循环会持续进行,直到 Claude 在不请求任何工具的情况下响应(任务完成)或达到最大迭代限制。此保护措施可防止可能导致意外 API 成本的潜在无限循环。

在阅读本文档的其余部分之前,请先试用参考实现。

通过提示优化模型性能

以下是一些获得最佳质量输出的技巧:

  1. 指定简单、定义明确的任务,并为每个步骤提供明确的指令。
  2. Claude 有时会在未明确检查结果的情况下假设其操作的结果。为防止这种情况,您可以向 Claude 提示:After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.
  3. 某些 UI 元素(如下拉菜单和滚动条)可能难以让 Claude 通过鼠标移动来操作。如果您遇到这种情况,请尝试提示模型使用键盘快捷键。
  4. 对于可重复的任务或 UI 交互,请在提示中包含成功结果的示例截图和工具调用。
  5. 如果您需要模型登录,请在提示中使用 XML 标签(如 <robot_credentials>)提供用户名和密码。在需要登录的应用程序中使用计算机使用功能会增加因提示注入而导致不良结果的风险。在向模型提供登录凭据之前,请查看缓解越狱和提示注入。
  6. 在构建用户轮次的 content 数组时,将指令文本放在截图图像之前。在处理图像之前提供目标描述可以提高点击准确性。
  7. 当使用设置了 enable_zoom: true 的 computer_20251124 时,如果被问及在截图默认分辨率下无法辨认的小文本或特定 UI 元素(如侧边栏中的文件名、选项卡标题、状态栏文本、行号或按钮标签),Claude 会放大某个区域。如果 Claude 没有按您的预期进行放大,请询问特定区域或元素,而不是整个屏幕。

如果您反复遇到一组明确的问题,或者提前知道 Claude 需要完成的任务,请使用系统提示为 Claude 提供有关如何成功完成任务的明确提示或指令。

对于跨多个会话的智能体,请在每个会话开始时运行端到端验证,而不仅仅是在实现之后。基于浏览器的检查可以捕获仅靠代码级审查无法发现的来自先前会话的回归问题。有关详细信息,请参阅长时间运行智能体的有效框架。

系统提示

当通过 Claude API 请求 Anthropic 架构工具之一时,会生成一个特定于计算机使用的系统提示。它类似于工具使用系统提示,但开头为:

You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.

与常规工具使用一样,用户提供的 system_prompt 字段仍然会被采用,并用于构建组合系统提示。

可用操作

计算机使用工具支持以下操作:

基本操作(所有版本)

  • screenshot: 捕获当前显示内容
  • left_click: 在坐标 [x, y] 处点击
  • type: 输入文本字符串
  • key: 按下按键或按键组合(例如 "ctrl+s")
  • mouse_move: 将光标移动到坐标位置

增强操作(computer_20250124) 适用于所有支持计算机使用的模型:

  • scroll: 向任意方向滚动并控制滚动量
  • left_click_drag: 在坐标之间点击并拖动
  • right_click、middle_click: 其他鼠标按钮
  • double_click、triple_click: 多次点击
  • left_mouse_down、left_mouse_up: 细粒度的点击控制
  • hold_key: 按住某个键指定的持续时间(以秒为单位)
  • wait: 在操作之间暂停

增强操作(computer_20251124) 适用于 Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 4.6 和 Claude Opus 4.5:

  • computer_20250124 中的所有操作
  • zoom: 以完整分辨率查看屏幕的特定区域。需要在工具定义中设置 enable_zoom: true。接受一个 region 参数,其坐标 [x1, y1, x2, y2] 定义了要检查区域的左上角和右下角。

工具参数

参数必需描述
type是工具版本(computer_20251124 或 computer_20250124)
name是必须为 "computer"
display_width_px是显示宽度(像素)
display_height_px是显示高度(像素)
display_number否X11 环境的显示编号
enable_zoom否

重要提示: 您的应用程序必须显式运行计算机使用工具;Claude 无法直接运行它。您负责根据 Claude 的请求实现截图捕获、鼠标移动、键盘输入和其他操作。

与扩展思考结合使用

有关将计算机使用与扩展思考结合使用的信息,请参阅扩展思考。

具体到计算机使用,内部基准测试建议采用以下 effort 设置:

  • Claude Opus 4.7: 默认使用 high;对于高吞吐量或成本敏感的工作负载,使用 low。
  • Claude Sonnet 4.6 和 Claude Opus 4.6: 默认使用 medium(最佳准确性与成本比)。避免使用 max,它会增加令牌成本,但不会提高 UI 任务的准确性。在这些模型上,low 使用的输出令牌比完全禁用思考更少(错误更少意味着重试更少),使其成为成本敏感循环的理想选择。

使用其他工具增强计算机使用

要在计算机使用的同时添加其他工具,请将它们包含在同一个 tools 数组中。快速开始部分展示了这种模式,结合使用了 bash 工具和文本编辑器工具。您可以用同样的方式添加自己的自定义工具定义。

构建自定义计算机使用环境

参考实现旨在帮助您开始使用计算机使用功能。它包含让 Claude 使用计算机所需的所有组件。但是,您可以根据自己的需求构建自己的计算机使用环境。您需要:

  • 一个适用于 Claude 计算机使用的虚拟化或容器化环境
  • 至少一个 Anthropic 架构计算机使用工具的实现
  • 一个与 Claude API 交互并使用您的工具实现运行 tool_use 结果的智能体循环
  • 一个允许用户输入以启动智能体循环的 API 或 UI

实现计算机使用工具

计算机使用工具是作为无架构(schema-less)工具实现的。使用此工具时,您不需要像其他工具那样提供输入架构;该架构已内置于 Claude 的模型中,无法修改。

处理错误

在实现计算机使用工具时,可能会发生各种错误。以下是处理方法:

处理更高分辨率的坐标缩放

Claude Opus 4.8 和 Claude Opus 4.7 支持长边最多 2576 像素,其坐标与图像像素为 1:1 对应(无需缩放因子转换)。以下 1568 像素的指导适用于较早的模型。

API 将图像限制为最长边最多 1568 像素,总计约 115 万像素(有关详细信息,请参阅图像调整大小)。例如,1512x982 的屏幕会被下采样到约 1330x864。Claude 分析这个较小的图像并返回该空间中的坐标,但您的工具在原始屏幕空间中执行点击。

除非您处理坐标转换,否则这可能导致 Claude 的点击坐标偏离目标。

要解决此问题,请自行调整截图大小并将 Claude 的坐标按比例放大:

macOS Retina 显示器以 2 的设备像素比捕获截图,因此图像分辨率是逻辑屏幕坐标的两倍。请在发送前将截图缩小 2 倍,或在发出点击之前将 Claude 返回的坐标减半。

诊断点击问题

如果点击未命中目标,原因通常是以下之一:

症状可能原因尝试方法
点击始终向一个方向偏移display_width_px/display_height_px 与实际发送的图像尺寸不匹配,或图像超出 API 限制并被静默缩小确保显示尺寸与调整大小后的截图完全匹配;预先缩小以适应 API 限制
点击落在正确区域但未命中目标目标非常小,从 4K+ 源缩小时丢失了细节,或宽高比被扭曲设置 enable_zoom: true;以较低 DPI 捕获或裁剪到相关区域;调整大小时保持宽高比
Claude 完全点击了错误的元素指令不明确,或附近有视觉上相似的元素使用位置提示("右下角的蓝色提交按钮");将交互分解为更小的步骤
准确性始终较差发送的截图超出 API 限制,或分辨率太低预先缩小以适应限制;尝试以 1280x720 作为基准

模型选择会影响点击精度。 Claude Sonnet 4.6 在点击方面比 Claude Opus 4.6 机械精度更高,并且在截图需要大幅缩小时更加稳健。Claude Opus 4.7 缩小了这一差距:其点击精度与 Sonnet 4.6 大致相当,并且其更高的分辨率限制意味着需要更少的缩小处理。

遵循实现最佳实践


了解计算机使用的局限性

计算机使用功能目前处于测试阶段。虽然 Claude 的能力处于业界领先水平,但开发者应了解其局限性:

  1. 延迟: 当前人机交互中的计算机使用 "latency"(延迟)可能比常规的人工操作计算机慢得多。请在可信环境中专注于对速度要求不高的用例(例如后台信息收集、自动化软件测试)。
  2. 计算机视觉的准确性和可靠性: Claude 在生成操作时输出具体坐标可能会出错或产生幻觉。扩展思考可以帮助您理解模型的推理过程并识别潜在问题。
  3. 工具选择的准确性和可靠性: Claude 在生成操作时选择工具可能会出错或产生幻觉,或者采取意外的操作来解决问题。此外,在与小众应用程序或同时与多个应用程序交互时,可靠性可能会降低。在请求执行复杂任务时,请仔细编写提示。
  4. 滚动可靠性: 滚动操作支持方向控制(上、下、左、右)和指定的滚动量。在滚动不生效的应用程序中,使用键盘替代方案(如 Page Down 键)可能会有所帮助。
  5. 电子表格交互: 使用精细的鼠标控制操作(left_mouse_down、left_mouse_up)和修饰键组合来选择单个单元格。复杂的电子表格操作可能仍需要多次尝试。
  6. 在社交和通讯平台上创建账户和生成内容: 虽然 Claude 会访问网站,但 Claude 在社交媒体网站和平台上创建账户、生成和分享内容或以其他方式进行人类冒充的能力是受限的。此功能未来可能会更新。
  7. 漏洞: 越狱或提示注入等漏洞可能在前沿 AI 系统中持续存在,包括测试版的计算机使用 API。在某些情况下,Claude 会遵循内容中发现的指令,有时甚至与用户的指令相冲突。例如,网页上或图像中包含的 Claude 指令可能会覆盖原有指令或导致 Claude 出错。请考虑以下措施: a. 将计算机使用限制在可信环境中,例如具有最低权限的虚拟机或容器 b. 在没有严格监督的情况下,避免让计算机使用功能访问敏感账户或数据 c. 在您的应用程序中启用或请求计算机使用功能所需的权限之前,告知最终用户相关风险并获得其同意
  8. 根据 Anthropic 的服务条款,您不得使用计算机使用功能违反任何法律或可接受使用政策。

请始终仔细审查和验证 Claude 的计算机使用操作和日志。在没有人工监督的情况下,请勿将 Claude 用于需要完美精度或涉及敏感用户信息的任务。

数据保留

计算机使用是一个客户端工具。会话中涉及的所有屏幕截图、鼠标操作、键盘输入和任何文件均在您的环境中捕获和存储,而非由 Anthropic 存储。Anthropic 在 API 调用过程中实时处理屏幕截图图像和操作请求,但在返回响应后不会保留这些数据。

由于您的应用程序控制计算机使用数据的存储位置和方式,因此计算机使用符合 ZDR(零数据保留)资格。有关所有功能的 ZDR 资格,请参阅 API 和数据保留。

定价

计算机使用遵循标准的工具使用定价。使用计算机使用工具时:

系统提示开销:计算机使用测试版会向系统提示添加 466-499 个令牌

计算机使用工具的令牌用量:

模型每个工具定义的输入令牌数
Claude 4.x 模型735 个令牌

额外的令牌消耗:

  • 屏幕截图图像(请参阅视觉定价)
  • 返回给 Claude 的工具执行结果

如果您在使用计算机使用工具的同时还使用 bash 或文本编辑器工具,这些工具有各自的令牌成本,详见其各自的文档页面。

后续步骤

参考实现

开始使用完整的基于 Docker 的实现

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-4-8",  # or another compatible model
    max_tokens=1024,
    tools=[
        {
            "type": "computer_20251124",
            "name": "computer",
            "display_width_px": 1024,
            "display_height_px": 768,
            "display_number": 1,
        },
        {"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
        {"type": "bash_20250124", "name": "bash"},
    ],
    messages=[{"role": "user", "content": "Save a picture of a cat to my desktop."}],
    betas=["computer-use-2025-11-24"],
)
print(response)
  • 如果 Claude 确定需要另一个工具,它会以另一个 tool_use stop_reason 进行响应,您应返回到步骤 3。
  • 否则,它会为用户生成文本响应。
  • 启用缩放操作(仅限 computer_20251124)。设置为 true 以允许 Claude 放大特定屏幕区域。默认值:false
    1. 1

      设置您的计算环境

      创建一个虚拟显示器或连接到 Claude 将与之交互的现有显示器。这通常涉及设置 Xvfb(X 虚拟帧缓冲区)或类似技术。

    2. 2

      实现操作处理程序

      创建函数来处理 Claude 可能请求的每种操作类型:

    3. 3

      处理 Claude 的工具调用

      从 Claude 的响应中提取并运行工具调用:

    4. 4

      实现智能体循环

      创建一个循环,持续运行直到 Claude 完成任务:

    不当或非法行为:
    工具文档

    了解有关工具使用和创建自定义工具的更多信息

    详细最佳实践

    关于分辨率、思考力度和上下文管理的基准测试建议