CoreCode文件

用好 CoreCode

Claude Code 省錢指南

最後更新:

Claude Code 一天花掉幾十美元並不少見。大部分錢不是花在「寫程式」上,而是花在每一輪都要重送的上下文上。這一頁先講錢花在哪,再給出不影響效果的省錢做法。快取的細節見 快取與計費。

重點
  • 帳單的大頭是每一輪重送的上下文,也就是輸入端,而不是輸出。
  • 按 Anthropic 定價,Opus 5.5 和 Sonnet 5.5 的快取讀取是輸入價的 0.05 倍(Haiku 5.5 為 0.1 倍),5 分鐘快取寫入 1.25 倍,1 小時快取寫入 2 倍。
  • 日常任務用 Sonnet,難題再用 Opus,並在任務開頭定好模型。
  • 換任務就 /clear,長工作階段適時 /compact,精簡 CLAUDE.md 和 MCP。
  • auto 模式每次呼叫工具前的分類器請求幾乎不命中快取,可能占掉很大一部分花費。

錢花在哪裡

Claude Code 每一輪都把系統提示、工具定義、讀過的檔案和整段對話重新送給模型。一個進行了一會兒的工作階段,每輪送出去的是幾萬到幾十萬 token,模型回覆的只有幾百到幾千。所以:

省錢就是三件事:用合適的模型,讓快取一直命中,別讓上下文無謂地變長。

一、選對模型

  1. 日常任務用 Sonnet。改 bug、寫測試、補文件、按清楚的需求實作功能,Sonnet 足夠,單價遠低於 Opus。用 /model 切換,或啟動時 claude --model claude-sonnet-5-5。
  2. 難題再用 Opus。架構設計、跨很多檔案的重構、Sonnet 反覆做不對的問題,值得用 Opus。
  3. 在新工作階段開始時定模型。快取按模型區分,工作階段中途切模型,下一輪要把整段上下文按寫入價重來一遍。要換就在任務開頭換,或者換完先 /compact。

各模型單價見 價格表,各模型適合什麼任務見 模型怎麼選。

二、讓快取一直命中

  1. 一個任務在一個工作階段裡做完。中途不切模型、不切思考強度、不連線或中斷 MCP 服務,這些都會讓快取失效。
  2. 經常停頓就開 1 小時快取。預設快取只保留 5 分鐘,開會回來第一輪就要整段重寫。在 settings.json 的 env 裡加 "CLAUDE_CODE_PROMPT_CACHE_TTL": "1h",見 1 小時快取。
  3. 選工作階段黏著性好的中轉。同一個工作階段的請求如果在多個上游帳號之間跳,快取幾乎每輪都失效,花費能翻好幾倍。CoreCode 按工作階段 ID 固定帳號;別家可以用 檢測腳本 的快取一項看出來。

三、控制上下文

  1. 換任務就 /clear。上一個任務的檔案和對話對新任務沒用,每輪卻照樣要送。
  2. 長工作階段適時 /compact。壓縮後第一輪要重寫快取,之後每輪都更便宜。不要為了「清爽」新開工作階段把上下文重新鋪一遍,那比壓縮更貴。
  3. 考慮關掉 1M 上下文。在 env 裡加 "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",上下文上限變成 200K,會更早觸發自動壓縮,每輪送出的上下文更短。
  4. 精簡 CLAUDE.md 和 MCP。CLAUDE.md 每輪都會送;寫清規則即可,不要貼整份文件。用不到的 MCP 服務中斷連線,並保持預設的 MCP 工具搜尋開啟(不要設定 ENABLE_TOOL_SEARCH=false)。

auto 模式要算一筆帳

auto 權限模式要判斷每個操作能不能放行。CoreCode 透傳 Claude Code 的伺服器端審查,正常情況下不會多出請求。但如果設定了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS,Claude Code 會改為每次呼叫工具前另送一個分類器請求:這些請求幾乎不命中快取,在真實案例裡只占三分之一的請求數,卻花掉了六成的額度,而且在 CoreCode 上按你工作階段的模型計費。CoreCode 不需要這個變數,刪掉即可。Claude Code v2.1.283 起新工作階段預設就從 auto 開始,不需要無人值守時,按 Shift+Tab 切到 Manual 或「自動接受編輯」模式。詳細分析見 auto 模式的開銷。

自查:錢到底花在哪了

Anthropic 官方的 Claude Code 成本說明 也列了一些控制花費的做法。對著日誌還是看不出原因,把那幾筆請求的時間發給我們,我們可以查上游的帳號和路由。

常見問題

Claude Code 為什麼這麼費 token?

因為它每一輪都把系統提示、工具定義、讀過的檔案和整段對話重新送一遍。工作階段越長,每輪送出去的越多;命中快取時這部分在 Opus 5.5 和 Sonnet 5.5 上只按輸入價的 5% 計。

怎麼知道一個工作階段花了多少?

在 Claude Code 裡輸入 /usage(或 /cost),/context 看上下文被什麼占滿;控制台的使用日誌裡每筆請求都有用量和費用。

開 1 小時快取一定更省嗎?

不一定。1 小時快取的寫入價是 5 分鐘的 1.6 倍(2 倍對 1.25 倍)。經常停頓五分鐘以上才划算,停頓少反而更貴。

只用 Opus,帳單裡為什麼有 Haiku 或 Sonnet?

背景摘要、子代理和 auto 模式的分類器會用其他模型,見 帳單裡的其他模型。