部落格

Claude Code 中的 Claude Sonnet 5:值得切換嗎?成本會更高嗎?

Markdown

比較 Sonnet 5 與 Opus 4.8:tokenization、任務成本、基準測試、用量測量,以及切換模型的指令。

閱讀全文

如需進一步了解如何使用模型,請參閱 Ailoot 文件。

6 月 30 日發生了什麼事:Sonnet 5 成為 Claude Code 的預設模型

本節重點

2026 年 6 月 30 日,Anthropic 發布 Claude Sonnet 5,並將其設為 Pro、Team Standard 和 Enterprise 方案的預設模型。如果你使用 Pro 並已更新 Claude Code,就已經在使用它。Max 方案和 API 仍以 Opus 4.8 為預設,因此是否切換由你自行決定。

6 月 30 日,Anthropic 推出 Sonnet 5,並悄悄將它設為預設模型。有些使用者的模型自行切換了;另一些人的則維持原樣。這取決於方案。

你的方案6 月 30 日之後的預設模型
Pro、Team Standard、Enterprise(訂閱制)Claude Sonnet 5
Max、Team Premium、Enterprise(按量付費)、APIClaude Opus 4.8(維持不變)

首先要確認你目前使用的是哪個模型。在 Claude Code 中輸入:

/status

這個指令會顯示目前使用的模型和帳戶詳細資訊。如果顯示 claude-sonnet-5,而你沒有手動切換,表示預設模型已自行變更。

Sonnet 5 需要 Claude Code 2.1.197 或更新版本。如果 /model 指令的清單中沒有第五代模型,請更新:

claude update

接下來,我會回答引發這篇分析的主要問題:Anthropic 說「更便宜」,但有些人的 token 帳單卻增加了。為什麼?答案就在下一節。

為什麼帳面上「更便宜」,不代表實際支出也更低?

本節重點

促銷價格期間,Sonnet 5 每百萬個輸入 token 收費 2 美元,每百萬個輸出 token 收費 10 美元,是 Opus 4.8 的一半。但 Sonnet 5 採用了新的 tokenizer,會把相同文字切分成更多 token。英文會多 42%,程式碼會多 27%。每個 token 的費率相同,但 token 數量增加,因此帳單也會變高。

促銷結束後,Sonnet 5 每百萬個輸入 token 收費 3 美元,每百萬個輸出 token 收費 15 美元,恰好與前一代 Sonnet 4.6 的價格相同。每個 token 的價格並沒有降低。「比 Opus 便宜」只適用於和 Opus 4.8(5 美元和 25 美元)比較;若和上一代 Sonnet 比,價格完全相同。

模型是按 token 而非字母計費:token 是模型用來切分你提示內容的文字片段。Sonnet 5 採用新的 tokenizer,會把相同檔案切成更多片段。

文字類型Sonnet 5 使用的 token 倍數
英文文字1.42x
西班牙文文字1.33x
Python 程式碼1.27x
中文文字1.01x(幾乎不變)

Anthropic 自己的說法較為保守:「依文字類型而定,介於 1.0 到 1.35 倍之間。」即使採用較低的增幅,你仍得為更多 token 支付相同費率。同樣的工作,實際帳單會變高。

如果你的語言沒有公開的測量數據,只要幾分鐘就能測出自己的文字所對應的確切倍數,方法如下文所示。

一個任務的實際成本會增加多少?

本節重點

清單價格只是成本的一部分:任務所需的 token 數量和步驟數會決定實際費用,因此應在自己的任務上進行測量。

Tokenizer 只是全貌的一半。另一半是 Sonnet 5 會採取更多步驟,並在處理過程中產生更多文字。

以每項任務的成本來看,Sonnet 5 比旗艦模型 Opus 4.8 更貴,即使它的標價低了 2.5 倍。標價是一回事,實際帳單又是另一回事:tokenizer 和額外步驟吃掉了所有承諾的節省。

每一代都會重演這種情況。前一代模型 Opus 4.7 也曾因 tokenizer 改變,使每項請求的 token 數增加約 37%。

結論很簡單:別相信「便宜 2.5 倍」這種標題。只有你自己在自己的任務中使用的 token 數,才能反映真正的價格。我會在下文說明如何測量,不過先談談這一切在整體上的定位。

在 Sonnet 5 和 Opus 之間做選擇,只是整套流程中的一個環節。Context engineering,也就是在請求前放入 Claude context 的內容,決定了實際的 token 用量。膨脹的 context 會讓任何預算都在最便宜的模型上耗盡;妥善組織的 context 即使搭配昂貴模型,也能節省 token。

Claude Sonnet 5 與 Opus 4.8:各自能做什麼?

本節重點

在程式編寫方面,Sonnet 5 落後 Opus 4.8:SWE-bench Pro 基準測試分別為 63.2% 和 69.2%。在知識工作(報告、分析、文件)方面,Sonnet 5 略勝一籌:1,618 分對 1,615 分。換句話說,Opus 4.8 更擅長困難的程式編寫;而 Sonnet 5 在例行 agent 工作和文字任務上,以較低價格接近旗艦模型的表現。

單看基準測試,對 vibe coder 並沒有太大意義。不過,數據能顯示各模型的強項。以下是 Anthropic 公布的三個模型官方結果:

測量項目Sonnet 4.6Sonnet 5Opus 4.8
Agentic 程式編寫(SWE-bench Pro)58.1%63.2%69.2%
終端機操作(Terminal-Bench 2.1)67.0%80.4%74.6%
電腦操作(OSWorld)78.5%81.2%-
知識工作(GDPval)139516181615

在困難的 agentic 程式編寫上,Opus 4.8 仍居領先地位,在 SWE-bench Pro 上以 69.2% 對 63.2% 勝出。這六個百分點的差距,體現在那些棘手的錯誤和複雜的架構問題上:Opus 能找出解法,Sonnet 卻可能半途放棄。不過,Opus 只在困難程式編寫這一項領先。在終端機操作(80.4% 對 74.6%)和知識工作(整理報告、分析資料)方面,Sonnet 5 已超越旗艦模型。

若想了解「不同任務該選哪個模型」,包括如何使用 /effort 設定 effort 等級,請參閱另一篇指南:在 Claude Code 中選擇 Sonnet 或 Opus,其中說明如何依任務類型選擇模型。本文聚焦於另一個問題:為了新模型,值得改變已經運作良好的設定嗎?

如何計算 Sonnet 5 會花你多少錢?

本節重點

Claude Code 的 /cost 可協助比較包含輸入與輸出的工作階段用量,卻不能隔離 tokenizer 改變,因為總量含歷史、工具結果與生成輸出。分詞應用無歷史的相同固定輸入測量,整項任務成本則另用獨立工作階段比較。

不要相信別人的數據,自己測量。Claude Code 可以直接在工作階段中顯示用量。以下是三個指令:

  • /usage - 主要用量畫面:工作階段成本、方案剩餘額度,以及各模型的 token 數。/cost 和 /stats 指令會開啟其中的分頁。
  • /cost - 目前工作階段的明細:使用了多少 token、哪些模型使用了這些 token,以及輸入和輸出各自的數量。
  • /stats - 較長期的檢視:數週內的工作階段總數和 token 數。

有個重要注意事項:這些指令顯示的美元金額,是根據 token 數在本機估算的數值,可能與實際帳單不同。不過,拿來比較兩個模型已經足夠。

以下是測量 Sonnet 5 在你自己的任務上會多花多少錢的完整步驟:

  1. 比較 tokenizer 時,選同一固定輸入,包含相同指示與檔案內容,不含歷史。只比較各模型該輸入的 token 數,排除生成輸出;比例只描述輸入分詞。
  2. 比較真實任務時,從同一專案狀態開兩個獨立工作階段,每模型各一。提示、effort、工具與成功標準一致,不在共用對話中途切換。
  3. 記錄任務前後用量,以輸入、輸出、快取讀寫增量及相應費率估算成本,重試和失敗都計入。
  4. 用同一測試檢查程式碼,應比較成功成果成本,不要將總 token 相除就稱為價格倍數。

上述指令顯示的是單一工作階段。若想查看每日和每週的情況,可以使用名為 ccusage 的免費工具。它會讀取 Claude Code 的本機記錄並產生報告。若要不經安裝直接執行:

npx ccusage@latest

如何切換到 Sonnet 5?如果不合用,如何切回?

本節重點

要切換到 Sonnet 5,請在工作階段中執行 /model sonnet。要切回 Opus 4.8,請執行 /model opus。切回 Sonnet 4.6 比較麻煩:sonnet 別名現在指向版本 5,因此必須指定完整名稱:/model claude-sonnet-4-6。切換會立即生效,不需要重新啟動專案。

在 Claude Code 中,只要一個指令就能切換模型,而且會立即生效。以下列出所有選項,也包括如何切回;看過前一節的比較後,你可能會想切回原本的模型。

在目前的工作階段中切換:

/model              # 開啟模型清單並選擇
/model sonnet       # 切換到 Sonnet 5
/model opus         # 切換到 Opus 4.8

在清單中按 Enter,會將所選模型設為新工作階段的預設值;按 s 鍵則只套用到目前的工作階段。

如果新模型不合用,就切回原本的模型。有一點要注意:簡稱 sonnet 現在指向版本 5。若要回到已經驗證過的 Sonnet 4.6,請使用完整名稱:

/model claude-sonnet-4-6    # 切回前一代 Sonnet
/model claude-opus-4-8      # 切回 Opus 4.8
/model default              # 重設為帳戶建議的預設值

使用環境變數,將模型固定用於整個工作階段:

export ANTHROPIC_MODEL="claude-opus-4-8"    # 固定使用 Opus 啟動
claude

在 settings.json 設定檔中永久設定預設模型:

{ "model": "opus" }

opusplan 模式也很實用。在思考深度很重要的規劃階段,它會使用 Opus;到了成本很重要的執行階段,再切換到 Sonnet。「昂貴的大腦、便宜的雙手」是個合理的折衷預設值,適合不想每項任務都手動選擇模型的人。

哪些人適合使用 Sonnet 5?哪些人應該繼續使用 Opus?

本節重點

Sonnet 5 適合以低至中等 effort 執行例行 agent 工作:初步檢查程式碼、產生測試、探索專案,以及大量處理類似任務。架構設計、困難的錯誤、安全性審查,以及任何高 effort 任務,則繼續使用 Opus 4.8。原因是,在最高 effort 下,Sonnet 5 每項任務的成本比 Opus 高,困難程式編寫的品質卻落後於 Opus。

從基準測試和價格得出的簡單分工原則是:執行交給 Sonnet 5,判斷交給 Opus 4.8。以下以任務選擇表呈現相同的概念:

你的任務模型原因
初步檢查程式碼、探索專案Sonnet 5低至中等 effort 下成本較低,品質也足夠
產生測試、小型重構Sonnet 5例行工作,成本比深度更重要
大量處理類似的 agent 任務Sonnet 5每項任務的成本是關鍵
分析資料、整理報告Sonnet 5知識工作表現勝過 Opus 4.8
架構決策、選擇解決方法Opus 4.8最昂貴的錯誤,是在判斷上省成本
原因不明的困難錯誤Opus 4.8能在較長時間內持續深入推理
程式碼安全性審查Opus 4.8需要的是高度警覺,不是速度
任何需要高 effort 的困難任務Opus 4.8在這種情況下,Sonnet 5 每項任務的成本更高,品質卻相近

最違反直覺的主要結論是:在高 effort(xhigh、max)下,Sonnet 5 失去價格優勢。它會採取更多步驟並消耗更多 token,因此一項困難任務的成本會高於使用 Opus 4.8,即使 Opus 在困難程式編寫方面仍能提供更好的品質。如果你的工作大多很困難,而且會使用高 effort,繼續將 Opus 設為預設值是合理的。

如果你的工作大多是複雜度中等的例行 agent 工作,目前以標準 effort 使用 Sonnet 5 算是划算,尤其是在 8 月 31 日前的促銷價格期間。

已經切換的人怎麼說?

本節重點

社群意見分歧。有些開發者認為這次發布是場災難,原因包括 tokenizer 導致價格上升、審查變得更嚴格,以及進步幅度小得令人失望。另一些人則稱讚 Sonnet 5 能以較低成本完成接近 Opus 等級的 agent 工作,也能透過 effort 等級精確控制用量。指標提升了,但許多人的實際使用體驗卻變差了,這就是落差所在。

發布後的頭幾個小時內,不滿的聲浪便開始出現。「毫無用處的失敗之作」這個標籤很快就貼在這次發布上。以下是當時討論的代表性語氣:

撇開情緒不談,主要有三項抱怨:

  1. Token 成本更高。 新 tokenizer 吃掉了原本承諾的節省;以上的分析正是在談這件事。
  2. 拒絕回應變多。 模型更常拒絕有爭議的提示,審查也更嚴格。許多人認為前一代 Sonnet 4.6 感覺更快、更聰明,也較少受到限制。
  3. 進步幅度太小。 從 4.6 到新版本的差異不足以構成切換理由,尤其還伴隨價格上漲。

不過,情況並非一面倒。使用 agent 任務的人喜歡 Sonnet 5:它的品質接近 Opus,而且在低 effort 下價格較低。他們也稱讚 effort 控制,因為這確實是管理帳單的有效方法。然而,使用 Claude 進行創意寫作的人並不滿意,模型的用詞變得較為乾澀,也更加謹慎。

在這些紛紛擾擾中,我的結論是:「失敗作」的聲浪主要來自過高的期待。人們期待大幅躍進,結果得到的卻是一次謹慎的小幅進步,以及更貴的 token。從技術上來說,Anthropic 交付了一個能用的模型。這裡只有一個該問的問題:對你的任務來說划算嗎?只有你自己的 token 帳單能回答這個問題,別人的貼文無法替你判斷。

在自己的任務上測試

本節重點

這個情境中的作者沒有急著切換,也沒有急著切回。作者使用的 Max 訂閱仍以 Opus 4.8 為預設,他繼續用它處理困難任務。他將 Sonnet 5 用於例行工作,例如初步檢查、測試和探索,並在自己的實際專案中使用 /cost 測量用量。他利用 8 月 31 日前的促銷期間,統計自己任務的用量,而不是依賴別人的基準測試。

推出新模型時,本文作者會先測試,而不急著下結論;在發布後的頭幾天,炒作聲量總是比實際情況更大。Sonnet 5 正是這類案例。

這個情境採取了以下步驟:

  1. 確認預設模型。 作者使用 Max,因此預設模型仍是 Opus 4.8。他繼續用它處理困難任務。
  2. 將 Sonnet 5 用於例行工作。 初步檢查程式碼、產生測試、探索專案,這些工作成本不高,品質也足夠。
  3. 在自己的任務上測量。 每次工作階段結束後,作者都會查看 /cost 並比較用量。他使用自己的實際程式碼,而非別人的基準測試。
  4. 利用促銷期間。 到 8 月 31 日為止,Sonnet 5 都能以折扣價格使用。趁它仍便宜時,統計它對作者個人而言的成本,是個好機會。

不可能一次猜中「正確」的模型並永遠使用。模型每個月都在變,價格和 tokenizer 也一樣。始終有用的是,知道如何在兩分鐘內測量用量,並根據數據而不是標題做決定。每次有新版本發布,你都需要具備選擇模型的能力。

如需進一步使用,請試試 Ailoot。

更多詳情

常見問題:Claude Code 中的 Claude Sonnet 5:值得切換嗎?成本會更高嗎?

在同一對話切換模型,就能隔離 tokenizer 差異嗎?

不能。第二次會看到累積歷史,也可能產生不同回答。應對無歷史的同一固定輸入比較 tokenization;輸入比例不是整項任務價格倍數。

如何比較真實任務成本?

在相同專案狀態與提示下開獨立工作階段,使用相同 effort 和工具權限。比較輸入、輸出、快取增量與適用價格,並確認成果通過相同檢查,重試也計入總額。

所有文章