
Claude Code 是 Anthropic 推出的命令行 AI 編程助手直接在終端里使用可以生成代碼、修改文件、執行命令、讀取測試結果。作為日常開發輔助它確實方便但很多人的第一感受是token 燒得比想象中快。一個典型場景是上午開了一個會話下午還在同一個上下文里改另一個模塊對話歷史里塞滿了舊代碼。下面這六條實用技巧是我反復測試后篩選出來的適合已經裝上 Claude Code、想在正常開發里控制成本的人。先說明一句能不能真降一半取決于任務類型和使用習慣。如果主要浪費來自長會話、大文件、反復試錯降幅可以非常大如果任務本身很小效果可能沒那么明顯。1. 先搞清楚 token 到底花在哪再談省1.1 token 消耗的四個主要去向在優化成本之前先得明白 Claude Code 的 token 花在哪些地方。很多人以為它只消耗“聊天記錄”實際并不是。Claude Code 是操作型工具它不只是“回答”還要讀文件、改文件、跑命令、根據結果繼續執行。所以 token 消耗點比普通聊天工具更多。可以粗略分成四類系統提示詞和項目規則。每次請求都會攜帶運行環境的基礎說明還會讀取項目根目錄下的 CLAUDE.md。這部分雖然單次不高但每次請求都扣一次。對話歷史和工具調用結果。用戶輸入、AI 的思考輸出、工具執行返回的內容都會作為后續請求的上下文。這里是最容易被低估的一塊。文件內容。AI 需要修改代碼時通常會讀入文件內容。文件越大讀入的輸入 token 越高。AI 輸出。生成的代碼、解釋、計劃、修改 diff以及它調用工具時生成的參數都屬于輸出 token。注意一個關鍵點在 Claude Code 里工具調用并不是免費的。AI 要先發出“我要讀取某個文件”的調用系統把文件內容返回AI 再基于返回內容繼續生成下一步動作。這個過程每循環一次就會產生一輪新的輸入和輸出。換句話說一個表面上只需改一個函數的小任務背后可能發生十幾輪文件讀取和結果返回。所以判斷 token 消耗不能只看你輸入了多少字還要看 AI 為了完成任務實際“讀”了多少內容。1.2 什么情況下 token 消耗最容易失控結合我自己的測試下面幾種場景最容易讓 token 快速上漲長會話不清理。一個會話從上午開到下午中間聊了需求、改過配置、跑過測試。每一次新提問都會攜帶全部歷史輸入 token 會不斷膨脹。大文件被整文件讀入。讓 AI 修改一個幾百行的函數結果它把整個上千行的文件讀進來。如果文件超過數萬行一次讀入就很可觀。大范圍任務。比如讓 AI“重構整個登錄模塊”它需要反復讀取多個模塊文件、判斷依賴、猜測改動范圍輸入和輸出都會翻倍。失敗重試。代碼運行報錯后把報錯日志貼回去AI 又讀一遍相關文件再生成一版新代碼。來來回回token 就像滾雪球。多終端并發。在多個終端窗口同時跑 Claude Code每個任務的上下文獨立計算總消耗疊加賬單自然上漲。之所以先講這些是因為后面的六個技巧基本都圍繞同一件事減少 AI 在無關內容上的投入減少無效重試。2. 技巧一和技巧二先把上下文管住六大技巧里最先要做的不是調參數而是管住上下文長度。上下文是 Claude Code 成本的大頭長上下文會讓每次請求的輸入 token 持續膨脹。2.1 技巧一及時用 /compact 壓縮上下文在交互式會話里輸入/compactClaude Code 會把當前會話的歷史對話壓縮成一份摘要后續請求不再攜帶完整對話原文而是攜帶摘要。這樣能顯著降低長時間對話后的輸入 token。什么時候適合用我的判斷標準有三個同一個會話已經連續完成多個任務上下文里堆了很多舊內容。后續回復開始明顯變慢或者你感覺模型“記不住重點”。日志里顯示輸入 token 越來越大但當前任務還沒結束。需要留意的是/compact 不是無損操作。壓縮后會丟失一部分細節比如之前的臨時結論、具體路徑、你隨口提過但沒寫進代碼的參數。所以在壓縮前先把重要結果保存到文件里或者確保它們已經寫進 CLAUDE.md。如果當前任務已經徹底結束更干脆的做法是直接輸入/clear清空整個會話從零開始。清空后對話歷史不再作為上下文自然不再產生歷史累積。我一般會給自己定一個節奏每完成一個相對獨立的功能就 /clear 一次同一個功能里需要反復調整時等基本穩定后先 /compact再繼續下一階段。這樣不會因為頻繁清空丟掉任務背景也不會讓歷史無限膨脹。這里需要注意/compact 和 /clear 都是交互式命令不影響代碼文件本身。它們只是控制“模型看得到多少上下文”。2.2 技巧二用 CLAUDE.md 沉淀項目規則CLAUDE.md 是 Claude Code 在項目根目錄讀取的項目規則文件。啟動后它會自動把它當作上下文背景。這意味著你不必在每個新會話里重新解釋項目技術棧、目錄結構、測試命令和編碼約定。這部分省 token不是靠“減少單次開銷”而是靠“減少反復交代的次數”。假設你每次開新會話都要花 200 token 解釋項目規則一天 10 個會話就是 2000 token。這些規則寫進 CLAUDE.md 后每次會話開頭自動帶上雖然也會消耗 token但不會因為你忘了說而變化也不會因為你重復描述而翻倍。一個示例 CLAUDE.md 內容# 項目規則 - 技術棧Python 3.11 FastAPI SQLAlchemy - 測試命令pytest tests/ - 代碼規范使用 ruff 檢查不要修改 migrations/ 下已有文件 - 啟動命令uvicorn app.main:app --reload創建方式有兩種手動創建或者在 Claude Code 中輸入 /init 讓它先生成一版再人工精簡。這里有一個反向風險CLAUDE.md 并不是越詳細越好。因為它會作為每一次請求的固定上下文發送寫太多反而增加每次調用的輸入 token。控制在一個合理范圍很重要我個人建議盡量精簡到 30 到 80 行只寫“經常用、不經常變、寫錯代價大”的信息。比如不要放整段代碼示例不要放大段架構歷史也不要放幾百個依賴清單。真正值得放的是測試命令、構建命令、目錄約定、禁止改動的地方。這樣每次請求只是多帶幾十行文本卻能避免很多無效輪次。寫作時要注意CLAUDE.md 本質上是給模型看的“項目記憶”它不是執行腳本也不用寫成正式文檔。寫得越直接越省 token。3. 技巧三和技巧四別讓 AI 做“大而全”的輸出上下文管住后第二類開銷是輸出 token。很多人在 prompt 里沒有限制輸出范圍AI 會給出一大段解釋、計劃、示例甚至反復生成完整文件。這部分的浪費同樣