我的 Claude Code 配額總是比預期消耗得快,而用量計數器只顯示我用了多少,卻沒說明用在哪裡。Claude Code 已經將每個會話的記錄儲存在磁碟上,路徑是 ~/.claude/projects。
於是我在一個 AI 代理的幫助下,開發了一個小工具來讀取這些檔案並進行摘要。接著,我將它應用在自己的使用歷史上。這篇文章將涵蓋這些記錄顯示的內容、官方文件對此的說明,以及我因此改變的使用習慣。
作者發現 Claude Code 配額消耗速度超乎預期,因此開發了一款 AI 輔助工具來分析其會話記錄。透過分析 208 個會話,作者揭示了快取機制、昂貴操作以及個人使用習慣對配額的影響,並分享了優化使用方式的實用建議。

我的 Claude Code 配額總是比預期消耗得快,而用量計數器只顯示我用了多少,卻沒說明用在哪裡。Claude Code 已經將每個會話的記錄儲存在磁碟上,路徑是 ~/.claude/projects。
於是我在一個 AI 代理的幫助下,開發了一個小工具來讀取這些檔案並進行摘要。接著,我將它應用在自己的使用歷史上。這篇文章將涵蓋這些記錄顯示的內容、官方文件對此的說明,以及我因此改變的使用習慣。
這些數字(208 個會話)是一個開發者(我本人)匿名化並四捨五入後的使用歷史數據:總共有 208 個會話,最長的會話有 9,849 輪對話,進行了 68 次壓縮。在離開超過 60 分鐘後,快取重建了 280 次,約消耗 81.6M 快取寫入代幣;在離開超過 5 分鐘後(僅在 5 分鐘 TTL 有效),快取重建了 417 次,約消耗 112.8M 代幣。
會話中途的模型切換發生了 37 次,約導致 9.07M 代幣未經快取重新讀取。平均每輪對話重新讀取上下文約 374k 代幣。輸出、快取寫入和快取讀取分別為 24.6M、260M 和 12.5B 代幣。子代理佔原始代幣的 24%,最大的 CLAUDE.md 文件約為 3k 代幣。
在深入探討之前,有一個注意事項:這裡的快取讀取佔了原始代幣的 98%,但這並不代表它佔了我配額的 98%。快取讀取每個代幣的成本較低,Anthropic 並沒有公布每種代幣類型如何計入方案限制。這些只是原始代幣計數。衡量變化的唯一誠實方法是比較使用前後的 /usage 報告。
我之前有三個錯誤的認知,這三點都在官方文件《Claude Code 如何使用提示快取》中有所提及。第一,快取壽命並非總是 5 分鐘。對於 Claude 訂閱用戶,在方案用量內,主對話的快取可持續 1 小時。子代理、壓縮和其他請求的快取壽命為 5 分鐘。如果使用 API 金鑰、用量點數或雲端供應商,所有快取都是 5 分鐘。一旦超出方案限制並開始使用用量點數,主對話的快取也會降至 5 分鐘。
第二,長時間休息後,/compact 是最昂貴的選項。一旦快取過期,下一個請求會重新計算完整的上下文。/compact 背後的摘要請求會未經快取地重新處理整個歷史記錄,這就是為什麼「當您恢復舊會話時,/compact 的成本最高」(引自文件)。我離開超過一小時後進行的 280 次重建,正是這種模式:回到一個龐大的會話並繼續工作。
第三,在會話中途切換 /model 會重新讀取所有內容。每個模型都有自己的快取,因此在 /model 之後,下一個請求會重新讀取整個歷史記錄,而不會命中快取。我這樣做了 37 次。在會話中途改變努力程度(effort level)在大多數模型上也會產生相同的效果。
我因此改變了以下習慣:在超過快取生命週期(TTL)的休息後回來時,請開啟一個新的會話,並貼上您上次離開時的簡短摘要。或者,如果您要放棄某個路徑,可以使用 /rewind 回到之前已快取的時間點。不要先執行 /compact。
在快取「溫熱」時進行壓縮。當快取溫熱時,/compact 會從快取中讀取您的前綴,成本相對較低。在任務之間的自然間歇執行它,而不是等到任務中途自動壓縮。/recap 則會顯示摘要而不替換歷史記錄。
每個會話只處理一個任務,並在不相關的任務之間使用 /clear。一個 9,849 輪的會話在每輪都會重新發送大量上下文。在會話開始時就選擇模型和努力程度,而不是在會話中途。
保持 CLAUDE.md 精簡。它是每個請求的一部分;我的目標是控制在 1,500 個代幣以下。在會話中途編輯它不會破壞快取,但編輯的內容要等到 /clear、/compact 或重新啟動後才會生效。在新的會話中執行 /context 可以查看實際載入了什麼。
保持工具輸出小巧。使用偏移量和限制來讀取檔案,在讀取前先使用 grep 過濾,並將命令透過 head、tail 或 grep 管道傳輸。有意識地使用子代理。每個子代理都會建立自己的上下文並使用 5 分鐘的 TTL。使用精確的提示詞,並要求簡短的輸出。檢查您的命中率。/usage 會顯示提示快取(主)的命中率(v2.1.251+)。
您也可以在自己的記錄上執行這個工具。cc-quota-doctor 採用 MIT 許可證,使用標準 Python 函式庫(3.9+),並可在 Windows、macOS 和 Linux 上運行。它不會進行任何網路呼叫,也不會上傳任何內容。您可以透過 pip install git+https://github.com/raunakpathak20/cc-quota-doctor-.git 安裝,然後執行 cc-quota-doctor。
實用的旗標包括:cc-quota-doctor --top 10(顯示更多專案/會話)、cc-quota-doctor --json > usage.json(機器可讀格式)、cc-quota-doctor --idle-minutes 5(API 金鑰/用量點數,5 分鐘 TTL)。
它會報告每個專案和會話的代幣使用量、子代理佔比、啟動上下文大小、載入的 CLAUDE.md 檔案、兩種 TTL 下的閒置快取重建次數、模型切換和壓縮次數、最大的工具輸出,以及針對您自身使用情況的前三名修正建議。
它不會做的是:它不會繞過、重設或提高任何限制,也無法顯示您的方案百分比。記錄格式未經文件化,可能會改變,且某些大小是估計值(字元數 / 4)。如果您的數字看起來有誤,請開啟一個問題。專案儲存庫:https://github.com/raunakpathak20/cc-quota-doctor-。
這個工具是我在一個 AI 代理的幫助下建立的,經過審查後,我將它應用在自己的使用歷史上。v0.2 版本在經過官方文件(上述 TTL 細節是主要修正點)的 QA 檢查後進行了修正。如果您希望直接獲得修正後的工具,可以選擇購買 15 美元的專業套件(包含 CLAUDE.md 精簡技能、警告掛鉤、每週報告和引用文件的操作手冊):https://buy.polar.sh/polar_cl_69l29e1HavMF0OIreYDVgqTqPzCPoZjy3QAvI4ZK6Jb。
免費的 CLI 工具則提供完整的診斷功能。我很好奇:您的記錄顯示有多少次閒置重建呢?
覺得值得一看?分享給朋友。
以上為 AI 自動翻譯導讀。原文版權歸 DEV Community (Claude Code) 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。
43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。