最大化 Claude Code 會話價值與 Token 效率
透過提示快取降低 Token 成本
Claude Code 使用提示快取來降低重複輸入 Token 的成本。當請求以與先前請求相同的 Token 開頭時,伺服器會從快取載入狀態,而非重新計算,從而將這些 Token 的成本降低至標準輸入價格的 0.1 倍。然而,將新 Token 寫入快取的成本最高可達正常輸入價格的 2 倍。
避免快取未命中
由於快取是從請求開頭開始鍵值化,請求前綴的任何變更都會使整個後續快取失效。使用者應避免在對話中途執行以下操作,以防止產生昂貴的完整上下文重新預填充:
- 切換模型(
/model): 每個模型都維護自己的獨立快取。 - 變更努力等級(
/effort): 努力等級是快取鍵的一部分;變更它會使快取失效。 - 切換快速模式: 啟用快速模式會改變快取鍵。應在會話開始時啟用。
- 使用
/compact: 此命令會以較短的摘要取代對話,導致先前的對話歷史不再與快取匹配。 - 基於時間的過期: 訂閱用戶的快取在一小時後過期,API 金鑰用戶則在五分鐘後過期(除非設定了
ENABLE_PROMPT_CACHING_1H=1)。
為最小化成本,使用者應在會話開始時或在執行 /clear 命令後立即進行模型和努力等級的變更。使用 /rewind 比 /compact 更具成本效益,因為它僅切斷對話的結尾,保留先前的快取歷史不受影響。
战略性上下文管理
每次新增的檔案讀取或命令輸出都會保留在會話的上下文中,供後續所有回合使用,從而增加每次請求的 Token 負擔。管理進入上下文的內容對於維持效能和降低成本至關重要。
優化輸入與工具結果
- 使用 @-提及: 提及檔案(例如
@utils.test.ts)會將檔案附加至第一個請求,跳過對獨立Read工具呼叫的需求,以及隨之而來的回合。 - 靜默命令旗標: 命令輸出會附加至對話中。為防止上下文過於臃腫,使用者應在
CLAUDE.md中為常見命令加入靜默旗標(例如對 Vitest 使用--reporter=dot),以限制返回文字的數量。 - 限制啟動上下文: 在新會話中使用
/context來識別不必要的載入項目。特定工作流程的指示應從CLAUDE.md移至僅在需要時載入的技能中,並透過/mcp關閉未使用的 MCP 伺服器。
管理會話長度
長會話的代價遠高於多個短會話,因為每個回合都需重新處理整個先前的歷史。使用者應在切換任務時使用 /clear,在任務早期部分完成時使用 /compact。對於使用 1M 上下文模型的使用者,可使用 /autocompact 200k 重新啟用自動壓縮安全網(需 Claude Code v2.1.221+ 版本)。
利用子代理處理雜訊任務
子代理提供了一種在獨立上下文視窗中執行任務的方式。子代理擁有自己的系統提示和工具,但不會繼承主會話的對話歷史。僅最終答案會返回至主會話,所有中間回合和工具輸出都會被丟棄。
子代理非常適合處理「雜訊」任務,例如解析大型日誌檔案,否則中間輸出會使主會話的上下文過於臃腫。使用者可明確請求子代理(例如「在子代理中處理此日誌」),或定義特定子代理設定,使用較便宜的模型(如 Haiku 或 Sonnet)進一步優化成本。
社群見解與替代工作流程
Hacker News 上的使用者提出了額外策略,以補充官方建議:
/handoff工作流程: 一些使用者偏好使用/handoff技能建立可攜帶的上下文文件。這允許他們使用/continue [file]啟動新會話,有效重置快取和上下文,同時保留關鍵的專案記憶。- 驗證迴圈: 高效率使用者報告,讓代理撰寫測試,刪除已覆蓋的程式碼以驗證測試失敗(變「紅」),再恢復程式碼以驗證測試通過,確保測試在人工審查前具有意義。
- 對手動優化之擔憂: 部分社群成員認為,要求使用者手動透過
/clear和/compact等命令管理快取和上下文,是一種倒退至形式語言,AI 應能自主處理這些優化。
"我發現 [/handoff] 比 /compact 或 /clear 更有用,因為上下文被保存在可攜帶的文件中,而不是與單一會話綁定……我每 20 條訊息左右這麼做,效果比長時間會話更好。"
"變更努力等級會使快取失效……努力等級難道不能僅作為解碼時的參數,僅改變
token 的機率嗎?"
高成本區域總結
| 优先級 | 區域 | 優化動作 |
|---|---|---|
| 最高 | 會話長度 | 頻繁使用 /clear 和 /compact |
| 高 | 上下文膨脹 | 使用 @-提及和靜默命令旗標 |
| 中 | 快取未命中 | 在會話開始時設定 /model 和 /effort |
| 低 | 啟動載入 | 檢查 /context 並關閉未使用的 MCP 伺服器 |
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- 專案
- Dispatch