為了解決開發者的額度消耗焦慮,Anthropic 官方近期發布了一份深度指南,拆解 Claude Code 的計費底層邏輯,並整理出 11 個最直接的省 Token 實戰技巧。
為什麼相同的任務,花費可能差數倍?
Anthropic 指出,開發者支付的表面上是 Token,本質上是 GPU 的推論運算時間。成本主要由三大維度決定:
- 模型等級:大模型(如 Opus)在輸入與輸出的單價均高於小模型(如 Sonnet、Haiku)。
- 輸入(Prefill)vs. 輸出(Decode):解碼階段模型逐字產出(包含思考歷程 Thinking Tokens 與工具調用),GPU 佔用時間長,因此輸出 Token 單價約為輸入的 5 倍。
- 提示詞快取(Prompt Caching):這是節省成本的關鍵。命中的快取讀取費用僅需 0.1 倍(一折),但如果快取失效或被破壞,系統就必須以全價重新預填充(Prefill)整段上下文。
在多輪對話中,每一次送出的請求都包含了「系統提示詞 + 專案設定 + 先前讀取過的所有檔案與指令輸出」。這意味著,無關的歷史紀錄留得越久,後續每一輪對話的隱形成本就越高。
11 個 Claude Code 實戰省 Token 技巧
1. 任務切換果斷 /clear
一個任務完成後立即執行 /clear 清空上下文。長對話越往後越昂貴,因為後續每一輪都會完整攜帶先前的對話紀錄。如果是在同一個任務內但前段紀錄已無用,再使用 /compact 壓縮。
2. 開局定好模型與 Effort 等級
中途切換 /model、/effort 或開啟 Fast mode 會改變快取的特徵值(Cache Key),導致既有 Prompt Cache 全部失效,下一輪將以全價重新計算上下文。建議在開局就設定妥當。
3. 暫離工作前先執行 /compact
訂閱用戶的快取壽命約 1 小時,API Key 預設約 5 分鐘。一旦快取過期,重新喚醒時需全額重算整段歷史。趁著快取尚未過期時先進行 /compact,生成摘要的成本會便宜許多。
4. 邏輯跑偏時用 /rewind 代替 /compact
若最近幾輪互動偏離預期,使用 /rewind 即可精準刪除後續輪次,前面的快取完全不受影響(零額外成本);相比之下,/compact 會重寫整段對話,反而會破壞快取。
5. 善用 @檔案名稱 載入上下文
在 Prompt 中直接使用 @檔名,Claude Code 會在第一輪請求前將檔案打包送出,省去模型額外發起一次 Read 工具調用與搜尋的成本。同一個檔案在同個會話中標註一次即可,重複標註會塞入多份副本。
6. Prompt 盡量精確具體
避免模糊指令(例如「測試掛了」),應具體指定失敗的測試與檔案名稱。模糊指令會迫使 Agent 先執行 grep、全域搜尋並讀取大量無關檔案,這些中間產物會永遠滯留在上下文內。
7. 抑制測試與終端機的冗長輸出
Build、Git Log 與測試輸出的文字都會佔用 Context。建議在指令加上 --quiet 或用 tail 截斷,或在 CLAUDE.md 中預先定義精簡的測試指令(例如 vitest --reporter=dot)。
8. 透過 /context 檢查啟動負擔
在新會話中執行 /context,可檢視 CLAUDE.md、系統提示詞及 MCP 佔用的初始 Token 數。建議將專案特定流程拆至按需載入的 Skills,並用 /mcp 關閉當前會話不需要的 MCP 工具。
9. 雜活任務降級模型與思考強度
Thinking Tokens 同樣屬於昂貴的輸出 Token。對於常規、純執行的工作,可選用較小模型或調低 /effort;若要徹底關閉思考,可透過環境變數 MAX_THINKING_TOKENS=0 claude 啟動。
10. 大量日誌交給 Subagent,輕量任務回歸主會話
Subagent 擁有獨立上下文,任務結束後只將最終摘要帶回主會話,非常適合用來爬梳龐大日誌或搜尋長篇文件(甚至可指派 Haiku 執行)。但對簡單任務而言,Subagent 重新載入設定的初始成本反而不划算。
11. /loop 循環指令務必另開獨立會話
每次 /loop 都視為一次完整對話輪次,會持續攜帶當前會話的全部內容。若循環間隔超過 1 小時還會引發快取失效。官方強烈建議另開一個乾淨的終端機視窗專門執行循環工作。