Claude Opus 4.7 和 4.8 在 2026 年陸續推出,帶來了更強的推理能力與更長的思考鏈。不過社群裡也有不少開發者反映,新版模型的回應風格變了——有些人覺得回覆變得更囉嗦,有些人則注意到新的分詞器(tokenizer)改動導致同樣的程式碼消耗更多 token,等於變相漲價。
Claude Code 作為 Anthropic 官方的 CLI 開發工具,支援隨時切換模型版本。如果偏好舊版的行為,或是在某些專案中需要控制成本,隨時可以退回 Opus 4.6 甚至更早的版本。這篇文章整理三種切換方式,以及如何啟用 1M context window。
想了解 Opus 4.7 和 4.8 各自帶來哪些改進,可以參考之前的介紹文章: Claude Opus 4.7 全面解析 、 Claude Opus 4.8 發表 。
為什麼有人想退回舊版
模型升級不一定對所有使用情境都是正面的。常見的退回理由有幾個:
- 回應風格改變:新版模型傾向產生更長的回覆、更多解釋性文字。對於習慣簡潔回覆的開發者來說,這反而降低了工作效率
- 分詞器變動:Opus 4.7 開始採用新的分詞器,某些語言(特別是 CJK 語系)的 token 數量增加,同樣的 prompt 會消耗更多 token,計費上等於漲價
- 既有流程的穩定性:如果專案中有依賴特定模型行為的自動化流程(例如 structured output 的格式、commit message 的風格),升級模型可能打破這些假設
- 速度考量:較新的模型不一定更快,Opus 4.6 在某些任務上的回應速度反而優於後續版本
這些都是合理的選擇。模型不是越新越好,而是越適合當下需求越好。
可用的模型版本
Claude Code 目前支援的模型 ID 如下:
| 模型 ID | 說明 |
|---|---|
claude-opus-4-8 | 最新版 Opus,推理能力最強 |
claude-opus-4-7 | 新分詞器、較長思考鏈 |
claude-opus-4-6 | 穩定版,社群回報風格平衡 |
claude-sonnet-4-6 | 較快、較便宜的選擇 |
claude-haiku-4-5 | 最快最便宜,適合簡單任務 |
Opus 和 Sonnet 可以加上 [1m] 後綴來啟用 1M context window(預設是 200k),例如 claude-opus-4-6[1m],Haiku 不支援。後面會詳細說明。
切換方式
對話中臨時切換
在 Claude Code 的對話過程中,隨時可以用 /model 指令切換模型。切換後立即生效,不影響之前的對話內容。
# 互動式選擇(會顯示可用模型列表)
/model
# 直接指定模型
/model claude-opus-4-6
這種方式適合臨時需要切換的情境,例如某段程式碼用 Opus 4.8 生成後不滿意,想換回 4.6 重新生成。對話結束後不會保留這個偏好,下次啟動 Claude Code 還是會用預設模型。
要注意的是,對話中途切換模型會導致 prompt cache 完全失效——模型不同連 system prompt 都會被替換,等於整段前綴重洗。另外切換 effort level(思考預算)也會讓 message history 的快取失效,不過 system prompt 和 tool definitions 的快取不受影響,衝擊比換模型小一些。如果對快取機制不熟悉,可以參考 Claude Code 節省 Token 與快取指南 。
啟動時指定模型
如果某個專案想固定使用特定模型,可以在啟動 Claude Code 時透過 --model 參數指定:
# 啟動時指定使用 Opus 4.6
claude --model claude-opus-4-6
# 搭配 1M context
claude --model "claude-opus-4-6[1m]"
這種方式適合想逐次控制的情境。可以在 shell 中設定 alias 來簡化操作:
# 加到 ~/.zshrc 或 ~/.bashrc
alias claude46='claude --model "claude-opus-4-6[1m]"'
永久設定預設模型
想要一勞永逸地把預設模型改成舊版,可以用 claude config set 寫入全域設定:
# 全域設定(所有專案生效)
claude config set --global model claude-opus-4-6
# 專案層級設定(只對當前專案生效)
claude config set model claude-opus-4-6
專案層級的設定會優先於全域設定。如果想要大部分時候用 4.6,但某個特定專案需要 4.8 的推理能力,可以全域設 4.6、專案設 4.8。
想確認目前的模型設定可以用:
# 查看目前設定
claude config get model
# 查看全域設定
claude config get --global model
啟用 1M Context Window
Claude 模型預設使用 200k token 的 context window。對於大型專案,200k 可能不夠用——當 Claude Code 需要同時理解多個檔案的關聯時,較大的 context 能減少遺漏。啟用方式是在模型 ID 後面加上 [1m]:
# 臨時切換
/model claude-opus-4-6[1m]
# 啟動時指定
claude --model "claude-opus-4-6[1m]"
# 永久設定
claude config set --global model "claude-opus-4-6[1m]"
雖然 1M context 的 token 單價跟 200k 一樣,但可使用的上限提高了,一次對話能塞進更多內容,總費用也會跟著上升。如果平常的工作不需要同時讀取大量檔案,200k 就夠用了。但如果經常遇到 Claude Code 提示 context 接近上限、或是需要在大型 monorepo 中做跨模組的重構,1M 會明顯改善體驗。
我自己是習慣直接開 1M 模型,因為從 200k 臨時切換到 1M 也算切換模型,會破壞快取。與其等到上下文不夠用才切換付一次快取重建費,不如一開始就開著,平常留意 context 用量就好。
Fast Mode
Claude Code 還有一個 fast mode,用 /fast 切換。這個模式不會降級到小模型,而是在同一個 Opus 上使用更快的輸出速度,大約快 2.5 倍。
# 在對話中切換 fast mode
/fast
Fast Mode 代價是單價翻倍:一般模式每 1M Tokens 價格 input $5 / output $25,Fast Mode 則是 input $10 / output $50。等於用 2 倍價格換 2.5 倍速度,對需要快速互動的工作節奏來說是划算的,但如果任務本身不趕時間,一般模式比較省。
設定的優先順序
當多個地方都指定了模型時,Claude Code 的優先順序是:
- 對話中
/model切換(最高優先) - 啟動時的
--model參數 - 專案層級設定(
claude config set model) - 全域設定(
claude config set --global model) - Anthropic 預設(最新穩定版)
所以即使全域設了 4.6,在對話中用 /model claude-opus-4-8 還是可以臨時跳到最新版。這種彈性讓我們能依照任務性質隨時調整,不需要被單一版本綁死。