Anthropic 為 Claude 推出的 "think" 工具

Anthropic 推出了 "think" 工具,這是一種允許 Claude 在執行複雜任務期間為結構化推理建立專用空間的機制。此工具顯著提升了 Claude 遵循政策、做出一致決策以及以極低實作開銷處理多步驟問題的能力。

"think" 工具 vs. Extended Thinking

雖然目的相似,但 "think" 工具與 Claude 的 "extended thinking" 能力有所不同。主要的區別在於推理發生的時機:

  • Extended Thinking: 在模型開始生成回應之前發生。它用於在採取行動之前對計畫進行深入考慮與迭代。建議用於較簡單的工具使用(非序列化調用)、直接的指令遵循,以及編碼、數學和物理等任務。
  • The "think" tool: 在模型開始生成回應之後發生。它允許 Claude 停止並評估是否已具備繼續進行所需的所有必要資訊,使其成為處理透過工具調用發現的外部資訊的理想選擇。

Anthropic 建議在涉及複雜工具、長鏈條工具調用、政策密集型環境,或每一步都建立在先前步驟之上的序列化決策場景中使用 "think" 工具。

性能基準測試

τ-Bench 結果

τ-bench 測試模型在現實客戶服務場景中使用的工具能力。Anthropic 使用 pass^k 指標評估 Claude 3.7 Sonnet,該指標衡量所有 k 次獨立嘗試是否成功的機率,強調一致性與可靠性。

  • Airline Domain: "think" 工具與優化後的提示詞(prompt)結合後,其 pass^1 分數為 0.584,而基準線(baseline)為 0.332。這代表在航空領域中實現了 54% 的相對提升。
  • Retail Domain: 僅使用 "think" 工具就達到了 pass^1 分數 0.812,而基準線為 0.783。由於零售政策比航空政策更簡單,Claude 在不需要額外提示詞的情況下便有所提升。

SWE-bench 結果

將 "think" 工具整合到 SWE-bench 設定中,有助於 Claude 3.7 Sonnet 達到 0.623 的尖端(state-of-the-art)分數。獨立實驗(使用工具 n=30,不使用工具 n=144)顯示,"think" 工具將性能平均提升了 1.6% (Welch's t-test: t(38.89) = 6.71, p < .001, d = 1.47)。

實作最佳實踐

為了最大化 "think" 工具的效能,Anthropic 建議兩種主要策略:

  1. Strategic Prompting: 在系統提示詞(system prompt)中提供清晰的指令與領域特定範例。這應包括預期的細節程度、如何拆解複雜指令、常見場景的決策樹,以及資訊收集的驗證步驟。
  2. System Prompt Placement: 對於長篇或複雜的指導,將指令放在系統提示詞中比將其包含在工具描述本身更有效。

何時使用(以及不使用)"think" 工具

建議的使用場景

  • Tool Output Analysis: 當模型必須處理工具輸出並可能需要回溯時。
  • Policy-Heavy Environments: 當需要嚴格遵守詳細的指南時。
  • Sequential Decision Making: 當處於錯誤成本高昂的多步驟領域時。

不建議的使用場景

  • Non-sequential Tool Calls: 僅需要單次或並行工具調用的任務。
  • Simple Instruction Following: 限制較少且預設行為已足夠的任務。

技術實作

開發者可以使用標準的工具規範來實作 "think" 工具。以下提供一個基於 τ-Bench 的範例實作:

{
  "name": "think",
  "description": "Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.",
  "input_schema": {
    "type": "object",
    "properties": {
      "thought": {
        "type": "string",
        "description": "A thought to think about."
      }
    },
    "required": ["thought"]
  }
}

Anthropic 指出,雖然這些結果集中在 Claude 3.7 Sonnet,但在 Claude 3.5 Sonnet (New) 中也觀察到了性能提升,這表明該能力可以泛化至不同模型。

Sources

相關