LLM 思考控制實測:13 個模型如何接受、忽略或強制執行
同一個思考控制參數會因為你把它傳送給哪個模型而代表三種不同的意義:thinking_budget: 16 在 Qwen 3.8 Max、GLM 5.2 以及兩種 DeepSeek V4 建置版本上會精確消耗 16 個推理權杖,在 Kimi K3 與 MiniMax M3 上會被默默忽略,而在 GPT-5.6 上則會被以 400 錯誤拒絕。我們針對來自九家供應商的 13 個模型進行了探測,使用 OpenAI 相容介面所接受的每一種控制拼寫方式,接著在相同的四項加鹽任務上(每個測試格三次執行)測量每個旋鈕位置在推理權杖上的花費,以及它在準確度上造成什麼破壞。
TL;DR
thinking: {"type": "disabled"}在 13 個模型中的 11 個將推理歸零;兩個例外(Gemini pro、GPT-5.6)拒絕它。- Qwen、GLM 和 DeepSeek 將
thinking_budget: 16精確地用掉 16;Kimi 和 MiniMax 接受該欄位但沒有任何改變:Kimi 針對該上限用掉 8-97,從不是 16。 - 關閉思考使 5 步驟算術在八個模型上從 3/3 降到 0-1/3;DeepSeek V4 Pro 和 Claude 藉由將步驟寫入可見答案而保持 3/3。
- 在所有 12 個支援關閉的模型上,JSON 擷取在關閉思考時得分 3/3。
各 API 接受哪些思考控制參數?
OpenAI 相容介面上常見 3 類控制方式,沒有任何模型會全部遵守。reasoning_effort 接受列舉值(從 none 到 max),thinking_budget 接受權杖數量,thinking: {"type": "disabled"}(以及類似的 enable_thinking: false)則要求完全關閉。以下是我們實測的接受情況,每個測試格都使用一道簡單的加鹽問題:
| 模型 | reasoning_effort | thinking_budget | thinking: disabled |
|---|---|---|---|
| kimi-k3 | 全部 7 個值 | 接受,忽略 | 有效 (rt=0) |
| qwen3.8-max | 全部 7 個值 | 精確 (16 → 16;0 被拒絕) | 有效 |
| deepseek-v4-flash-0731 | 5 個值,無關閉選項 | 精確 (16 → 16) | 有效 |
| deepseek-v4-pro | 5 個值,無關閉選項 | 精確 | 有效 |
| gpt-5.6-luna | 7 個值中的 5 個(minimal/max 於上游被拒絕) | 被拒絕 (400) | 被拒絕 (400) |
| glm-5.2 | 全部 7 個值 | 精確 (16 → 16) | 有效 |
| gemini-3.6-flash | 全部值;none/minimal 真正關閉 | 經轉換,粗略:0-64 = 關閉,1,024 為上限 | 有效 (ct=2) |
| gemini-3.1-pro-preview | none/minimal 被拒絕(pro 無法停用) | 降低消耗,高值設下限 (64 → 204) | 被拒絕 (400) |
| minimax-m3 | 接受;none 忽略 | 接受,忽略 | 有效 (ct=2) |
| Dola-Seed-2.0-pro | 4 個值;minimal 真正關閉 | 0 = 關閉;非零值 忽略 (16 → 36-64) | 有效 (rt=0) |
| claude-sonnet-5 | output_config.effort | budget_tokens 被拒絕 (400) | 有效 |
| claude-opus-5 | output_config.effort | budget_tokens 被拒絕 (400) | 有效 |
| claude-fable-5 | output_config.effort | 接受 | 接受 |
有兩列值得標記。Google 自己分成兩條路線:flash 層級可以乾淨地關閉,而 pro 層級則以 400 拒絕每一種關閉的寫法,符合 Google 認為 pro 等級思考無法停用的立場。而兩個標示為「accepted」的 claude-fable-5 儲存格,與 Anthropic 為該模型公布的合約不同,該合約明訂思考無法停用;請將這些儲存格視為變動中。
「接受」是否代表「確實執行」?
不代表,而兩者的差額仍會計費。收到 200 只表示參數通過解析,不代表模型實際採用。要區分兩者很簡單:把預算設為 16,再查看計量結果。
Qwen、GLM 以及兩種 DeepSeek 版本都精準地燒掉了 16。Kimi 在四次執行中針對相同的上限分別燒掉了 8、19、79 和 97,從未出現 16,而 MiniMax 在 18-44 時表現相同,照常計費,回應中沒有任何跡象暗示上限已被捨棄。Gemini 以粗略的粒度將預算轉換為其原生控制:在 flash 上,0 到 64 的上限表現為完全關閉,而 1,024 則允許思考(在我們的 5 步驟任務上中位數為 141);pro 層級在上限下削減其燒量,但針對要求的 64 卻在約 200 處觸底,且無法達到零。GPT-5.6 和 Claude 位於光譜中誠實的一端:數值預算會被以 400 拒絕,你能立即知道自己的處境。
實務上的原則很簡單:設定任何思考控制後,下一個回應就檢查 completion_tokens_details.reasoning_tokens,確認計量值確實有變。控制參數若明確失敗,代價只是重試一次;若默默失敗,每次呼叫都會產生原以為已封頂的推理費用。
是否有通用的關閉開關?
thinking: {"type": "disabled"} 已經是最接近的做法:它在 13 個模型中的 11 個上將推理歸零,涵蓋 Kimi、Qwen、兩款 DeepSeek、GLM、Gemini flash、MiniMax、ByteDance 的 Seed 系列,以及全部三款 Claude 模型。它的相似寫法 enable_thinking: false 幾乎在所有地方都能匹配,但有一個無聲的例外:MiniMax 接受它卻仍保留思考(在我們的探測中有 31 個推理權杖)。
這兩個例外會明顯報錯,而非默默失敗:Gemini pro 對每個拼寫錯誤都會回傳 400(該層級無法停用思考功能),而 GPT-5.6 同樣拒絕該欄位。GPT-5.6 在相同意義上不需要關閉開關:gpt-5.6-luna 預設在簡單查詢與擷取上不消耗任何推理權杖(該系列的雙槓桿模式),而 reasoning_effort: "none" 也能為數學型輸入固定此行為。
關閉思考會讓準確率付出多少代價?
在 5 步算術鏈上,代價幾乎是全部準確率:思考一關閉,8 個模型的成績便從 3/3 降到 0/3 或 1/3。對 2 跳文字題的影響小得多:多數模型關閉思考後仍維持 3/3,只有 Kimi 與 MiniMax 降到 0/3。這種脆弱的關閉狀態,也出現在 K3 上線版本的研究結果中。當步驟數超過模型能在單次可見輸出中處理的範圍,準確率就會驟降。
| 模型 | 5 步乘法,開啟思考 | 5 步乘法,關閉思考 |
|---|---|---|
| kimi-k3 | 3/3(52 rt) | 1/3 |
| qwen3.8-max | 3/3(96 rt) | 0/3 |
| deepseek-v4-flash-0731 | 3/3(70 rt) | 1/3 |
| deepseek-v4-pro | 3/3(112 rt) | 3/3(答案增至 142 個權杖) |
| gpt-5.6-luna | 3/3(33 rt) | 0/3 |
| glm-5.2 | 3/3(237 rt) | 0/3 |
| gemini-3.6-flash | 3/3(338 rt) | 0/3 |
| minimax-m3 | 3/3(66 rt) | 1/3 |
| Dola-Seed-2.0-pro | 3/3(128 rt) | 0/3 |
| claude-sonnet-5 | 3/3(70 out) | 3/3(輸出增至 139 個權杖) |
| claude-opus-5 | 3/3(60 out) | 3/3 |
這 3 個仍維持準確率的模型使用相同方法:停用思考後,把中間步驟直接寫進可見答案。DeepSeek V4 Pro 的回覆中位數從 115 增至 142 個權杖,Sonnet 5 則從 70 增至 139 個。隱藏推理的費用消失了,卻改成支付可見推理的費用;多數價目表對兩者採用相同的輸出費率。因此,「關閉」比較像是重新標記支出,而不是消除支出。真正準確率驟降的,是那些關閉後只照指示回答 1-4 個權杖的模型。
遇到這種準確率斷崖時,小額預算就足以恢復準確率:thinking_budget: 256 讓 Qwen 與兩個 DeepSeek 版本恢復到 3/3,推理權杖中位數為 77-128。這與我們在 DeepSeek 重新訓練版和 Qwen 3.8 隱藏上限中量到的最低預算救援模式相同。
矩陣中有一格完全沒有數值:claude-fable-5 對我們原始的算術題措辭,在所有 effort 設定下共 12 次執行,全部回傳 stop_reason: "refusal"(分類為 cyber);語意相同但換一種說法後,12 次全部通過。Anthropic 將拒絕記錄為一級停止原因,並提供可選用的備援機制。若輪替清單中有 fable 類模型,應預先處理這個停止原因。
各 effort 層級實際能換到什麼?
每家供應商的曲線都不同,只有 Google 會隨檔位穩定上升。我們用同一個 5 步任務,測試各模型接受的完整列舉值;每個檔位執行 3 次,再把中位數繪製於同一尺度:

這些折線可分為 4 種形狀。真正的節流控制:兩個 Gemini 都會單調上升,flash 從 137 增至 390 個推理權杖,pro 從 180 增至 387,高檔位趨於飽和。low 檔位只消耗最高檔位約三分之一至二分之一的權杖,準確率仍維持 3/3,因此值得設為 Gemini pipeline 的預設值。平坦曲線:DeepSeek 從 low 的 78 降至 max 的 54;Kimi 從 minimal 的 94 降至 max 的 67;MiniMax 則在 61-93 間無規律變動。這些模型雖提供多檔控制,切換檔位卻不會產生實際效果。DeepSeek 自家模型卡引用「max reasoning effort」下的基準成績,但我們先前已發現該設定與預設值沒有可辨識的差異。沒有觸發的上限:Qwen 的各層級實際上是預算上限,面對這種規模的任務不會生效,數值落在 85-156 且沒有趨勢;只有深度工作負載才會碰到上限,單獨測試時也是如此。非單調變化:GLM 的 high 消耗 116 個權杖,低於 low 的 184 與 max 的 345;在對應關係穩定前,中間檔位不能視為有序。兩個自適應模型幾乎不需要這個控制:gpt-5.6-luna 的完整列舉範圍只在 32 到 41 個權杖間變動;Opus 5 的 output_config.effort 對可見輸出的影響也只落在雜訊範圍內(54-63 個權杖,Sonnet 5 同樣只有 71-92),真正做決策的是自適應思考機制。
從曲線形狀就能得出操作原則:Gemini 的每一檔都會產生實際費用差異,必須明確選擇。Qwen、GLM 與 DeepSeek 應使用能精確執行的 thinking_budget 和關閉開關,而不是列舉檔位。其他模型的列舉值只是關閉與預設之間的裝飾。要判斷手上的模型屬於哪一種,只能執行上述階梯測試:對相同任務逐一測試所有檔位,再讀取計量值。
任務形狀的影響也適用於其他情境:在單步 JSON 擷取測試中,開啟思考反而產生整個矩陣裡最高的消耗量,GLM 為 377 個推理權杖,Gemini flash 為 332 個,卻沒有帶來任何收益。支援關閉思考的 12 個模型,在關閉後全都得到 3/3。結構化擷取承擔的無效推理成本最高,同時也是最適合安全關閉思考的工作負載。
能否看到費用花在什麼內容上?
所有模型都有計費計量值,但不一定會顯示思考內容。6 個開放權重系列模型會在 reasoning_content 回傳推理文字:GLM 5.2 與 DeepSeek V4 Pro 回傳的內容看起來接近完整思考鏈,前者 167 個推理權杖對應 508 個字元,後者 100 個推理權杖對應 312 個字元;Kimi、Qwen、DeepSeek Flash、MiniMax 與 Seed 回傳較短的推理軌跡,大致符合它們較低的消耗量。GPT-5.6 與兩個 Gemini 完全不回傳內容:推理權杖照常計費,但使用者看不到。Claude 會回傳 thinking 區塊,但我們測試的介面預設省略其內容,因此只看得出模型曾經思考,無法看到思考內容。
這種可見性差異會影響預算行為的除錯方式。對完全不回傳推理內容的模型,usage 明細中的 reasoning_tokens 是唯一可用的觀測指標。仍然是同一條原則:相信計量值,不要相信 200。
常見問題
如何在 OpenAI 相容 API 上關閉思考?
發送 thinking: {"type": "disabled"};在我們的 13 個模型矩陣中,它讓其中 11 個模型的推理歸零(Kimi、Qwen、DeepSeek x2、GLM、Gemini flash、MiniMax、Seed 以及 Claude 系列)。Gemini pro 無法被關閉並會回傳 400;GPT-5.6 拒絕此欄位,但在簡單任務上預設幾乎不思考。可透過讀取下一個回應中的 reasoning_tokens 來驗證。
thinking_budget: 0 能否關閉思考?
這取決於模型。在 Gemini flash 和 ByteDance Seed 上,0 表現為完全關閉;Qwen 和 DeepSeek 會以 400 拒絕 0;Kimi 和 MiniMax 則接受任何預算但忽略它。在以權杖為單位嚴格執行預算的情況下(Qwen、GLM、DeepSeek),最小的有用值是一個小的正數:在我們的 5 步任務中,256 讓 Qwen 和兩個 DeepSeek 版本都保持 3/3,而 GLM 在相同設定下則搖擺到 2/3。
JSON 擷取可以安全關閉思考嗎?
依我們的測試結果,可以。所有支援關閉思考的模型,在單步擷取任務中都得到 3/3;開啟思考時,同一份輸出卻最多消耗 377 個推理權杖。分界點在步驟數,而不是輸出格式:11 個模型中,有 8 個在關閉思考後無法完成多步任務。DeepSeek 研究還有一項例外:0731 重新訓練版開啟思考後,反而會破壞嚴格 JSON 的值,因此關閉思考也能修正正確性。
哪些模型會精確執行思考預算?
Qwen 3.8 Max、GLM 5.2 以及兩款 DeepSeek V4 版本:請求 16,計量器就顯示 16。Kimi K3 和 MiniMax 接受同一個欄位卻忽略它;Gemini 對其進行粗略轉譯(小額值在 flash 上等同於關閉,pro 則以 high 為下限);GPT-5.6 和 Claude 5 系列模型則直接拒絕數值型預算(Claude 的 budget_tokens 會回傳 400 並指向 adaptive thinking)。
於 2026-08-11/12 透過 Synthorai 閘道測量:針對 13 個模型的 reasoning_effort(7 個值)、thinking_budget(0/16/1024)、enable_thinking 與 thinking:{"type":"disabled"} 進行接受度探測,並於發布前數小時重新驗證;接著執行 552 次呼叫的稅務矩陣(四種加鹽任務形態 x 每組 3 次執行,各組僅限於每個模型已驗證可用的控制項)、對 5 步驟任務進行 183 次呼叫的完整列舉階梯(即圖表的資料)、加值儲存格,以及每個模型的推理可見性探測。準確度依原始答案評分;權杖中位數取 n=3;推理權杖讀自 completion_tokens_details.reasoning_tokens(Claude 模型僅回報輸出權杖)。提示詞每次呼叫皆加鹽。旋鈕語意與列舉為我們在此日期所測量的介面,可能會變更;在依賴任何單一儲存格前請重新探測。