加载中

Claude 包含一个内置的网络搜索工具,让它能够搜索互联网以获取当前或专业信息来回答用户的问题。与其他需要您提供实现的工具不同,Claude 会自动处理整个搜索过程——您只需要提供一个简单的模式(schema)来启用它。

设置网络搜索工具

要使用网络搜索工具,您需要创建一个包含以下必填字段的模式对象:

python
web_search_schema = {
    "type": "web_search_20250305",
    "name": "web_search", 
    "max_uses": 5
}

max_uses 字段限制了 Claude 可以执行的搜索次数。Claude 可能会根据初始结果进行后续搜索,因此这可以防止过多的 API 调用。

工作原理

当您在工具列表中包含网络搜索模式时,Claude 会根据您的问题自动决定何时进行搜索。例如,询问"增长腿部肌肉的最佳锻炼方式是什么?"可能会触发对当前健身研究的搜索。

响应包含几种类型的块:

  • TextBlock - Claude 对其正在执行操作的说明
  • ServerToolUseBlock - 显示 Claude 使用的确切搜索查询
  • WebSearchToolResultBlock - 包含搜索结果
  • WebSearchResultBlock - 带有标题和 URL 的单个搜索结果
  • CitationsWebSearchResultLocation - 支持 Claude 陈述的具体文本引用

限制搜索域名

您可以使用 allowed_domains 字段将搜索限制在特定域名内。当您需要权威来源时,这尤其有用:

python
web_search_schema = {
    "type": "web_search_20250305",
    "name": "web_search",
    "max_uses": 5,
    "allowed_domains": ["nih.gov"]
}

这确保了 Claude 只搜索可信的域名,比如政府健康网站,而不是可能包含不可靠信息的随意健身博客。

渲染搜索结果

响应结构的设计是为了支持丰富的 UI 渲染。您通常会:

  • 将文本块显示为常规内容
  • 在顶部将网络搜索结果显示为参考列表
  • 将引用内联渲染,并附带指向源材料的链接
  • 高亮被引用的文本,以展示 Claude 如何支持其陈述

这创造了一种透明的体验,用户可以验证 Claude 的来源,并理解它是如何得出结论的。引用系统通过展示 Claude 回应背后的证据来帮助建立信任。