本頁是 Anthropic 提供的工具以及您可以在任何工具定義上設定的選用屬性的參考。如需工具使用的概念性介紹,請參閱使用 Claude 進行工具使用。如需在您的應用程式中實作工具使用的指引,請參閱定義工具。
Anthropic 提供兩種工具:在 Anthropic 基礎設施上執行的伺服器工具(server tools),以及由 Anthropic 定義結構描述但由您的應用程式處理執行的用戶端工具(client tools)。這兩種工具都會與任何使用者定義的工具一起出現在您請求的 tools 陣列中。
| 工具 | type | 執行方式 | 狀態 |
|---|---|---|---|
| 網頁搜尋工具 | web_search_20260318web_search_20260209web_search_20250305 | 伺服器 | GA |
| 網頁擷取工具 | web_fetch_20260318web_fetch_20260309web_fetch_20260209web_fetch_20250910 | 伺服器 | GA |
| 程式碼執行工具 | code_execution_20260521code_execution_20260120code_execution_20250825 | 伺服器 | GA |
| 顧問工具 | advisor_20260301 | 伺服器 | Beta:advisor-tool-2026-03-01 |
| 工具搜尋工具 | tool_search_tool_regex_20251119tool_search_tool_bm25_20251119 | 伺服器 | GA |
| MCP 連接器 | mcp_toolset | 伺服器 | Beta:mcp-client-2025-11-20 |
| 記憶工具 | memory_20250818 | 用戶端 | GA |
| Bash 工具 | bash_20250124 | 用戶端 | GA |
| 文字編輯器工具 | text_editor_20250728text_editor_20250124 | 用戶端 | GA |
| 電腦使用工具 | computer_20251124computer_20250124 | 用戶端 | Beta:computer-use-2025-11-24computer-use-2025-01-24 |
如需模型相容性資訊,請參閱各工具的頁面。支援的模型因工具和工具版本而異。
大多數 Anthropic 提供的工具在 type 字串中帶有 _YYYYMMDD 後綴。當工具的行為、結構描述或模型支援發生變更時,就會發布新版本。較舊的版本仍然可用,以便現有的整合能繼續運作。
當一個工具有多個有效版本時,它們之間的關係各有不同:
web_search_20260209 和 web_fetch_20260209 在其前身的基礎上新增了動態內容過濾;web_fetch_20260309 新增了快取繞過選項;web_search_20260318 和 web_fetch_20260318 新增了回應包含控制。code_execution_20260120 新增了從沙箱內進行程式化工具呼叫的功能;code_execution_20260521 在工具描述中揭露了每個儲存格的時間限制。在每種情況下,新舊版本都是現行版本;您使用哪一個取決於您是否需要新功能。text_editor_20250728 適用於 Claude 4 及更新的模型,而 text_editor_20250124 適用於較早的模型。您使用的版本取決於您的目標模型。tool_search_tool_regex_20251119 和 tool_search_tool_bm25_20251119 是同時發布的兩種搜尋演算法。兩者互不取代。code_execution_20250522 僅支援 Python。code_execution_20250825 新增了 Bash 和檔案操作。mcp_toolset 類型沒有日期版本控制;版本控制改由 anthropic-beta 標頭承載。
tools 陣列中的每個工具(包括使用者定義的工具)都接受選用屬性,用於控制工具的載入方式、誰可以呼叫它,以及如何驗證其輸入。這些屬性可以組合使用:您可以在同一個工具上同時設定 defer_loading、cache_control 和 strict。
| 屬性 | 用途 | 適用於 | 詳細指南 |
|---|---|---|---|
cache_control | 在此工具定義處設定提示快取斷點 | 所有工具 | 提示快取 |
strict | 保證對工具名稱和輸入進行結構描述驗證 | 除 mcp_toolset 外的所有工具 | 嚴格工具使用 |
defer_loading | 將工具從初始系統提示中排除;當工具搜尋為其回傳 tool_reference 時按需載入 | 所有工具(對於 mcp_toolset,請參閱工具設定) | 工具搜尋工具 |
allowed_callers | 限制哪些呼叫者可以呼叫該工具 | 除 mcp_toolset 外的所有工具 | 程式化工具呼叫 |
input_examples | 提供範例輸入物件,幫助 Claude 理解如何呼叫該工具 | 使用者定義的工具和 Anthropic 結構描述的用戶端工具。不適用於伺服器工具。 | 定義工具 |
eager_input_streaming | 為此工具啟用細粒度輸入串流(true)或保持標準緩衝串流(false) | 僅限使用者定義的工具 | 細粒度工具串流 |
allowed_callers 值allowed_callers 是一個陣列,接受以下任意組合:
| 值 | 含義 |
|---|---|
"direct" | 模型可以在 tool_use 區塊中直接呼叫此工具。如果省略 allowed_callers,這是預設值。 |
"code_execution_20260120" | 在 code_execution_20260120 或更新版本的沙箱內執行的程式碼可以呼叫此工具。 |
"code_execution_20260120" 和 "code_execution_20260521" 在 allowed_callers 中都可接受且可互換:使用任一程式碼執行工具版本的請求都能滿足列出任一呼叫者的工具。無論請求宣告的是哪個版本,回應區塊始終將呼叫者標記為 code_execution_20260120。
從陣列中省略 "direct"(例如 "allowed_callers": ["code_execution_20260120"])會引導 Claude 僅從程式碼執行內部呼叫該工具。回應的 tool_use 區塊包含一個 caller 欄位,用於識別是哪個呼叫者呼叫了該工具。請參閱程式化工具呼叫以了解完整說明,包括 caller 回應格式和錯誤行為。
defer_loading 與提示快取具有 defer_loading: true 的工具會在計算快取金鑰之前從渲染的工具區段中移除。它們完全不會出現在系統提示前綴中。當工具搜尋發現一個延遲載入的工具並為其回傳 tool_reference 時,該工具的完整定義會在對話主體中的該位置內嵌展開,而不是在前綴中。
這表示 defer_loading: true 會保留您的提示快取。您可以在請求中新增延遲載入的工具,而不會使現有的快取項目失效,並且快取在工具被發現的回合和工具被呼叫的回合之間仍然有效。
如需如何將 defer_loading 與 cache_control 斷點結合使用,請參閱工具搜尋工具提示快取指引。
Was this page helpful?