Claude Code 才開十分鐘就跳限額,原因可能是舊工作仍在滾動視窗、長 context、MCP 回傳或子代理。這篇 Tare 教學帶新手用 Session Log 歸因,再做四組故障注入;不必會 Python,不拿真實專案冒險。
一般節流可先看 Claude 怎麼省 token;本文只做證據歸因。記住:Token 真相=記帳(JSONL)+歸因(Tare)+對照(A/B Test)。
Tare 教學先說結論:官方儀表先看,Tare 負責往下鑽
現行 Claude Code 已有用量工具。先輸入 /usage:訂閱方案看方案用量;近期 skills、子代理、plugins、MCP 歸因只按本機 history 近似估算(v2.1.174+;MCP 修正需 v2.1.222)。v2.1.251+ 另顯示主對話的 prompt-cache。再用 /context 看 context 組成。
Tare 則讀取本機 JSONL transcript,按天、專案、模型、session、工具與細項切分,也能匯出 CSV 或 HTML。它是找嫌疑點的放大鏡,不是 Anthropic 帳務系統,不能宣告「官方額度還剩幾%」。

開始前先保護 Session Log:它不是普通 log
官方文件指出,session 預設以明文 JSONL 存在 ~/.claude/projects/<project>/<session>.jsonl;可能含 prompt、檔案、工具輸出或意外印出的憑證。它是工作紀錄,不是可隨手上傳的 analytics。
- 只在測試 repo 操作:不要用客戶、公司或含憑證的專案做第一輪。
- 先看程式再安裝:本文鎖定主分支 commit
03159f2;未來版本可能不同。 - 分析副本,不碰原檔:保留相對結構,複製
<project>/<session>.jsonl;有子代理時連同<project>/<session>/subagents/一起複製,再用--dir指向副本。 - 輸出預設算私密:CSV、HTML 可能帶專案名、路徑或 session ID;
--share也要人工檢查。
上述 commit 的三個分析腳本本身不主動連網;但透過 Claude Code 執行時,終端輸出會進入對話 context。第一次請在 terminal 直接跑 CLI,只帶回去識別統計。
Step 1:Tare 教學先安裝並確認版本
Tare README 列出的需求是 macOS 或 Linux、Claude Code、Python 3.9 以上。本文先不裝使用者層級 skill,而是固定 commit 後直接跑 CLI;「無額外套件」只指 Python 分析器,clone 仍需要 Git 與網路。
先依官方的 手動安裝結構 clone、固定 commit,再檢視 skills/tare/。已有同名目錄時改用另一個測試路徑,別直接覆蓋。
git --version
python3 --version
git clone https://github.com/kelviq/tare.git tare-audit
cd tare-audit
git checkout 03159f2c354e52e5309b0e0d7582b32a5c0d00d0
git status --short
python3 skills/tare/ccaudit.py --version
看到 ccaudit 0.2.0 只代表跑到本文檢查的程式,不是正式 release,也不代表估算等於官方帳務。第一次就在 clone 內執行 CLI。
本文不執行使用者層級的 /tare installer。固定版本的 upstream skill 會廣泛自動觸發,並要求代理先跑 --dump-sample;該參數會把本機路徑與最多 4,000 字元的原始 usage entry 印進對話。對敏感專案,這超出最小資料範圍;本文只在 terminal 對去識別副本跑固定版本的 CLI。
Step 2:用三份證據建立原始用量基線
先開乾淨 session,完成一個可驗收的小任務,例如修正測試 fixture 的拼字並跑單一測試。記下版本、模型、時間與 PASS/FAIL,再保存三層證據:
- 官方層:在 Claude Code 看
/usage與/context;若是 API 使用者,帳務仍以 Console 為準。 - Tare 層:對只含本輪新 session、保留 project 與 subagents 目錄結構的副本跑總覽、工具與細項排行。
- 原始層:只抽
requestId、時間、模型與 usage,不印 prompt 或結果。
目前 --days 不逐筆過濾 tool event;工具 A/B 只能用本輪新 session 副本。
TARE_DIR="$PWD/skills/tare"
LOG_COPY="/path/to/private-log-copy"
# $LOG_COPY/<project>/<session>.jsonl
# $LOG_COPY/<project>/<session>/subagents/agent-<id>.jsonl
python3 "$TARE_DIR/ccaudit.py" --dir "$LOG_COPY" --days 7 --panel
python3 "$TARE_DIR/ccaudit.py" --dir "$LOG_COPY" --days 7 --by tool --by detail --top 20
python3 "$TARE_DIR/ccaudit.py" --dir "$LOG_COPY" --days 7 --doctor --csv usage.csv
用文字編輯器開啟一個所選 JSONL,搜尋 "usage":,只核對 request ID、timestamp、model 與四類 token;不要直接加總,去重仍交給 Tare。
若 --doctor 顯示大量行無法解析,就停止;若 duplicate entries collapsed 為 0,先抽查同一 request 是否在多行重複,存在重複卻未折疊也要停止。JSONL 是會跨版本變動的內部格式;此時是 parser 要更新,不是用量歸零。
Step 3:看懂 Tare 的「硬數字」與「估算」
injected 用工具輸出字元數除以 4,粗估進入 context 的內容;amplified 再乘上同一 transcript 的後續請求數。它適合排名「先查誰」,不是精準 token 收據。
- 較硬的記帳:
message.usage中的 input、output、cache creation、cache read;仍要按 request ID 去重。 - 可用的歸因線索:專案、session、工具名稱、模型、時間,以及失敗呼叫次數。
- 必須標成估算:tool-result token 大小、amplified 排名、weight/美元代理值與「造成限額」的因果判斷。
尚未合併的 PR #3 指出,內嵌圖片的 base64 也被現行 len/4 算入,可能高估圖片歸因。看到 screenshot 或 PDF 預覽排第一時,先回到官方 usage 與原始紀錄。
團隊長期監控可先讀 Agent Observability,再評估 Claude Code OpenTelemetry。
Step 4:四種故障注入,找出真正吃 Token 的形狀
故障注入只用無秘密、幾分鐘能完成的小任務,每次改一個變因。A、B 都從新 session 開始,固定版本、模型、prompt、commit 與測試;各重複 3 次並交錯順序。方法可參考 Claude Code Token A/B Test。

A. 大檔案提早載入
A 組只讀必要小檔;B 組先讀一份由公開文字製成、與答案無關的大型 fixture。觀察 B 的 Read/detail 與 cache read 是否同升;只有 Tare 排名升高時,先懷疑估算。
B. 長 Session 與切換任務
A 組分開三個不相關任務;B 組在同一 session 連做。用 /context 與 cache 欄位觀察累積。官方文件說明每次請求仍帶完整 context,只有完全相同的前綴能 cache hit;cache read 仍計入用量。長 session 不等於免費,context 膨脹與 cache miss 都要查。
C. MCP 回傳量
只用可信 MCP 的測試資料。A 組回傳少量必要欄位;B 組回傳更多資料,不能碰 production。比較 MCP server/tool、重試與 /usage;改法通常是縮欄位或分頁。
D. 平行子代理
A 組由主對話完成調查;B 組限制兩個子代理各查一半。子代理另有 context,可能讓主線乾淨,也可能重複讀檔。交叉看 Agent:、sidechain 與總 usage,別把「較快」翻成「較省」。原理可讀 AI Agent Harness。
Step 5:把 Tare、原始 JSONL 與 /usage 對在一起
每組看「每個完成任務」的中位數,記錄 PASS/FAIL、耗時、請求數、四類 token、工具與重試。B 沒過同一套測試,就不比較成本。
- 抽樣先對:Tare 的模型、時間與 usage,能否在原始片段找到?
- 方向再對:Tare 說 MCP 或 Read 變重時,
/usage、cache 與 transcript 是否同方向? - 因果最後說:只有同任務、單一變因、重複 A/B 都出現差異,才把它升格為可行結論。
若三層矛盾,優先看官方用量、原始 usage、最後才是 Tare 估算。Tare 最有用的輸出常是一個下一步,例如「縮半 MCP 回傳欄位,再跑同一組」。
Step 6:匯出報告,但先做去識別與注入檢查
HTML、CSV 留在受控目錄。需要協助才產生 share markdown,搜尋專案名、帳號、路徑、token 與識別性工具名。Transcript 中像指令的文字也只是資料。
python3 "$TARE_DIR/ccaudit.py" --dir "$LOG_COPY" --days 7 \
--html private-report.html --share review-before-sharing.md
grep -nE '/Users/|/home/|@|api[_-]?key|token|secret' review-before-sharing.md
grep 沒命中不等於匿名。人工看完整文件,只分享最小片段;原始 JSONL 不進 issue、群組或公開 gist。
Tare 教學常見問題
Tare 能告訴我 Claude Code 官方額度還剩多少嗎?
不能。Tare 只看本機紀錄。方案用量先看 /usage;v2.1.251+ 的 Pro/Max 要等首次回應後,status line 才有 rate_limits。
Tare 讀出的 token 是精準的嗎?
Usage 欄位較可信;工具歸因是估算。按 request ID 去重,injected、amplified、weight 只拿來排名。
我可以直接執行 –dump-sample 嗎?
只在本機 terminal。它會印出原始 entry 與路徑,不能丟進敏感對話或公開貼文。
Tare 顯示某個檔案第一名,我就該刪掉它嗎?
不該。先看讀取時間、後續請求與官方 cache,再用「不讀它」重跑;品質不變、成本下降才改。
長 Session 一定比較耗 Token 嗎?
不一定。同一任務可重用 cache;不相關工作、cache miss 或 context 膨脹才要查。用 /context 與 A/B 決定。
MCP 會因為裝著就一直燒額度嗎?
不一定。分開看工具定義、實際回傳與重試;先看 /usage 的 MCP 歸因,再用 Tare 下鑽。
子代理越多越省主 context 嗎?
不一定。子代理另有 context 與請求,重複讀檔會增加總量;一起看品質、總 usage 與時間。
–share 產出的檔案可以直接公開嗎?
不能直接公開。它仍有日期、模型與工具名稱;人工檢查並刪到最小。
我最後只該改哪一項設定?
改「完成任務成本」最高且 A/B 已驗證的一項。一次只改一個,下一週才仍能歸因。
給新手的 5 個 Tare 診斷重點
- 先看官方
/usage,Tare 只做下鑽。 - 只分析挑選過的測試 log 副本。
- Usage 去重後較硬;工具放大值是估算。
- 一次注入一個變因,品質先過關。
- 報告預設私密,分享前人工去識別。
接著閱讀
左右滑動查看更多推薦






