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 的優先順序是:

  1. 對話中 /model 切換(最高優先)
  2. 啟動時的 --model 參數
  3. 專案層級設定(claude config set model
  4. 全域設定(claude config set --global model
  5. Anthropic 預設(最新穩定版)

所以即使全域設了 4.6,在對話中用 /model claude-opus-4-8 還是可以臨時跳到最新版。這種彈性讓我們能依照任務性質隨時調整,不需要被單一版本綁死。


Sponsored Links

發佈留言