

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon Bedrock 模型使用计算机使用工具自动执行 GUI 任务
<a name="computer-use"></a>

计算机使用是一个用于自动执行图形用户界面 (GUI) 任务的AnthropicClaude工具系列（测试版）。模型以 JSON 格式返回诸如`screenshot``left_click`、`type`、和`scroll`之类的`tool_use`操作。您的应用程序在桌面或容器上执行这些操作，并在下一回合将生成的屏幕截图返回到Claude。

有关底层工具协议、完整操作列表和提示工程指导，请参阅文档中的[Anthropic计算机使用](https://docs.anthropic.com/en/docs/build-with-claude/computer-use)。除了该协议之外，本页还介绍了 Amazon 的 Bedrock-specific使用情况。

**警告**  
根据服务条款的定义，计算机使用作为 “测试服务” AWS 提供给您。它受您与之达成的协议 AWS、 AWS 服务条款和适用的 EULA 范本的约束。计算机使用 API 会带来与标准 API 功能或聊天界面不同的独特风险。使用计算机使用 API 与互联网进行交互时，这些风险会更加明显。为了最大限度地降低风险，请考虑采取如下预防措施：  
在具有最低权限的专用虚拟机或容器中操作计算机使用功能，以防止直接的系统攻击或事故。
避免授予计算机使用 API 访问敏感账户或数据的权限，以防止信息被盗。
限制计算机使用 API 的互联网访问所需域，以减少恶意内容的暴露。
请人工随时关注敏感任务（例如做出可能导致实际后果的决策）和任何需要肯定同意的操作（例如接受 Cookie、执行金融交易或同意服务条款），以确保进行适当的监督。
您允许 Claude 查看或访问的任何内容都可能覆盖指令或导致 Claude 犯错或执行意外操作。必须采取适当的预防措施，例如将 Claude 与敏感数据和操作隔离，包括避免与提示注入相关的风险。在启用或请求必要的权限以在您自己的产品中启用计算机使用功能之前，请告知终端用户任何相关风险，并酌情征得他们的同意。

**Topics**
+ [在 Amazon Bedrock 上使用电脑使用](#computer-use-bedrock-specifics)
+ [示例请求](#computer-use-example-code)

## 在 Amazon Bedrock 上使用电脑使用
<a name="computer-use-bedrock-specifics"></a>

`bedrock-runtime`和`bedrock-mantle`端点均支持使用计算机。要了解哪些型号支持在每个端点上使用计算机，请参阅每个型号中的*功能和特*性表[模型一览](model-cards.md)。向不支持计算机使用的模型提交请求，或者将工具类型与不支持的模型配对，都会返回。`400 invalid_request_error`

要允许根据请求使用计算机，请同时包括以下两项：
+ 命名计算机用测试版的`anthropic_beta`条目（例如，`"anthropic_beta": ["computer-use-2025-11-24"]`在的请求正文中或的 `anthropic-beta: computer-use-2025-11-24` HTTP 标头中）。`bedrock-runtime` `bedrock-mantle`
+ `tools`数组中的一个或多个Anthropic预定义工具条目，其`type`字段与测试版相匹配（例如`computer_20251124``bash_20250124`、或`text_editor_20250124`）。

有关 beta 版本到工具类型的配对、其他Anthropic定义的工具（bash 和文本编辑器）以及完整的请求和响应字段文档，请参阅。[计算机使用（测试版）](model-parameters-anthropic-claude-messages-tool-use.md#model-parameters-anthropic-claude-messages-computer-use)

## 示例请求
<a name="computer-use-example-code"></a>

以下 Python 示例使用计算机使用工具通过`bedrock-runtime`端点发送消息 API 请求。将`modelId`替换为支持计算机使用的版本（请参阅[模型一览](model-cards.md)）。

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model(
    modelId="us.anthropic.claude-opus-4-7",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "anthropic_beta": ["computer-use-2025-11-24"],
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "Take a screenshot of the desktop."}
        ],
        "tools": [
            {
                "type": "computer_20251124",
                "name": "computer",
                "display_width_px": 1024,
                "display_height_px": 768,
            }
        ],
    }),
)

result = json.loads(response["body"].read())
print(result["stop_reason"])  # "tool_use" when the model issues a computer action
print(result["content"])      # contains the tool_use block describing the action
```

有关等效的`bedrock-mantle`消息 API 请求形状，请参阅[使用 Anthropic 消息 API 进行推理](inference-messages-api.md)。