Was this page helpful?
本頁面是 Anthropic 提供的工具以及您可以在任何工具定義上設置的可選屬性的參考。有關工具使用的概念介紹,請參閱 Claude 的工具使用。有關在應用程序中實現工具使用的指導,請參閱 定義工具。
Anthropic 提供兩種工具:在 Anthropic 基礎設施上執行的伺服器工具,以及 Anthropic 定義架構但您的應用程序處理執行的客戶端工具。兩種工具都與任何用戶定義的工具一起出現在您請求的 tools 陣列中。
| 工具 | type | 執行位置 | 狀態 |
|---|---|---|---|
| Web 搜尋工具 | web_search_20260209web_search_20250305 | 伺服器 | GA |
| Web 擷取工具 | web_fetch_20260209web_fetch_20250910 | 伺服器 | GA |
| 程式碼執行工具 | code_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 在其前身基礎上添加了動態內容過濾。code_execution_20260120 添加了程式化工具呼叫功能,可在沙箱內執行。在每種情況下,新版本和舊版本都是最新的;您使用哪一個取決於您是否需要新功能。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 |
allowed_callers 值allowed_callers 是一個陣列,接受以下任何組合:
| 值 | 含義 |
|---|---|
"direct" | 模型可以在 tool_use 區塊中直接呼叫此工具。如果省略 allowed_callers,這是預設值。 |
"code_execution_20260120" | 在 code_execution_20260120 沙箱內執行的程式碼可以呼叫此工具。 |
從陣列中省略 "direct"(例如,"allowed_callers": ["code_execution_20260120"])意味著工具只能從程式碼執行內呼叫。回應的 tool_use 區塊包含一個 caller 欄位,用於識別哪個呼叫者呼叫了工具。有關完整的處理方式,包括 caller 回應形狀和錯誤行為,請參閱程式化工具呼叫。
defer_loading 和提示快取具有 defer_loading: true 的工具在計算快取金鑰之前會從呈現的工具部分中移除。它們根本不會出現在系統提示前綴中。當工具搜尋發現延遲工具並為其返回 tool_reference 時,工具的完整定義會在對話正文中的該點內聯展開,而不是在前綴中。
這意味著 defer_loading: true 會保留您的提示快取。您可以將延遲工具添加到請求中而不會使現有快取項目失效,並且快取在發現工具的轉換和呼叫工具的轉換中保持有效。
有關如何將 defer_loading 與 cache_control 中斷點結合使用,請參閱工具搜尋工具提示快取指導。
| 限制哪些呼叫者可以呼叫工具 |
除 mcp_toolset 外的所有工具 |
| 程式化工具呼叫 |
input_examples | 提供範例輸入物件以幫助 Claude 了解如何呼叫工具 | 用戶定義和 Anthropic 架構客戶端工具。在伺服器工具上不可用。 | 定義工具 |
eager_input_streaming | 為此工具啟用細粒度輸入串流 (true) 或保持標準緩衝串流 (false) | 僅用戶定義的工具 | 細粒度工具串流 |