Loading...
  • 构建
  • 管理
  • 模型与定价
  • 客户端 SDK
  • API 参考
Search...
⌘K
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 Managed Agents 提供了一组内置工具,Claude 可以在会话中自主使用这些工具。您可以通过在代理配置中指定工具来控制哪些工具可用。

还支持自定义的用户定义工具。您的应用程序单独执行这些工具,并将工具结果发送回 Claude;Claude 可以使用这些结果继续执行手头的任务。

所有 Managed Agents API 请求都需要 managed-agents-2026-04-01 beta 标头。SDK 会自动设置 beta 标头。

可用工具

代理工具集包括以下工具。在代理配置中包含工具集时,所有工具默认启用。

工具名称描述
Bashbash在 shell 会话中执行 bash 命令
Readread从本地文件系统读取文件
Writewrite将文件写入本地文件系统
Editedit在文件中执行字符串替换
Globglob使用 glob 模式进行快速文件模式匹配
Grepgrep使用正则表达式进行文本搜索
Web fetchweb_fetch从 URL 获取内容
Web searchweb_search在网络上搜索信息

配置工具集

创建代理时,使用 agent_toolset_20260401 启用完整工具集。使用 configs 数组禁用特定工具或覆盖其设置。

禁用特定工具

要禁用工具,请在其配置条目中设置 enabled: false:

{
  "type": "agent_toolset_20260401",
  "configs": [
    { "name": "web_fetch", "enabled": false },
    { "name": "web_search", "enabled": false }
  ]
}

仅启用特定工具

要从全部关闭开始并仅启用所需的工具,请将 default_config.enabled 设置为 false:

{
  "type": "agent_toolset_20260401",
  "default_config": { "enabled": false },
  "configs": [
    { "name": "bash", "enabled": true },
    { "name": "read", "enabled": true },
    { "name": "write", "enabled": true }
  ]
}

自定义工具

除了内置工具外,您还可以定义自定义工具。自定义工具类似于 Messages API 中的用户定义客户端工具。

自定义工具允许您扩展 Claude 的功能以执行更广泛的任务。每个工具定义一个契约:您指定可用的操作及其返回内容;Claude 决定何时以及如何调用它们。模型永远不会自己执行任何操作。它发出结构化请求,您的代码运行该操作,结果流回对话。

定义工具后,代理将在会话过程中调用这些工具。有关完整流程,请参阅会话事件流。

自定义工具定义的最佳实践

  • 提供极其详细的描述。 这是迄今为止影响工具性能的最重要因素。您的描述应该解释工具的作用、何时应该使用它(以及何时不应该使用它)、每个参数的含义及其如何影响工具的行为,以及任何重要的注意事项或限制。您为 Claude 提供的关于工具的上下文越多,它在决定何时以及如何使用它们时就会越好。每个工具描述至少应有 3-4 句话,如果工具很复杂,则应有更多。
  • 将相关操作合并到更少的工具中。 与其为每个操作创建单独的工具(create_pr、review_pr、merge_pr),不如将它们分组到一个具有 action 参数的单一工具中。更少但功能更强大的工具可以减少选择歧义,使您的工具表面更容易让 Claude 导航。
  • 在工具名称中使用有意义的命名空间。 当您的工具跨越多个服务或资源时,使用资源前缀命名(例如 db_query、storage_read)。这使得工具选择明确,随着您的库的增长。
  • 设计工具响应以仅返回高信号信息。 返回语义、稳定的标识符(例如 slugs 或 UUID),而不是不透明的内部引用,并仅包含 Claude 需要推理其下一步的字段。臃肿的响应会浪费上下文,使 Claude 更难提取重要内容。
ant beta:agents create <<'YAML'
name: Coding Assistant
model: claude-opus-4-7
tools:
  - type: agent_toolset_20260401
    configs:
      - name: web_fetch
        enabled: false
YAML
ant beta:agents create <<'YAML'
name: Weather Agent
model: claude-opus-4-7
tools:
  - type: agent_toolset_20260401
  - type: custom
    name: get_weather
    description: Get current weather for a location
    input_schema:
      type: object
      properties:
        location:
          type: string
          description: City name
      required:
        - location
YAML