工具設計的藝術

Think Tool:讓 AI 先想後做

Agent 在執行長工具鏈時,經常忘記前面的資訊,或者在需要權衡多條規則時犯錯。實踐證明,給 Agent 一個停下來想一想的工具,就能大幅提升準確率。

問題場景:Agent 為什麼會犯錯

資訊在工具鏈中丟失

Agent 呼叫了 5 個工具後,早期工具返回的關鍵資訊被後續的大量上下文淹沒,模型不再關注它。

策略密集型決策

客服場景有 20 條退款政策、6 種例外情況。Agent 需要同時考慮多條規則才能做出正確判斷,但它常常只看到了最近的幾條。

序列依賴決策

每一步都基於前一步的結果。Agent 在第 3 步做決策時,需要回憶第 1 步的上下文,但那已經在 2000 個 Token 之前了。

什麼是 Think Tool
一句話:Think Tool 是一個沒有副作用的特殊工具。它不會查資料庫、不會調 API、不會改任何狀態。它唯一的作用是讓 Agent 把思考過程寫下來,強制自己想清楚再行動。

Extended Thinking

模型在生成回覆之前先做深度思考。適合需要一次性想清楚的複雜推理問題。
THINK
深度思考,規劃方案
ACTION
呼叫工具 A
ACTION
呼叫工具 B
ACTION
生成回覆
思考發生在開頭,之後一路執行

Think Tool

Agent 在執行過程中隨時暫停思考。適合需要中途整理資訊、重新評估策略的長鏈場景。
ACTION
呼叫工具 A,取得使用者訂單
THINK
結合政策 3 和 7,這種情況...
ACTION
呼叫工具 B,查退款記錄
THINK
使用者已退過 2 次,觸發規則 12...
ACTION
做出最終決策
思考穿插在行動之間,步步為營
實現:極其簡單

Think Tool 的實現簡單到令人驚訝:它就是一個只接受一段文字、什麼都不做的工具。

Think Tool 定義 (JSON)
{ "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.", "input_schema": { "type": "object", "properties": { "thought": { "type": "string", "description": "A thought to think about." } }, "required": ["thought"] } }
為什麼不直接在 System Prompt 裡說「請先想清楚」?因為 Agent 在工具呼叫模式下,思考和呼叫工具是兩種不同的輸出格式。把思考包裝成一個工具呼叫,能讓 Agent 在工具鏈的流程中自然地插入一段思考,保持工具呼叫的節奏。
效果:有多好用資料說話

τ-bench(一個模擬真實客服場景的 Agent 評測基準)上測試 Think Tool 的效果:

τ-bench Airline(航空客服)
0.570 0.878
+54% 提升
τ-bench Retail(零售客服)
0.812 0.904
+11% 提升
注意航空場景的提升幅度。航空退改簽政策比零售複雜得多(不同艙位、不同時段、不同會員等級),策略密度越高,Think Tool 的價值越大。
動手試試:模擬客服 Agent

點選上方「下一步」,對話在按鈕下面展開。切 Tab 看有沒有 Think Tool 的差別。

場景:使用者要退一張 36 小時前購買的機票(政策:24 小時內全額退款,超過扣手續費)
什麼時候用 Think Tool 2025.12 更新

適用場景

  • 複雜工具鏈:呼叫 5+ 個工具,中途需要整理和重新評估
  • 策略密集環境:需要同時考慮多條業務規則(如客服政策、審批流程)
  • 序列依賴決策:每步決策依賴前一步結果,需要承上啟下的思考
  • 多輪資訊聚合:從多個工具返回中拼湊完整圖景

不適用場景

  • 簡單工具呼叫:查天氣、讀檔案這類一步到位的操作,Think Tool 是多餘的開銷
  • 非序列任務:各步驟相互獨立、不需要前後關聯的場景
  • 已有 Extended Thinking 的場景:如果模型支援深度思考,簡單任務用 Extended Thinking 更直接
  • 純生成任務:寫文章、翻譯等不涉及工具呼叫的場景
2025 年 12 月更新:業界進一步明確了 Think Tool 和 Extended Thinking 的分工:簡單任務直接用 Extended Thinking,Think Tool 的真正價值在於長鏈路中的中途暫停,讓 Agent 在行動之間重新整理思路。
有時候最有用的工具就是停下來想一想。Think Tool 不取得資訊、不改變狀態,但它給了 Agent 一個在行動鏈中暫停、整理、反思的機會。越複雜的任務,這種暫停的價值越大。