有想的、沒想的:Reasoning 模型是什麼
你在第 9 章看過對話裡的「思考塊」——AI 回答前面那一坨可以摺疊起來的小字。這章要回答的是:為什麼有些 AI 會先在心裡想一輪、有些不會、想的那一輪要不要算你錢、什麼時候值得多花那個錢。讀完你就會知道,同一個 Session 遇到「幫我挑冷氣」跟「順便關個燈」,該分別派哪一種模型上場。
為什麼要懂「有想」跟「沒想」
你在第 9 章已經知道「思考塊長什麼樣、怎麼展開看」,但沒解釋為什麼有些模型會冒出這塊、有些不會。這章補上這一課,因為它牽動兩件很實際的事:錢包跟等待。
- 錢包:會思考的模型比不會思考的模型,同樣一個問題可能貴 10 倍、20 倍,甚至 100 倍。因為那一整坨思考文字,AI 廠商都當成「輸出(output)」在計價,跟你看到的回答一起算 tokens。
- 等待:會思考的模型從你按下 Enter 到看到第一個字,通常要多等 5-30 秒(複雜問題有時候一分鐘以上)。因為它真的在後台跑「草稿紙」那一輪。
但反過來說,會思考的模型答案品質也顯著比較好。所以這章的目標是讓你有能力做這個判斷:什麼問題值得多花那些錢跟時間、什麼問題根本用便宜的就好。做完你就能自信地在下一章的模型下拉裡挑對那一個。
Reasoning 模型和一般模型到底差在哪
拿你國三數學考試當比喻,就很清楚。
- 一般模型(沒想的):像你背九九乘法的時候,「七八五十六」直接脫口而出,中間沒有思考過程。老師問你、你就答,快、便宜、大部分時候夠用。適合的題目是「客廳燈是哪個 entity_id」、「北北基下雨的話回你什麼」這種一秒鐘就能答的。
- Reasoning 模型(有想的):像你算一題應用題,先在草稿紙上寫「已知條件是 A、B、C,先算 X、再算 Y、代回原式得到答案」,寫滿半張紙,最後才在答案欄寫一個數字。慢、貴、但複雜題目答對率高很多。適合的題目是「幫我把家裡三支冷氣、月份、電費、每人使用時段全部考慮進去,算哪種夜間排程最省」。
Reasoning 模型那張「草稿紙」,就是第 9 章你看過可以展開的思考塊。它不是裝飾,是模型真的在裡面推理、驗算、換個角度想。所以答案品質好,但那一整張草稿紙的字也是 AI 產出的 tokens,一樣要算你錢。
哪些模型是 reasoning、哪些不是
Pi Agent 支援的六家 provider 都有 reasoning 和非 reasoning 兩類模型。下面這張速查表(截至 2026 年 8 月)幫你分清楚哪個是哪個。模型清單與價格變動很頻繁——DeepSeek 已把 R1/Reasoner 併進 deepseek-v4-pro、Anthropic 從 4.7 起把 budget_tokens/extended thinking 全面收掉改成 adaptive,本章底下的估算數字都當「量級參考」看,正式付費前請以各家 provider 的定價頁為準:
| 模型 | Provider | 是不是 reasoning | 思考塊會不會給你看 |
|---|---|---|---|
| GLM-4.6 | 智譜清言 | 是 | 會(用 zai 格式包在特殊 tag 裡) |
| GLM-4-Flash | 智譜清言 | 否 | 沒有思考塊 |
| DeepSeek-v4-pro(含前身 R1/Reasoner) | DeepSeek | 是 | 會(放在 reasoning_content 欄位) |
| DeepSeek-v4-flash(V3/Chat 併入) | DeepSeek | 否(可視為輕量 chat 走非 reasoning 路線) | 沒有 |
| Claude Opus 4.7 / 4.8 | Anthropic | 是(只支援 adaptive thinking,模型自己決定要不要想;官方已停用 type:"enabled"/budget_tokens) |
預設 display: "omitted"——只回空的 thinking block(有 signature 沒明文),要看得先在 provider 端把 display 改成 summarized |
| Claude Sonnet 4.6 / Opus 4.6 | Anthropic | 是(可設 adaptive;舊 budget_tokens 已 deprecated,仍能跑但不建議) |
會,預設 summarized(Anthropic 官方摘要過) |
| Claude Sonnet 4.5 / Haiku 4.5 及更早 Claude 4 系列 | Anthropic | 只支援舊式 extended thinking(type:"enabled" + budget_tokens),沒有 adaptive |
會(summarized);Haiku 4.5 屬「keep last turn only」,多輪後前面思考塊會被自動剝掉 |
| OpenAI o1 / o3-mini(或 o4 系列) | OpenAI | 是 | 不給你看原文(OpenAI 政策;2026 年開始新的 o 系有 reasoning summary 摘要選項,但完整 CoT 仍不公開) |
| GPT-4o / GPT-4.1 / GPT-5-chat | OpenAI | 否 | 沒有 |
| Kimi K2-Instruct-0905(走 Groq) | Groq | 否(Groq 只上架 K2 Instruct 版;K2-Thinking 只有 Moonshot 官方 API 有,Groq 沒有) | 沒有 |
| Llama 3.3 70B(走 Groq) | Groq | 否 | 沒有 |
| MiniMax abab-6.5 | MiniMax | 否 | 沒有 |
Claude Opus 4.7/4.8 也類似——官方預設
display: "omitted",就是「返回空的 thinking block、但 signature 帶著加密思考給下一輪」。想看內容要在 Pi Agent 對應的 provider 設定把 display 改成 summarized。thinking format 是什麼(Pi Agent 專有名詞)
你在第 6 章貼金鑰的時候,Add Model 對話框裡有一個欄位叫 thinkingFormat,下拉選單通常有這幾個選項:zai、deepseek、native、或空白(不填)。這個欄位在告訴 Pi Agent「等一下收到 AI 回應的時候,思考塊會用哪種格式包裝、要怎麼拆出來給使用者看」。
四個選項對應的意思:
| thinkingFormat 值 | 誰在用 | 思考塊怎麼藏 | 典型模型 |
|---|---|---|---|
zai |
智譜(Zhipu/z.ai)家 | 典型作法是把思考文字包在 <think>…</think> 這類 tag 裡(GLM-Zero/GLM-4.5-air 的 open-weight 版本明確用這個 tag;GLM-4.6 官方 API 有時是 reasoning_content、有時是 tag);Pi Agent 用 zai 這個標籤觸發它內部的智譜家專用拆解邏輯,實作細節你不用管,記得選對就好 |
GLM-4.6、GLM-Zero、glm-4-plus |
deepseek |
DeepSeek 家(許多 OpenAI-compatible reasoning 模型也吃這個) | 思考文字放在 API 回應的 message.reasoning_content 欄位,跟正式答案 message.content 分開放 |
DeepSeek-v4-pro(含前身 R1/Reasoner),以及部分走 OpenAI-compatible 的其他家 reasoning 模型 |
native |
Anthropic(走 Messages API) | 思考變成一個獨立的 content block(type: "thinking"),跟 type: "text" 平行擺;4.7 以後預設 display: "omitted",thinking 欄位是空的、signature 帶加密內容 |
Claude Opus 4.5 / Sonnet 4.5 / Haiku 4.5(extended);Sonnet 4.6 / Opus 4.6 / Opus 4.7 / Opus 4.8(adaptive) |
| 空白(不填) | 非 reasoning 模型 | 沒有思考塊,回應就是純答案 | GLM-4-Flash、DeepSeek-Chat、GPT-4o、Claude Haiku、Llama 3.3 |
Pi Agent 用這個欄位決定「要不要在對話介面上多渲染一個可展開的思考塊卡片」。填對,你才看得到那塊漂亮的灰底摺疊區。填錯的後果,看你怎麼錯法:
| 錯誤情境 | 後果 |
|---|---|
| GLM-4.6 選成空白 | 對話會出來,但你會看到答案前面出現一坨莫名其妙的 <think> tag 跟一大段草稿——因為沒人幫你拆出來變成獨立卡片 |
| DeepSeek-R1 選成 zai | 思考塊完全消失(因為 R1 沒有把思考藏在 <think> tag 裡,而是塞到另一個欄位),但你會發現「怎麼這個模型好像沒在想」——其實有,只是你看不到 |
| Claude Opus 選成 zai 或 deepseek | 看不到思考塊,且可能整個回應解析失敗,畫面顯示「error parsing response」之類的訊息 |
| GPT-4o 選成 native | 沒有實際傷害(GPT 本來就沒思考塊),但那個 flag 意義不大,Pi Agent 收到後會發現沒有 thinking block 就當一般回應處理 |
api: "anthropic" 模式的時候(不是 openai-compatible),Pi Agent 會自動用 native 格式處理思考塊,你甚至不用手動選——thinking block 是 Anthropic Messages API 原生就有的欄位。這是第 11 章提到的「Anthropic 走自己的路」的其中一個好處:格式全部自動化。有想的到底比沒想的貴多少
deepseek-v4-pro,本表用「DeepSeek-R1」是為了跟第 11 章保持一致的稱呼,實際計費是 v4-pro 的價。抽象講「貴 10 倍」沒感覺,我們拿同一個問題,實地比一次。假設你問這個問題(很典型的家庭自動化題目):
幫我寫一個自動化:晚上 10 點開始,慢慢把客廳燈調暗到 20%,
到 10 點半完全變成夜燈色溫,過程要平滑,不要突然變暗。
這是一個「有點難、需要想清楚 transition 與時間邏輯」的問題。同樣一句話,丟給不同模型會發生什麼事:
| 模型 | 會不會想 | 思考 tokens | 回答 tokens | 估算費用(台幣) |
|---|---|---|---|---|
| GLM-4-Flash | 不會 | 0 | 約 500 | 約 0.01 元 |
| DeepSeek-Chat(V3) | 不會 | 0 | 約 500 | 約 0.05 元 |
| GLM-4.6 | 會 | 約 2,000 | 約 600 | 約 0.5 元 |
| DeepSeek-R1 | 會 | 約 3,000 | 約 600 | 約 1.5 元 |
| Claude Sonnet 4.6(開 thinking) | 會 | 約 3,000 | 約 600 | 約 4 元 |
| Claude Opus 4.7 | 會 | 約 3,000 | 約 600 | 約 15 元 |
看得出來:同樣一個問題,最貴(Claude Opus)是最便宜(GLM-4-Flash)的 1,500 倍。差 1,500 倍能買什麼?1,500 個問題 vs 1 個問題。所以這件事真的不能亂選。
max_tokens limit for the turn」——直接明說思考塊算在 max_tokens 裡,跟正式回答共用同一個計費池子;回應裡透過 usage.output_tokens_details.thinking_tokens 這個欄位可以查這一輪 Anthropic 幫你計費的 thinking token 數。DeepSeek 那邊走 OpenAI-compatible 介面,reasoning 用量通常對應 usage.completion_tokens_details.reasoning_tokens(依 provider/版本略有差異),方便事後查帳。什麼時候值得多花那個錢開 reasoning
不是所有問題都值得叫 reasoning 模型上場。下面這張表列常見場景,判斷你這一題該不該切過去:
| 場景 | 值得開 reasoning 嗎 | 建議模型 |
|---|---|---|
| 「客廳燈叫什麼名字」「儲藏室有沒有溫度感測」這種查東西 | 不值得 | GLM-4-Flash、DeepSeek-Chat、GPT-4o-mini |
| 「今天天氣如何」「跟我聊聊今天想吃什麼」閒聊 | 不值得(reasoning 反而顯得囉唆) | GLM-4-Flash、Claude Haiku |
| 「客廳燈開起來」「主臥冷氣調 26 度」單一動作 | 不值得(叫 tool 就好) | GLM-4-Flash |
| 「幫我看這個自動化為什麼半夜跑不起來」除錯 | 值得 | GLM-4.6、Claude Sonnet 4.6 |
| 「我要買冷氣,考慮房間坪數/隔熱/預算,推薦兩三款」重要決策 | 非常值得 | Claude Opus 4.7、DeepSeek-R1、GLM-4.6 |
| 「幫我把客廳+餐廳+房間三支冷氣、每個人的作息、時電區間,全部算進去,寫成一份省電排程」複雜規劃 | 非常值得 | Claude Opus 4.7 |
| 「幫我寫這個複雜的 Jinja 模板,把三個 sensor 的歷史平均起來算能耗」寫程式 | 值得 | GLM-4.6、Claude Sonnet 4.6、DeepSeek-R1 |
| 「幫我把這個 YAML 從 3 段格式改成新版 triggers/actions」機械式改寫 | 不值得 | GLM-4-Flash、DeepSeek-Chat |
| 「這個 Skill 該怎麼設計 SKILL.md 的 frontmatter」設計討論 | 值得 | Claude Sonnet 4.6、GLM-4.6 |
一個好用的心法:如果這個問題就算 AI 答錯了、你損失不大(比如問錯燈的名字大不了再問一次),用便宜的。如果這個問題答錯了會讓你多花錢、多修東西、或做錯決策(買錯冷氣、寫錯排程跑了一個月才發現),花錢開 reasoning 值得。把 AI 費用當成「保費」在看,就不會覺得多花那 15 塊台幣心痛。
關掉思考塊顯示≠省錢,這個要搞清楚
Pi Agent 某些版本的對話介面上,有一個小小的「隱藏思考塊」開關(通常在 Session 右上角三個點展開的選單裡),按下去思考塊就摺起來、視覺上乾淨很多。很多人一按下去就以為「太好了,我叫它不要想,錢包鬆一口氣」。
大錯特錯。這個開關只是 UI 上把那塊灰底卡片藏起來——AI 那邊照樣在想、照樣產出那些思考 tokens、照樣跟你收錢。你少的只是眼睛看到的視覺負擔,不是荷包裡的錢。
| 你以為 | 實際上 |
|---|---|
| 按「隱藏思考塊」= AI 不會想 = 不花錢 | 只是眼睛看不到,AI 一樣想、一樣花錢 |
| OpenAI o1 沒顯示思考塊 = o1 沒思考 | o1 有思考(很大量),只是 OpenAI 不給你看,錢一樣算 |
| 選 Claude Sonnet 4.6 但不開 thinking = 便宜的 Sonnet | 沒開 thinking 確實比較便宜(沒思考 tokens),但答案品質就退回普通模型水準 |
| 把 thinking budget 設 1024(Anthropic 硬性最小值)= 幾乎不花錢 | 是有省一點,但 AI 只想那一點通常也答不出好答案,這錢等於白花;而且這招只對 Claude 4.5/4.6 有效,Opus 4.7 以上根本不吃 budget_tokens(直接回 400),只能用 adaptive + effort 檔位 |
真正省錢的做法只有一個:換一個不會思考的模型。GLM-4.6 換 GLM-4-Flash、Claude Opus 換 Claude Haiku、DeepSeek-R1 換 DeepSeek-Chat。或者,同一個模型如果 provider 支援關 thinking(比如 Claude Sonnet 4.6 就可以),那就把 thinking 關掉。
混搭策略:一個對話怎麼跨模型
實務上,很多人的做法是:一個 Session 裡不同階段用不同模型。這是第 10 章「多接幾家」策略在同一個對話裡的具體應用。
典型的節奏長這樣:
-
開場探路用便宜的
Session 剛開的前幾輪,你在描述問題、探索背景、確認 AI 有沒有找到對的 entity——這階段用 GLM-4-Flash 或 DeepSeek-Chat 就夠。快、便宜、答對率也不差。這時候花大錢請 Opus 幫你「查一下客廳燈叫什麼」,就是拿獅子殺雞。
-
發現要深想的時候切過去
當你發現「這個問題有點複雜,需要 AI 幫忙好好想一輪」(比如它前面已經幫你查完所有相關 entity,現在要規劃一個橫跨三個房間、四個裝置、六個時段的自動化),這時候在下一章教的模型下拉切成 GLM-4.6 或 Claude Sonnet 4.6。
-
切完之後前面的訊息不會重跑
切模型的當下,前面所有訊息不會重新丟給 AI 跑一遍(那樣太浪費)。但下一次你發訊息,前面所有累積的對話會被新模型「讀過一次」當上下文——這一讀是要算 input tokens 的錢,不算免費。所以切模型有一個一次性成本,但通常還是划算,因為你等於在最需要的那一步才動用重砲。
-
深想結束可以再切回便宜的
Opus 幫你想出方案、也寫好初版 YAML 之後,接下來如果只是「你幫我把冷氣的溫度改成 24 度」這種小修,切回 GLM-4-Flash 繼續改。這樣整個 Session 只在「真的需要想」的中段花大錢,前後都便宜。
常見卡關
-
選了 GLM-4.6 但看不到思考塊
回第 6 章教你貼金鑰的 Add Model 對話框,檢查那個
thinkingFormat欄位是不是選了zai。空白的話 Pi Agent 不知道怎麼拆思考塊,會把<think>…</think>那段當普通文字塞給你看(很醜的一坨)。選成deepseek或native的話思考塊會完全消失。改成zai、按 Save,重開一個新的 Session(舊 Session 通常也會生效)再試一次。 -
明明是 reasoning 模型但答案品質很爛
兩個可能:(a)思考 token budget 太小——如果你的 provider/模型還吃
budget_tokens(Anthropic Claude Sonnet 4.5/Haiku 4.5/Opus 4.5 這代還在支援;4.6 已 deprecated 但仍能跑;4.7 以後直接回 400 錯誤,不能設),可以試著調高。Anthropic 官方硬性下限是1,024,官方建議:簡單題目從 1,024 開始加、複雜題目從 16,000 起跳。DeepSeek-v4-pro 有隱含上限、通常不用手動調。(b)題目本身就不適合 reasoning——如果你問的是「客廳燈叫什麼名字」這種查資料題,reasoning 模型答得比普通模型還慢還囉唆,因為它會「想不必要的東西」。這種題目換 GLM-4-Flash 反而更好。 -
從有想切成沒想後 AI 好像「變笨」了
正常,你少了那張草稿紙。GLM-4.6 切成 GLM-4-Flash、Opus 切成 Haiku,答案深度會下降。如果你剛才問的問題本來就需要深想(比如規劃自動化),切回便宜模型之後它可能給你比較平面、少考慮邊角情境的答案。如果你切回便宜的之後感覺失望,就是該切回貴的訊號——說明這個問題確實需要 reasoning。
-
DeepSeek 的 reasoning(v4-pro,前身 R1)一直觸發 rate limit 或超時
DeepSeek 官方 API 在中國白天/傍晚 peak 時段常常伺服器爆滿,request 會被排隊、甚至超時。解法(優先順序):(a)暫時切成 GLM-4.6 頂替,一樣是會思考的模型,中文品質也好。(b)晚一點再試(台灣時間深夜通常暢通)。(c)在 Pi Agent 的 Session 設定裡加 fallback 模型,讓主模型失敗自動切到備援,這樣不會整個對話卡住。(模型名稱小提醒:舊教學稱「DeepSeek-R1」,2026 年官方已改稱
deepseek-v4-pro,是同一條 reasoning 路線的後代。) -
思考塊超級長,跑了 30 秒還在轉
複雜問題 reasoning 模型跑一分多鐘都算正常,別以為壞了就狂按停止。可以先切到 Pi Agent 的其他分頁(比如 Skills)去看點別的,回頭看那邊自己會跑完。真的太慢,下次同類問題把 thinking budget 調低一點(如果 provider 支援),或直接換家 provider——DeepSeek-R1 的思考通常比 GLM-4.6 深、也比較久。
-
換到 OpenAI o1 之後對話介面完全沒思考塊
這不是 bug 是設計。OpenAI 官方就不吐 o1 的思考內容給任何 client(他們把 chain-of-thought 當成商業機密),Pi Agent 拿不到就沒得渲染。你只會看到最後答案跟 usage 那邊統計出來的 reasoning_tokens 數字——證明有想過、但看不到內容。可以接受就繼續用 o1,想看思考塊就換 GLM-4.6 或 Claude。
常見問題
思考塊我到底要不要展開來看?
Reasoning 模型可以叫它「不要想、直接答」嗎?
thinking: {type: "enabled", budget_tokens: N} 官方已標 deprecated 但還能跑,或改用 type: "adaptive" 搭 output_config: {effort: "low"},effort 低時 Claude 會自動略過簡單題的思考。(2)Claude Opus 4.7/4.8/5 系列只有 adaptive、且 type:"enabled" 直接回 400 錯誤——只能靠 effort 調深淺,不能硬關。(3)DeepSeek-v4-pro、GLM-4.6 主要靠 provider 一鍵決定,client 端很難精確控制。(4)OpenAI o1/o3-mini 一定會想,這是設計本質;GPT-5-chat 不會。結論是「多數場合是 provider/模型自己決定的,你能做的主要是選對模型跟 effort 檔位」。思考塊裡的內容可以直接複製給別人看嗎?
未來會不會全部模型都變成 reasoning?普通模型會消失嗎?
Pi Agent 有沒有辦法自動幫我判斷這題該用哪個模型?
思考塊會佔用 context window(上下文長度)嗎?
reasoning_content 通常不會被自動放進下一輪 context(除非你程式端手動塞回去)。實務影響:長對話配 keep-all 的 reasoning 模型,context 消耗會顯著快於非 reasoning 模型。發現對話跑到後面 AI 開始「忘記前面說什麼」的時候,這是原因之一——這時候該 fork 一個新 Session 從關鍵訊息重來(第 8 章教過 fork)。