推理模型(reasoning models)把「多想一會兒」變成了一個可調的旋鈕。傳統大型語言模型收到問題後幾乎是「脫口而出」,一次前向傳播就給答案;而 o 系列、DeepSeek R1、Claude 的延伸思考(extended thinking)這類模型,會先在內部生成一長串思維鏈(chain-of-thought),把問題拆解、嘗試、回頭驗證,最後才輸出結論。差別不在模型變大,而在推論當下花掉的算力變多。

這件事之所以重要,是因為它打開了一條有別於「把模型愈練愈大」的擴展路徑。過去要更準,就得堆更多參數、更多訓練資料;現在只要讓模型在回答時多算幾秒到幾分鐘,準確率就能持續往上爬。這條「測試時運算(test-time compute)」的曲線在數學、程式、科學推理上特別陡,也直接改變了我們設計與付費使用 AI 的方式。

📖 學(核心)

為何「多想一會兒」能更準

模型一次前向傳播的算力是固定的,複雜問題需要的推理步驟卻可能遠超過這個預算。思維鏈的作用,是把一個難題攤成一連串較容易的小步驟,讓模型把中間結果寫進上下文,再以這些中間結果為基礎往下推。換句話說,模型是用「輸出更多 token」來換取「更多可用的運算深度」——每一個思考 token 都是一次額外的運算機會。

Anthropic 對 Claude 3.7 Sonnet 的描述點出了關鍵規律:延伸思考屬於「序列式測試時運算(serial test-time compute)」,模型在給出最終答案前進行多個連續的推理步驟,且準確率會隨著允許的「思考 token」數量呈對數成長。對數成長意味著報酬遞減,但在很寬的區間內,多給預算確實換得到更準的答案。OpenAI 在 o1 上也觀察到同一件事:效能隨測試時運算增加而穩定提升。

思維鏈還帶來一個副作用:模型會自我修正。當它把推理攤在明面上,就有機會在後續步驟中發現前面的錯誤並回頭修改,而不是一路錯到底。DeepSeek 的研究指出,自我驗證、反思、動態調整策略這些行為,是在訓練過程中自發湧現的,並非被明確寫死的規則。

思維鏈與強化學習如何訓練推理

讓模型「願意」且「擅長」長篇推理,靠的不只是給它看範例,而是強化學習(reinforcement learning, RL)。DeepSeek-R1 的論文示範了最極端的做法:R1-Zero 直接在基座模型 DeepSeek-V3 上做大規模 RL,完全跳過監督式微調(SFT),只用規則型獎勵——答案對不對(accuracy)加上格式合不合規(format)。他們採用的 RL 演算法是 GRPO。

這個實驗的震撼之處在於:只靠「答對就給獎勵」,模型自己就長出了思維鏈與測試時運算的能力。它沒有被教「要一步步想」,而是在追求答對率的過程中,發現「先多想幾步」是拿到獎勵的有效策略,於是自發地把推理鏈拉長。DeepSeek-R1 最終達到與 OpenAI o1 相當的推理水準,並開源了從 R1 蒸餾出的六個較小模型。

OpenAI 的 o1、o3 走的是類似邏輯:用 RL 優化推理過程,透過對每個步驟的獎勵回饋來迭代規劃。o3 在高推理模式下於 ARC-AGI 這個抽象推理基準拿到 87.5%,逼近人類參考分數 85%。RL 訓練推理的核心概念是:答案的正確性通常好驗證(數學有標準答案、程式能跑測試),於是可以把「可驗證的結果」當成獎勵訊號,讓模型自己去探索「什麼樣的思考過程最容易導向正確答案」。

測試時運算的成本效益取捨

測試時運算不是免費的,它把成本從訓練期挪到了推論期。每一次回答都要生成大量隱藏的思考 token,這些 token 一樣要耗 GPU、一樣計費、也一樣拖長延遲。一道原本零點幾秒回覆的問題,開啟深度推理後可能要等數十秒到數分鐘,成本可能是原本的數倍到數十倍。因此關鍵不是「要不要推理」,而是「這題值不值得多想」。

業界的解法是把推理深度變成可調參數。OpenAI o3-mini 提供 low / medium / high 三檔推理力度,用較低算力換取足夠的推理表現;Anthropic 讓開發者設定「思考預算(thinking budget)」,精準控制 Claude 花多久思考,Claude 3.7 Sonnet 更把延伸思考做成可開關的模式。到了 Claude Opus 4.6 這一代,出現「自適應思考(adaptive thinking)」:模型自己判斷何時該深入推理,開發者只需調整力度(effort level)讓它更積極或更保守,而不必二選一地全開或全關。

要注意的是,測試時運算的邊際效益高度取決於任務類型。它在有明確對錯、需要多步演繹的題目(數學、程式、邏輯)上收益最大;但 2025 年的多篇研究提醒,對知識密集型任務——答案取決於模型是否「記得」某個事實,而非能否推導——多想並沒有太大幫助,因為缺的是知識不是運算。過度推理還可能引發「想太多(overthinking)」與「想不夠(underthinking)」等新失效模式,讓模型在簡單題上浪費算力,或在難題上頻繁切換思路而無法深入。實務上的判準因此很直接:可驗證、需推演的問題開推理;查事實、講速度、走量的場景關掉它。

🧠 記

  • 推理模型的本質是把「推論當下的算力」變成可調旋鈕,靠輸出更多思考 token 換取更多運算深度,而非靠更大的模型。
  • Claude 的延伸思考屬於序列式測試時運算,準確率隨思考 token 數量呈「對數成長」——有效但報酬遞減。
  • DeepSeek-R1-Zero 只用規則型獎勵(答對 + 格式)做純 RL,跳過 SFT,思維鏈與自我驗證能力是自發湧現的。
  • 用 RL 訓練推理的前提是「結果可驗證」:數學有答案、程式能跑測試,才能把正確性當成獎勵訊號。
  • o3 高推理模式在 ARC-AGI 拿 87.5%,接近人類 85%,代表測試時運算在抽象推理上的威力。
  • 測試時運算把成本從訓練期移到推論期,延遲與費用同步上升,所以要用力度分檔(low/medium/high)或思考預算來控管。
  • 測試時運算對「需推演」的任務收益最大,對「查事實」的知識密集任務幫助有限,還可能引發想太多/想不夠的失效模式。

✍️ 實踐

  1. 針對同一道多步驟數學或程式題,分別用「一般模式」與「延伸思考/高推理」跑一次,比較答案正確性與回應時間,親手感受準確率與延遲的取捨曲線。
  2. 在支援思考預算或推理力度的模型上,把預算從低調到高,記錄每一檔的正確率與 token 花費,找出你這類任務的「報酬遞減拐點」。
  3. 挑一題純查事實的問題(例如某個特定日期、定義),驗證開啟深度推理是否真的沒有明顯提升——體會「缺知識不是靠多想能補的」。
  4. 讀一段推理模型輸出的思維鏈,標出它「自我修正」或「回頭驗證」的段落,理解為何攤開推理過程本身就能提升準確率。
  5. 為自己常用的任務建立一張分流表:哪些場景值得開推理(可驗證、多步、高價值),哪些該關(求快、走量、查事實),把成本效益判斷變成預設習慣。

🔗 延伸學習


💬 問 AI

我想深入理解「測試時運算」在我的實際工作中該怎麼用。我的常見任務是{請填入你的典型任務,例如:寫 SQL、除錯、寫文案、資料分析},使用的模型是{請填入模型,例如:Claude、o3、DeepSeek R1}。請幫我:
1. 判斷這類任務屬於「需推演」還是「查事實」,說明是否值得開啟深度推理;
2. 給出建議的推理力度或思考預算設定,以及背後的成本效益理由;
3. 舉一個我這類任務的具體例子,示範開啟與關閉推理時,輸出品質與延遲會有什麼差別。