用好 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,模型回覆的只有幾百到幾千。所以:
- 輸入遠比輸出多。帳單的大頭通常是輸入端,而不是輸出。
- 快取決定輸入端的價格。命中快取的部分在 Opus 5.5 和 Sonnet 5.5 上只按輸入價的 5% 計,沒命中的要按寫入價重來,是讀取價的 25 到 40 倍(倍率見 Anthropic 的 提示快取定價)。
- 上下文越長,每一輪越貴。同樣一句「再改一下」,在一個 30 萬 token 的工作階段裡比在 3 萬 token 的工作階段裡貴十倍。
省錢就是三件事:用合適的模型,讓快取一直命中,別讓上下文無謂地變長。
一、選對模型
- 日常任務用 Sonnet。改 bug、寫測試、補文件、按清楚的需求實作功能,Sonnet 足夠,單價遠低於 Opus。用
/model切換,或啟動時claude --model claude-sonnet-5-5。 - 難題再用 Opus。架構設計、跨很多檔案的重構、Sonnet 反覆做不對的問題,值得用 Opus。
- 在新工作階段開始時定模型。快取按模型區分,工作階段中途切模型,下一輪要把整段上下文按寫入價重來一遍。要換就在任務開頭換,或者換完先
/compact。
二、讓快取一直命中
- 一個任務在一個工作階段裡做完。中途不切模型、不切思考強度、不連線或中斷 MCP 服務,這些都會讓快取失效。
- 經常停頓就開 1 小時快取。預設快取只保留 5 分鐘,開會回來第一輪就要整段重寫。在
settings.json的env裡加"CLAUDE_CODE_PROMPT_CACHE_TTL": "1h",見 1 小時快取。 - 選工作階段黏著性好的中轉。同一個工作階段的請求如果在多個上游帳號之間跳,快取幾乎每輪都失效,花費能翻好幾倍。CoreCode 按工作階段 ID 固定帳號;別家可以用 檢測腳本 的快取一項看出來。
三、控制上下文
- 換任務就
/clear。上一個任務的檔案和對話對新任務沒用,每輪卻照樣要送。 - 長工作階段適時
/compact。壓縮後第一輪要重寫快取,之後每輪都更便宜。不要為了「清爽」新開工作階段把上下文重新鋪一遍,那比壓縮更貴。 - 考慮關掉 1M 上下文。在
env裡加"CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",上下文上限變成 200K,會更早觸發自動壓縮,每輪送出的上下文更短。 - 精簡 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 模式的開銷。
自查:錢到底花在哪了
- 在 Claude Code 裡輸入
/usage(或/cost)看本工作階段的用量和費用,/context看上下文被什麼占滿了。 - 在控制台 使用日誌 裡按時間看連續幾筆請求:快取讀取穩定增長、快取寫入只有幾百到幾千是正常的;某一筆快取寫入突然接近整段上下文,就是前綴變了。
- 日誌裡大量「非串流」請求、每筆寫入幾萬 token,多半是 auto 模式的檢查。
- 帳單裡出現沒選過的模型,通常是背景摘要、子代理或 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 模式的分類器會用其他模型,見 帳單裡的其他模型。