本頁面是 Anthropic 所提供工具的參考資料,以及您可以在任何工具定義上設定的選用屬性。如需工具使用的概念性介紹,請參閱使用 Claude 進行工具使用。如需在您的應用程式中實作工具使用的指引,請參閱定義工具。
Anthropic 提供兩種工具:在 Anthropic 基礎架構上執行的伺服器工具,以及由 Anthropic 定義結構描述但由您的應用程式處理執行的用戶端工具。這兩種工具都會與任何使用者定義的工具一起出現在您請求的 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 |
如需模型相容性資訊,請參閱各工具的頁面。支援的模型因工具和工具版本而異。
工具搜尋的 type 值也接受不含日期的別名:
tool_search_tool_regex 和 tool_search_tool_bm25。這些別名會解析為
最新的帶日期版本。
大多數 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 或更新版本沙箱內執行的程式碼可以呼叫此工具。 |
allowed_callers 中同時接受 "code_execution_20260120" 和 "code_execution_20260521",且兩者可互換:使用任一程式碼執行工具版本的請求都能滿足列出任一呼叫者的工具。無論請求宣告的是哪個版本,回應區塊一律將呼叫者標記為 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?