Anthropic Server-side Tools
Claude 独有的「服务端工具」机制 —— 工具在 Anthropic 后端执行,响应里直接返回结果 block 与引用,客户端无需自己编排工具调用 → 工具结果 → 模型再调用的循环。其他厂商的工具调用都需要客户端执行后回传
tool_result。
当前可用 Server-side Tools
| 工具类型 | 字段 | 用途 |
|---|---|---|
web_search_20250305 | tools[*].type | Anthropic 后端自动联网搜索并把结果作为引用注入 |
平台后续接入新增的 server-side tool 会同样在此列出。
适用接口与模型
- 接口:
v1/messages(Anthropic 原生协议,推荐)/v1/chat/completions(透传) - 适用模型:以 模型目录 → Claude 中的 Server-side Tools / Web Search 标记为准。
触发参数
tools 数组,每项形如:
{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": <int, 单次请求最多调用次数>
}
响应结构(v1/messages)
服务端工具命中后,响应的 content[] 数组里会按顺序出现以下 block:
server_tool_use—— 平台代为发起的工具调用记录web_search_tool_result—— 工具返回的结果(含搜索结果列表)- 带
citations字段的textblock —— 模型基于结果合成的最终答案,每段引用都可追溯到web_search_tool_result中的具体来源
{
"content": [
{
"type": "server_tool_use",
"id": "srvtoolu_xxx",
"name": "web_search",
"input": {"query": "今日上证指数收盘价"}
},
{
"type": "web_search_tool_result",
"tool_use_id": "srvtoolu_xxx",
"content": [
{"type": "web_search_result", "url": "...", "title": "...", "encrypted_content": "..."}
]
},
{
"type": "text",
"text": "根据 ... 报道,...",
"citations": [
{"type": "web_search_result_location", "url": "...", "title": "...", "cited_text": "..."}
]
}
]
}
示例
curl $TURING_BASE_URL/messages \
-H "Authorization: Bearer $TURING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "turing/claude-sonnet-5",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "今日上证指数收盘价?"}],
"tools": [{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": 3
}]
}'
计费
web_search_20250305调用次数计入usage.server_tool_use.web_search_requests,平台按$10 / 1K requests计费- 响应里的
textblock(模型合成答案)按标准 output token 计费 web_search_tool_result中的搜索结果计入 input token(下一轮如果保留这些 block 在 messages 中,会重复计费)
与客户端工具(client-side tool use)的对比
| 维度 | Client-side(tools + function) | Server-side(tools[*].type: web_search_20250305) |
|---|---|---|
| 谁执行工具 | 客户端代码 | Anthropic 后端 |
| 多轮编排 | 客户端必须收 tool_use → 回传 tool_result | 单次请求内完成,无需多轮 |
| 工具范围 | 任意自定义 function | 仅 Anthropic 提供的内置 server tool |
| 引用 / Citations | 自定义 | 自动 citations 字段 |
| 接口 | 两个协议都行 | 同样两个协议都行,但 v1/messages 字段更原生 |
注意事项
- 多轮中保留 server tool block:把
server_tool_use/web_search_tool_result保留在后续轮次的messages里,模型可以回顾上次搜索结果;但这些 block 会计入 input tokens。 max_uses控费:同一请求内最大搜索次数硬上限,超出会停止调用并返回当前已有结果。- 协议差异:
v1/chat/completions协议下 server tool 字段同样透传,但响应里contentblock 结构会被压扁为 string,citations 信息可能丢失。需要完整 citations 体验请走v1/messages。
相关文档
- 联网搜索 → Claude —— 平台跨厂商联网搜索总览
- Anthropic Messages 接口 —— 完整 content block 结构
- Anthropic 官方:Web search tool