跳至內容

讓模型多想一點,或把對話交給另一個模型

思考型模型什麼時候值得多花那個成本,換模型到底做了什麼,還有換太頻繁時悄悄出現的那筆帳單。
2026年9月12日
讓模型多想一點,或把對話交給另一個模型
OdooBot
think first, then hand over
Pi Agent 指南 · 第 8 篇

讓模型多想一點,或把對話交給另一個模型

兩個該放在一起學的技能。有些模型會在回答前多花運算——比較慢、比較貴,有時候值得。而且你可以在對話中途換模型,一個字都不會少。這篇要講的是額外的思考什麼時候值得花這個成本、換模型到底做了什麼,以及換太頻繁時,那筆悄悄出現的帳單。

3 種模式
涵蓋了幾乎每一種值得換的情況
22,900 個 token
光是四次換模型重讀就要花的量
50-80%
實測「先出草稿再審查」省下的比例。是個範圍,不是保證
直接回答 vs 先想過再回答

有些模型直接回答。有些會先規劃再回答。

第 5 篇你看過那個有時候會出現在答案上方、可以收合的區塊。那是模型運作方式一個真實差異,露在外面看得見的邊緣。

講白一點

這就像記住一支電話號碼跟規劃一條穿越城市的路線的差別。一個你直接就講得出來。另一個你得先想過一遍——而這個想的過程,花的時間絕對比背電話號碼多。

  • 一個一般型模型 會直接回答。適合簡短的查詢、簡單的改寫、一次工具呼叫。
  • 一個思考型模型 會先多花運算去規劃或檢查。這對橫跨好幾個房間、裝置跟時段的自動化很有幫助。

接下來會有兩個結果。 用量: 有些供應商把思考過程算成輸出計費,有些另外分一類——記帳方式因模型跟路線而異。 延遲: 回答可能要花更久,沒有一個放諸四海皆準的延遲數字,也沒有保證。

仔細讀這個區塊。 它可能是供應商公開的思考過程、一份摘要,或用量資訊——不見得是私密的思考鏈,而且思考過程寫得越長,不代表答案就越好。而且叫一般型模型「一步一步想」,也不會讓它變成供應商定義的思考型模型。

一個最容易讓人卡住的設定

Add Model 對話框裡有個欄位叫 thinkingFormat。它告訴 Pi Agent 一條路線用什麼格式表示思考資料;它本身不會讓一個模型變得會思考。

什麼時候設它
zai相容的 GLM 直連路線,可能用 <think>…</think>reasoning_content 或其他文件記載的欄位。要確認端點
deepseekDeepSeek 風格的思考過程,放在 message.reasoning_content,跟 message.content
留空直連 Anthropic,或任何不需要解析器的路線
「native」是個描述,不是一個合法值。 它指的是 Anthropic Messages API 的區塊;Pi AI 的型別約定裡不接受 nativenone 填在這裡。直連 Anthropic 的話,選 anthropic-messages ,這個欄位留空。用 openrouter 只有在 OpenRouter 路線的文件真的這樣寫的時候才用。設錯了,就是為什麼有時候會看到一個原始的 <think> 標籤直接混在文字裡的原因。
什麼時候值得花這個成本

判斷哪些工作值得多花這個思考成本

一條規則涵蓋了大部分情況: 結果容易驗證、出錯代價也小的時候,用一般型模型。需要同時權衡好幾個限制條件,或出錯代價很高的時候,用思考型。

flowchart TD
  A["一個任務"] --> B{"Can you check the
answer in a minute?"} B -->|"yes"| C["一般型模型"] B -->|"no"| D{"Would being wrong
cost money or comfort?"} D -->|"no"| C D -->|"yes"| E{"Several constraints
at once?"} E -->|"no"| C E -->|"yes"| F["思考型模型,
但還是要驗證"]
把這個選擇當成一個問題來看四條路裡有三條會走到比較便宜的模型。這是常見的答案。

拿真實的任務對照:

任務要用思考型嗎?為什麼
查客廳的 entity ID通常不用這是查資料,不是動腦
把 YAML 從一種格式轉成另一種通常不用這是機械性的工作。用一般型模型,再驗證就好
排除一個晚上會失敗的自動化通常有幫助有好幾個可能的原因要互相權衡
跨房間、跨裝置、跨費率時段排程有幫助同時有很多限制條件,還要專業驗證

在模型跟路線都支援的地方,你拿到的是一個可調的旋鈕,不是一個開關。

Pi Agent composer 裡的 reasoning 等級下拉選單,列出 auto、off、low (minimal)、low、medium、high、xhigh、max,目前選在 medium。
Reasoning level決定答案出來之前允許想多少。這裡選的是 medium。
  • auto 把決定權交給路線; off 則要求完全不思考。 medium 這裡打著勾。
  • high、xhigh、max 一次買到更多思考、更多等待,也更多用量。
  • 這些控制項是 各模型專屬的。一條路線不一定會照做每一個等級,所以要看答案本身,不要假設轉了旋鈕就一定有效果。

真的想減少思考用量,就選一個有文件記載的非思考型模型,或用那個精確模型支援的控制項。不要自己編參數。

講白一點

有些版本的工作區會把思考塊收合或藏起來。這改變的是你看到什麼,不是供應商實際做了什麼。把收據藏起來,不會讓這頓飯變免費——模型還是照樣在思考,你也還是會為此付費。

換模型到底做了什麼

不用重來一次就能換模型

選單就在 composer——那個文字輸入框——下面的工具列上。它是一顆帶著小箭頭、顯示目前模型名稱的按鈕。它的位置會變動,因為工具列的順序是可以設定的,所以要認名字,不要認固定的位置。

滑鼠或鍵盤都能操作。上面的搜尋欄能用模型名稱的任何一部分過濾清單——打 sol 就只會留下 GPT-5.6 Sol——按 Enter 選中符合的那個。等好幾家供應商都塞進去之後,這個功能特別好用。

Pi Agent 訊息框上方打開的模型下拉選單,列出幾個模型名稱,這個對話目前在用的那一個旁邊打著勾。
選單你加過的每家供應商底下的每個模型。
  • 打勾的 記號GPT-5.6 Sol 旁邊,標的是回答你下一則訊息的模型。
  • 這裡每個名字都是 GPT 模型,從 GPT-5.3 Codex Spark 到 GPT-6 Astra 都有。完全沒出現的供應商,就是還沒存進 Models 面板。
  • 打勾的 模型按鈕 在訊息框下面,重複顯示目前的名字 GPT-5.6 Sol。

有兩個細節值得先搞清楚,因為之後幾乎每個意外,都是這兩個裡的其中一個造成的。

  • 馬上生效,但不會重跑任何東西。 新模型回答的是你下一則訊息。之前的訊息不會重新送出,之前的答案也不會消失,所以已經付過錢的東西不會再被收一次錢。
  • 新模型會收到整場對話。 它的第一則訊息,就要把整個 Session 從頭到尾當成輸入 token 讀一遍。這就是它能接上話題的原因——也是下面會講的成本所在。
選模型跟送出訊息是兩個分開的動作。 你選了新模型的那一刻,什麼事都不會發生。這是正常的,不是卡住了。要確認換成功了,就看模型按鈕上的文字有沒有變。
出草稿、審查、重寫

大部分人最後每天都在用的模式

這裡假設你有兩個模型可用:一個快又便宜、一個比較強。範例用的是 glm-4-flashclaude-sonnet-4-5;任何這種組合的兩個模型都能套用這個做法。

  1. 步驟 1

    開一個新 Session,選便宜的模型

    + New session ,在左上角。打開 composer 下面的模型按鈕,找到 GLM 那一組,選 glm-4-flash。文字標籤會跟著變。

  2. 步驟 2

    要求它出草稿

    送出:「幫我寫一個 Home Assistant 自動化,晚上 11:30 把客廳所有燈都關掉。如果那個時候客廳還有人,就等 10 分鐘再關。」大約 20-40 秒會給你 YAML。

  3. 步驟 3

    換成比較強的模型——不清空任何東西

    留在同一個對話裡;不要開新的 Session。打開選單,選 claude-sonnet-4-5 ,在 Anthropic 底下。文字標籤會跟著變。

  4. 步驟 4

    要求它審查畫面上已經有的東西

    送出:「請幫我審查上面那個自動化。有沒有邏輯錯誤,或常見的 HA 陷阱,例如 device_id 陷阱、mode 選錯,或者沒有偵測到不存在的 entity_id?」它會讀整場對話,包括那段 YAML。

  5. 步驟 5

    換回去,讓便宜的模型套用這些意見

    回到 glm-4-flash ,要求它照上面的回饋重寫 YAML。套用一份修正清單,用不著貴的模型。

貴的模型只處理三則裡的一則:需要判斷力的那一則。審查通常會抓到 device_id ,用在該用 entity_id 的地方,或是 mode 應該是 restart 而不是預設的 single,又或者是舊式單數形態寫的 trigger 跟 condition。相較於全程都用貴的模型,通常能省下 50-80%;同一份資料裡另一段寫的是 60-80%。這兩個數字都取決於提示長度跟模型選擇,當成一個大概的量級參考就好,不要當成精確報價。

Session 清單上的標籤可能會誤導人。 左邊對話旁邊顯示的模型,可能只是最後一次用的那個。Pi Agent 其實是每一則訊息各自記錄用的是哪個模型。
你看不到的那筆帳

每次換模型,都有人要重新讀一次逐字稿

這就是第一張帳單來的時候,會讓人嚇一跳的原因。

講白一點

一位同事開會開到一半才加入,得先讀完整份會議紀錄,才能講出什麼有用的話。接著第二位同事也加入,也從頭讀一遍,包括第一位同事講過的內容。沒有人記得自己之前在場。每一次有人加入,都要為這次閱讀付出代價。

換算成數字。一場對話已經累積了 5,000 個 token,大約 15-20 輪來回,你換了四次模型:

動作目前累積的對話重讀的輸入量備註
第 1 次切換:Flash 換 Sonnet5,0005,000Sonnet 接手
Sonnet 回答,換回 Flash5,5005,500Flash 也是從頭讀起。它不記得自己之前講過話
Flash 回答,換成 GPT-4o5,9005,900又是一整輪輸入
GPT 回答,換回 Sonnet6,5006,500Sonnet 之前講過話,但不會因此就記得
總計22,900 個輸入 token輸出還要另外加上去

留在同一個模型,輸入量還是會隨每一輪增加,但不會有這種重讀的情況。這個差距,就是換模型的全部成本。而且你看得到,因為工作區在每個答案下面都印著計費表:

一則 Pi Agent 對話,顯示一個問題、模型的回覆,下方一行用量寫著 1,094 in、53 out、$0.0071。
重讀會出現在哪裡一句話的問題,1,094 個輸入 token。換模型重置的就是這個數字。進行中的工作區
  • 1,094 in 對上 53 out。就算是很短的對話,輸入本來就佔了比較大的那一半,而且只會越來越大。
  • 換模型之後盯著這一行看。會跳升的是輸入,不是輸出。
  • $0.0071 ,一次看起來不算什麼。乘上一個很長的 Session、再乘上四次切換,就不再是「不算什麼」了。
一個很長的 Session 加上頻繁換模型,是最容易搞不清楚自己花了多少錢的組合。 兩個防守辦法:只有講得出理由的時候才換模型;還有對話變得太龐大的時候,要求它整理成五點摘要,開一個新 Session,把摘要貼進去。
換模型、開新的,還是 fork

三種交接工作的方式,加一種會悄悄失效的方式

選單不是你唯一的選擇。有三種動作,各自做不同的事。假設 Flash 剛推薦你客廳裝一台一噸的冷氣:

切換模型

對話留在同一個 Session 裡,新模型會讀完全部內容。你切到 Claude,直接要求它審查那個建議。

開一個新 Session

舊的對話留在左邊清單裡;新的是空白的。三天後你想問冷氣噪音的問題——不相關,所以乾脆重新開始。

Fork 這個 Session

從目前這則訊息完整複製一份分支出去,帶著它之前的所有內容。你想同時保留兩個模型對「一噸夠不夠」這個問題的看法,兩邊都不想丟掉。

有三種情況值得為它切換模型: 先出草稿再審查聚焦深入 在一個難點上,再換回便宜的模型,還有 A/B 比較 ——這其實就是 fork。一次切換如果不屬於這三種,大概就是白白讓你多付了一次重讀的錢。

會悄悄失效的那種切換

Claude 是用原生的結構化區塊表示思考過程,不是純文字。相容 OpenAI 的供應商——GLM、DeepSeek、Groq、OpenRouter——不用這種結構。

講白一點

有人用自己看得懂的速記法做筆記。把這份資料夾交給一個看不懂這種速記的同事,那幾頁要嘛整個掉出來,要嘛看起來像亂畫。不會撕破,也不會有任何警示音。你只有在答案跟問題對不上的時候才會發現。

所以那些區塊沒辦法以原本的形式,進到新供應商的 messages 陣列裡。依版本而定,它們可能被丟掉,也可能被壓平成純文字;兩種情況都發生過。如果你下一句話說「照你剛想的步驟繼續」,新模型手上可能根本沒有那些步驟。

該怎麼做才對。 如果這場對話很依賴那段思考過程,就用 fork 而不是原地切換,或者先要求 Claude 把它的思考過程寫進正式答案裡。Claude 換到另一個 Claude 會保留這些區塊。思考型換到非思考型沒問題:文字內容還在,只是新模型不會再重新思考一次。
我選了新模型,但還是舊的模型在回答
查三件事。選單上的文字——如果沒變,代表那次點擊點在清單外面了。你送出的訊息——右上角通常會標出處理這則訊息的模型名字。還有瀏覽器主控台(F12),看有沒有一行紅色的 models.json parse error,代表設定檔壞了;從 Models 面板重新存一次。
換模型之後,它用另一種語言回答
有些模型不管你用什麼語言問,都偏好用另一種預設語言回。換模型後的第一則訊息,加一句「請用繁體中文回答」——這比單純為了語言問題又換回去便宜多了。
402 Payment Required,或餘額不足
那家供應商的額度用完了——錯誤訊息會直接寫出來,例如 anthropic: insufficient credits。去它的後台加值,或換回還有額度的那一個。你的對話還完整存在;重新送出失敗的那則訊息就好。之前的訊息不會再被收一次錢。
Pi Agent 能幫我選模型嗎?
不能,而且是刻意設計成這樣——要付錢給哪家服務,是你的決定,不是工具的決定。設一個快又便宜的預設值,需要更強的時候再手動切換。預設值來自 defaultModeldefaultProvider ,在 ~/.pi/agent/settings.json裡,或者來自 PI_WEB_DEFAULT_MODEL;沒有「設為預設」這種按鈕,所以要改檔案,再重新整理。
清單裡的模型太多了
接了五六家供應商之後,清單有 30 到 50 項是正常的。在 Models 面板裡把某家供應商隱藏,或取消選取某些模型,這會更新 hiddenModels 清單,或者設定 PI_WEB_HIDE_PROVIDERS 這個環境變數。把 name 欄位縮短,在 ~/.pi/agent/models.json 裡改也行——把「Claude Sonnet 4.5」改名叫「深」,選單上顯示的就會是這個名字。
接下來

接下來往哪走

繼續

你現在能把對的模型放在對的訊息上了。

這樣就講完「用不只一家 AI」這個主題了。第 9 篇要轉向 Skill——教 agent 一次一套做事的程序,讓它每次都照著同樣的步驟走,而不是每次對話都得重新解釋一遍。

打開完整教學手冊

Pi Agent 入住指南》系列第 8 篇,由 WoowTech 渥屋科技 製作。

內容出自 Woow HA Pi Agent 入住指南,依 CC BY 4.0 釋出。

The Smart Space Solution · 智慧空間解決方案 · © 2026 WOOW Technology Co., Ltd.

網誌: Pi Agent 指南
分享這個貼文