Claude Developer Platform Advanced Tool Use

Anthropic 發布了 Claude Developer Platform 的三項新功能——Tool Search Tool、Programmatic Tool Calling 和 Tool Use Examples——旨在讓 AI agent 在操作海量工具庫和複雜數據集時,不會耗盡模型的上下文窗口(context window)。這些更新將工具使用從簡單的函數調用轉變為智能編排,從而減少 token 消耗並提高執行準確度。

Tool Search Tool: On-Demand Tool Discovery

Tool Search Tool 透過按需發現工具,而非預先加載所有定義,來減少上下文消耗。 在擁有眾多 Model Context Protocol (MCP) server 的環境中,工具定義在對話開始前就可能消耗超過 100K tokens,導致「上下文膨脹」(context bloat)並增加工具選擇的錯誤率。

Technical Implementation

開發者可以透過將工具標記為 defer_loading: true 來將其排除在初始上下文之外。Claude 會獲得 Tool Search Tool 本身(以及任何標記為 defer_loading: false 的關鍵工具)。當需要特定功能時,Claude 會使用搜尋工具來尋找相關引用,隨後這些引用會在上下文中展開為完整的定義。

Performance Gains

  • Token Reduction: 在一個包含 50 個以上 MCP tools 的測試案例中,上下文消耗從約 77K tokens 降至約 8.7K tokens,降幅達 85%。
  • Accuracy Improvements: 內部 MCP 評估顯示顯著提升:Opus 4 從 49% 提升至 74%,Opus 4.5 從 79.5% 提升至 88.1%。
  • Caching: 由於延遲加載的工具被排除在初始提示詞(prompt)之外,系統提示詞和核心工具定義仍能與提示詞緩存(prompt caching)相容。

Programmatic Tool Calling: Code-Based Orchestration

Programmatic Tool Calling 允許 Claude 在沙盒環境中透過 Python 代碼編排多個工具,防止中間數據污染模型的上下文。 傳統的工具調用需要為每一次調用進行完整的推理過程,且所有原始結果都會進入上下文窗口,這對於大型數據集來說效率低下。

How it Works

Claude 不再使用連續的自然語言請求,而是編寫一個 Python 腳本來調用多個工具、處理輸出(使用迴圈、條件判句和轉換),並僅將最終結果返回給模型。

  1. Opt-in: 工具被標記為 allowed_callers: ["code_execution_20250825"]
  2. Execution: Claude 會生成一個包含 Python 代碼的 server_tool_use 請求。
  3. Processing: 工具結果會在 Code Execution 環境中進行處理;模型不會看到原始的中間數據。
  4. Final Output: 只有腳本的最終 stdout 會進入 Claude 的上下文。

Key Benefits

  • Token Savings: 在複雜的研究任務中,平均使用量下降了 37%(從 43,588 降至 27,297 tokens)。
  • Latency Reduction: 透過在一個代碼塊中執行 20 個以上的工具調用,系統消除了 19 個以上的非必要推理過程。
  • Accuracy: 知識檢索能力從 25.6% 提升至 28.5%,GIA 基準測試從 46.5% 提升至 51.2%。
  • Real-world Application: Claude for Excel 利用此功能來修改包含數千行的試算表,而不會造成上下文窗口過載。

Tool Use Examples: Improving Invocation Precision

Tool Use Examples 為展示正確的工具使用模式提供了一種通用標準,這些模式是 JSON schemas 無法表達的,例如格式規範和參數關聯。 雖然 JSON schemas 定義了結構有效性,但它們無法指定何時使用可選參數,或 API 所預期的特定字符串格式。

Implementation and Impact

開發者可以向工具定義中添加一個 input_examples 數組,其中包含工具調用的示例。這可以教導 Claude:

  • Format Conventions: 例如,使用 YYYY-MM-DD 格式表示日期,或特定的 ID 前綴(例如,「USR-12345")。
  • Nested Structures: 如何正確填充複雜的嵌套對象。
  • Parameter Logic: 哪些可選參數的組合在不同場景下是合適的的(例如,需要更高升級層級的關鍵錯誤)。

內部測試顯示,提供示例可以將複雜參數處理的準確度從 72% 提升至 90%。

Deployment Best Practices

Anthropic 建議根據 agent 的特定瓶頸來分層使用這些功能:

Bottleneck Recommended Feature
Context bloat from tool definitions Tool Search Tool
Large intermediate results polluting context Programmatic Tool Calling
Parameter errors and malformed calls Tool Use Examples

Optimization Tips

  • Discovery: 使用清晰、具描述性的工具名稱和描述來提高搜尋準確度。保持 3-5 個高頻率工具始終加載,同時延遲加載其餘工具。
  • Execution: 在工具描述中清晰地記錄返回格式,以幫助 Claude 編寫準確的 Python 解析邏輯。將編程化調用(programmatic calling)集中在冪等操作(idempotent operations)和可並行化的任務上。
  • Accuracy: 為每個工具提供 1-5 個真實的示例,重點關注 schema 描述不足的模糊領域。

Sources

相關