Claude Platform 101
← 所有课程
课程 07Claude Platform 101

服务器工具:由您声明,由Anthropic运行

摘要音频

语音摘要 — 点击播放以跟读:正在朗读的行会保持在顶部附近。

学习笔记

您可以构建自己的自定义工具,但某些功能非常常见,Anthropic已预先构建。您无需编写代码,也无需托管沙箱环境。只需声明工具,Anthropic便会运行它。

服务器工具:由您声明,由Anthropic运行

Anthropic提供在其基础设施上运行的服务器工具。这些调用无需您执行——由Anthropic完成。这意味着您不需要为这些调用构建代理循环。Claude会自主调用工具,结果将在同一响应中返回。

主要工具包括:

  • 网络搜索 —— 搜索互联网并返回带引用的结果
  • 代码执行 —— 在沙箱中编写并运行Python代码
  • 网页抓取 —— 从URL获取完整内容

单文件中的两个服务器工具

让我们在一个文件中查看两个主要工具:包含messages. create调用的网络搜索和代码执行。

import anthropic

client = anthropic. Anthropic()

search_response = client. messages. create( model="claude-opus-4-8", max_tokens=1024, tools=[{"type": "web_search_20260209", "name": "web_search"}], messages=[ {"role": "user", "content": "What is Anthropic's latest model release? Answer in one sentence. "} ], )

for block in search_response. content: if block. type == "server_tool_use": print(f"工具调用: {block. name} — {block. input}") elif block. type == "text": print(block. text)

code_response = client. messages. create( model="claude-opus-4-8", max_tokens=1024, tools=[{"type": "code_execution_20260120", "name": "code_execution"}], messages=[ {"role": "user", "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"} ], )

for block in code_response. content: if block. type == "server_tool_use": print(f"工具调用: {block. name} — {block. input}") elif block. type == "bash_code_execution_tool_result": print(f"标准输出: {block. content. stdout}") elif block. type == "text": print(block. text)

需要注意两点:

  • 这里没有代理循环。我们不需要处理stop_reason切换,也不需要回传工具结果。Anthropic在服务端运行工具,响应已包含结果。
  • 响应包含新的区块类型。工具调用会生成server_tool_use区块,代码执行工具会输出结果区块,此外还有常规的text文本区块。

运行示例

对于网络搜索,您将看到Claude的工具调用记录,随后是关于最新模型发布的单句回答,并附带搜索引用。

对于代码执行,您将看到Claude实际编写的Python代码、沙箱运行的标准输出,以及最终的文本回答。

我们无需部署搜索引擎爬虫,也无需搭建Python沙箱环境。只需声明两个工具,即可免费获得这两项功能。

另一类别:客户端工具

值得了解的另一类别是客户端工具。这些工具在您的代码环境中运行。它们已集成在Claude SDK中,因此您无需自行定义模式。两个示例:

  • 记忆存储 —— Claude可跨会话读写记忆
  • Bash终端 —— 持久化的bash shell,Claude可执行命令

Anthropic文档中内置工具表格,其中记忆和bash作为客户端工具与网络抓取、代码执行等服务器工具并列

它们与自定义工具结构相同,但SDK已提供模式定义和合理的运行器。

生产环境中的重要性

在生产应用中,这是实现复杂功能的最短路径。例如,网络搜索可为事实核查接口提供支持,验证草案中的每个数字和法规声明是否符合实时网络信息。

提案审核应用使用网络搜索来验证草案中的法规和数字声明

但需注意:互联网验证的内容未必真实。请务必复核Claude的工作成果。

要点回顾

  • 服务器工具(网络搜索/代码执行/网页抓取)在您的tools数组中声明,由Anthropic运行
  • 结果会在同一响应中返回,无需代理循环。注意查找server_tool_use和工具结果区块,它们与常规文本区块并列
  • 客户端工具(如记忆存储和bash)在您的代码环境运行,但SDK已提供模式定义和运行器
  • "由Anthropic托管"的理念可扩展至更大范围:托管代理将其应用于整个代理系统,而不仅是单个工具
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 6 题