claude-opus-4-1-20250805
)claude-opus-4-20250514
)claude-sonnet-4-20250514
)claude-3-7-sonnet-20250219
)thinking
內容區塊,在其中輸出其內部推理。Claude 在制定最終回應之前會整合來自此推理的見解。
API 回應將包含 thinking
內容區塊,然後是 text
內容區塊。
以下是預設回應格式的範例:
thinking
物件,將 type
參數設定為 enabled
,並將 budget_tokens
設定為延伸思考的指定代幣預算。
budget_tokens
參數決定 Claude 允許用於其內部推理過程的最大代幣數量。在 Claude 4 模型中,此限制適用於完整思考代幣,而不是摘要輸出。較大的預算可以透過為複雜問題啟用更徹底的分析來改善回應品質,儘管 Claude 可能不會使用分配的整個預算,特別是在超過 32k 的範圍內。
budget_tokens
必須設定為小於 max_tokens
的值。但是,當使用交錯思考與工具時,您可以超過此限制,因為代幣限制變成您的整個上下文視窗(200k 代幣)。
thinking_delta
事件接收思考內容。
有關透過 Messages API 串流的更多文件,請參閱串流訊息。
以下是如何處理帶有思考的串流:
tool_choice: {"type": "auto"}
(預設)或 tool_choice: {"type": "none"}
。使用 tool_choice: {"type": "any"}
或 tool_choice: {"type": "tool", "name": "..."}
將導致錯誤,因為這些選項強制使用工具,這與延伸思考不相容。
thinking
區塊傳回 API 以獲得最後的助理訊息。將完整的未修改區塊包含回 API 以維持推理連續性。
範例:使用工具結果傳遞思考區塊
thinking
區塊傳回 API,並且必須將完整的未修改區塊包含回 API。這對於維持模型的推理流程和對話完整性至關重要。
assistant
角色回合的 thinking
區塊,但我們建議在任何多回合對話中始終將所有思考區塊傳回 API。API 將:thinking
區塊時,連續 thinking
區塊的整個序列必須與模型在原始請求期間產生的輸出相符;您不能重新排列或修改這些區塊的序列。
interleaved-thinking-2025-05-14
新增到您的 API 請求中。
以下是交錯思考的一些重要考量:
budget_tokens
可以超過 max_tokens
參數,因為它代表一個助理回合內所有思考區塊的總預算。interleaved-thinking-2025-05-14
。interleaved-thinking-2025-05-14
,沒有效果。interleaved-thinking-2025-05-14
傳遞給除 Claude Opus 4.1、Opus 4 或 Sonnet 4 之外的任何模型,您的請求將失敗。不使用交錯思考的工具使用
使用交錯思考的工具使用
cache_control
標記系統提示快取(思考變更時保留)
訊息快取(思考變更時失效)
cache_creation_input_tokens=1370
和 cache_read_input_tokens=0
,證明當思考參數變更時,基於訊息的快取會失效。max_tokens
的總和超過模型的上下文視窗,系統會自動調整 max_tokens
以適應上下文限制。這意味著您可以設定一個大的 max_tokens
值,系統會根據需要靜默地減少它。
使用 Claude 3.7 和 4 模型,max_tokens
(當啟用思考時包括您的思考預算)被強制執行為嚴格限制。如果提示代幣 + max_tokens
超過上下文視窗大小,系統現在會回傳驗證錯誤。
max_tokens
限制max_tokens
行為與延伸思考,您可能需要:
max_tokens
值signature
欄位中回傳。此欄位用於驗證思考區塊是由 Claude 產生的,當傳回 API 時。
content_block_delta
事件內的 signature_delta
在 content_block_stop
事件之前新增。signature
值比先前模型中的顯著更長。signature
欄位是一個不透明欄位,不應被解釋或解析 - 它純粹用於驗證目的。signature
值在平台間相容(Anthropic APIs、Amazon Bedrock 和 Vertex AI)。在一個平台上產生的值將與另一個平台相容。thinking
區塊並將其作為 redacted_thinking
區塊回傳給您。redacted_thinking
區塊在傳回 API 時會被解密,允許 Claude 繼續其回應而不失去上下文。
當構建使用延伸思考的面向客戶的應用程式時:
ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
thinking
和 redacted_thinking
區塊傳回 API 時,您必須將完整的未修改區塊包含回 API 以獲得最後的助理回合。這對於維持模型的推理流程至關重要。我們建議始終將所有思考區塊傳回 API。更多詳情請參閱上面的保留思考區塊部分。
範例:處理編輯的思考區塊
功能 | Claude Sonnet 3.7 | Claude 4 模型 |
---|---|---|
思考輸出 | 回傳完整思考輸出 | 回傳摘要思考 |
交錯思考 | 不支援 | 使用 interleaved-thinking-2025-05-14 測試版標頭支援 |
模型 | 基本輸入代幣 | 快取寫入 | 快取命中 | 輸出代幣 |
---|---|---|---|---|
Claude Opus 4.1 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
Claude Opus 4 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
Claude Sonnet 4 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
Claude Sonnet 3.7 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
max_tokens
大於 21,333 時需要串流。當串流時,準備好處理到達的思考和文字內容區塊。temperature
或 top_k
修改以及強制工具使用不相容。top_p
設定為 1 到 0.95 之間的值。