AIUnlimited
🌳

AI基础

🌱
AI 种子

从零开始

🌿
AI 萌芽

打好基础

🌳
AI 枝干

付诸实践

🏕️
AI 树冠

深入探索

🌲
AI 森林

精通AI

🔨

AI精通

✏️
AI 草图

从零开始

🪨
AI 雕刻

打好基础

⚒️
AI 匠心

付诸实践

💎
AI 打磨

深入探索

🏆
AI 杰作

精通AI

📘

AI实战

📖
理解开源模型

开源模型的基础知识和资源

🎯
问题到模型任务

将业务问题转化为模型任务

⚡
跑通第一个模型

30分钟快速看到第一个结果

🔧
微调与评测

微调模型并评估性能

🚀
应用系统

构建实际AI应用系统

🎨
生成式AI

探索AIGC的开源模型

🤖
Agent智能体

学习Agent框架和MCP工具

📐
基础补充

LLM基础知识和评测

🎓

Claude 学院

🤖
Claude 101 入门

用 Claude 学习 AI 基础知识

💻
Claude Code 101 入门

让 Claude 成为你的结对编程伙伴

🤝
Claude Cowork 入门

与 Claude 协作完成复杂项目

⚙️
Claude 平台 101

使用 Claude API 构建应用

实验室

已加载 7 个实验
🧬神经网络沙盒🤖AI 还是人类?🥋提示工程道场🏁算法竞速🧠AI 知识挑战🏗️系统设计画布
🎯模拟面试进入实验室→
🚀

职业发展

🚀
面试发射台

开启你的旅程

🌟
行为面试精通

掌握软技能

💻
技术面试

通过编程轮次

🤖
AI与ML面试

ML面试精通

🏆
Offer与未来

拿下最好的Offer

立即开始
AIUnlimited

AI 教育平台

沪ICP备18025655号-11

学习

  • AI基础
  • AI实战
  • Claude学院
  • 实验室
  • 职业发展

社区

  • 关于
  • 常见问题

支持

  • 服务条款
  • 隐私政策
  • 联系我们
AI & 工程学习计划›⚙️ Claude 平台 101›课程›内置工具
🛠️
Claude 平台 101 • 中级⏱️ 6 分钟阅读

内置工具

内置工具

你可以构建自己的自定义工具,但有些功能足够常见,Anthropic 将它们预构建好。你不需要编写代码。你不需要托管沙箱。你只需声明工具,Anthropic 就会运行它。

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

Anthropic 提供在它们基础设施上运行的 服务器工具。你不执行这些——Anthropic 执行。这意味着你不需要为这些调用运行 agent 循环。Claude 自己调用工具,结果在同一个响应中返回。

主要的有:

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

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

让我们在一个文件中看看一些主要的:两个 messages.create 调用,一个使用网页搜索,一个使用代码执行。

import anthropic

client = anthropic.Anthropic()

# 调用 1:网页搜索——Anthropic 在服务器端运行搜索
search_response = client.messages.create(
    model="claude-opus-5",
    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"Tool call: {block.name} — {block.input}")
    elif block.type == "text":
        print(block.text)

# 调用 2:代码执行——Claude 在沙箱中编写和运行 Python
code_response = client.messages.create(
    model="claude-opus-5",
    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"Tool call: {block.name} — {block.input}")
    elif block.type == "bash_code_execution_tool_result":
        print(f"stdout: {block.content.stdout}")
    elif block.type == "text":
        print(block.text)

要注意两件事:

  1. 这里没有 agent 循环。 我们没有在 stop_reason 上 switch。我们没有将工具结果推回。Anthropic 在服务器端运行工具,响应已经包含结果。
  2. 响应有新的块类型。 用于工具调用的 server_tool_use 块,用于输出的代码执行工具结果块,加上常规的 text 块。

运行它

对于网页搜索,你会看到 Claude 的工具调用被打印,然后是一句关于最新模型发布的答案,搜索引用已包含在内。

对于代码执行,你会看到 Claude 编写的实际 Python、沙箱运行它的 stdout,以及最终的文本答案。

我们不需要启动搜索爬虫。我们没有运行 Python 沙箱。我们声明了两个工具并免费获得了两个。

第 13 课,共 26 课已完成 0%
←速率限制

讨论

登录 参与讨论

另一个类别:客户端工具

值得知道另一个类别的存在。客户端工具 在你的代码运行的地方运行。Anthropic 发布它们的模式并在其上训练 Claude,因此你不必自己定义模式。两个例子:

  • 记忆 — Claude 跨会话读写记忆
  • Bash — 持久的 bash shell,Claude 可以执行命令

它们具有与自定义工具相同的形状,但 SDK 为你提供模式和合理的运行器。

为什么这在生产中很重要

在生产应用中,这是通往否则需要数周才能实现的功能的最短路径。网页搜索可以驱动一个事实检查端点,根据实时网络验证草稿中的每个数字和监管声明。

一个提醒:仅仅因为某些东西在网上被验证并不意味着它是真的。始终仔细检查 Claude 的工作。

回顾

  • 服务器工具 — 网页搜索、代码执行、网页抓取 — 在你的 tools 数组中声明。Anthropic 运行它们。
  • 你在同一个响应中获得结果,不需要 agent 循环。查找与常规文本块一起的 server_tool_use 和工具结果块。
  • 像记忆和 bash 这样的 客户端工具 在你的代码运行的地方运行,但 SDK 为你提供模式和运行器。
  • "由 Anthropic 托管" 的理念一直扩展到:managed agents 将其应用于整个 agent,而不仅仅是一个工具。