節約
PRECCは各インターセプションから推定されるトークン節約を追跡します。precc savings を使用して、PRECCがどれだけの無駄を防いだかを確認してください。
クイックサマリー
$ precc savings
Session Token Savings
=====================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Breakdown:
Pillar 1 (cd prepends): <span data-stat="session_p1_tokens">3,204</span> tokens (<span data-stat="session_p1_count">6</span> corrections)
Pillar 4 (skill activations): <span data-stat="session_p4_tokens">1,560</span> tokens (<span data-stat="session_p4_count">4</span> activations)
RTK rewrites: <span data-stat="session_rtk_tokens">2,749</span> tokens (<span data-stat="session_rtk_count">11</span> rewrites)
Lean-ctx wraps: <span data-stat="session_lean_tokens">1,228</span> tokens (<span data-stat="session_lean_count">2</span> wraps)
詳細内訳(Pro)
$ precc savings --all
Session Token Savings (Detailed)
================================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Command-by-command:
# Time Command Saving Source
1 09:12 cargo build 534 tk cd prepend (cargo-wrong-dir)
2 09:14 cargo test 534 tk cd prepend (cargo-wrong-dir)
3 09:15 git status 412 tk cd prepend (git-wrong-dir)
4 09:18 npm install 824 tk cd prepend (npm-wrong-dir)
5 09:22 find . -name "*.rs" 387 tk RTK rewrite (output truncation)
6 09:25 cat src/main.rs 249 tk RTK rewrite (lean-ctx wrap)
7 09:31 cargo clippy 534 tk cd prepend (cargo-wrong-dir)
...
Pillar Breakdown:
Pillar 1 (context resolution): <span data-stat="session_p1_tokens">3,204</span> tokens <span data-stat="session_p1_pct">36.6</span>%
Pillar 2 (GDB debugging): 0 tokens 0.0%
Pillar 3 (mined preventions): 0 tokens 0.0%
Pillar 4 (automation skills): <span data-stat="session_p4_tokens">1,560</span> tokens <span data-stat="session_p4_pct">17.8</span>%
RTK rewrites: <span data-stat="session_rtk_tokens">2,749</span> tokens <span data-stat="session_rtk_pct">31.5</span>%
Lean-ctx wraps: <span data-stat="session_lean_tokens">1,228</span> tokens <span data-stat="session_lean_pct">14.1</span>%
節約の推定方法
各修正タイプには、PRECCなしで何が起こったかに基づく推定トークンコストがあります:
| 修正タイプ | 推定節約 | 理由 |
|---|---|---|
| cd prepend | ~500 tokens | エラー出力 + Claudeの推論 + リトライ |
| スキルアクティベーション | ~400 tokens | エラー出力 + Claudeの推論 + リトライ |
| RTK rewrite | ~250 tokens | Claudeが読まなければならない冗長な出力 |
| Lean-ctx wrap | ~600 tokens | 大きなファイル内容が圧縮される |
| マイニングされた予防 | ~500 tokens | 既知の失敗パターンを回避 |
これらは控えめな見積もりです。Claudeのエラーに関する推論は冗長になることがあるため、実際の節約はより高いことが多いです。
累積節約
節約はPRECCデータベースにセッション間で保持されます。時間の経過とともに、総合的な影響を追跡できます:
$ precc savings
Session Token Savings
=====================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Lifetime savings: <span data-stat="total_tokens_saved">142,389</span> tokens across <span data-stat="total_sessions">47</span> sessions
ステータスバー
インストール後、PRECC は ~/.claude/settings.json に statusLine エントリを追加し、Claude Code のステータスバーにライブセッションメトリクスを表示します:
$0.42 spent | 1.2M in/out | 📊 last cmd: −1.2K | PRECC: 7 fixes | 5.8ms avg | this session: 320 saved over 7 cmds (~$0.05) | lifetime: 8.9K saved over 217 cmds (~$2.85)
PRECC_LANG を設定するとラベルがあなたの言語で表示されます — ローカライゼーションの章を参照してください。
各セグメント:
| セグメント | 出典 | 意味 | セッション再起動でリセットされますか? |
|---|---|---|---|
$0.42 spent | cost.total_cost_usd | Claude Code が報告するセッション累積コスト | はい |
1.2M in/out | total_input_tokens + total_output_tokens | セッション全体の非キャッシュ入力 + 出力トークン | はい |
📊 last cmd: −1.2K | 最新の Bash コマンドの PRECC 測定 | オリジナルを再実行して測定した実測節約量 | いいえ(セッション間で保持) |
PRECC: 7 fixes | metrics.log | このセッションの修正回数 — 修正カウントのみ、偽のトークン推定なし | はい |
5.8ms avg | PRECC フックレイテンシ p50 | PRECC が各ツール呼び出しの処理に費やした時間 | はい |
bash 18% of total | post_observations.log | Bash 出力に由来するセッショントークンの割合 — PRECC の節約が当然総コストの一部にすぎない理由を明らかにします(PRECC は Bash 出力のみを最適化) | はい |
this session: 320 saved over 7 cmds (~$0.05) | .lifetime_summary.json − baseline | セッションごとの実差分。差分がゼロのとき非表示(セッション開始時) | はい(ベースラインを再スナップショット) |
lifetime: 8.9K saved over 217 cmds (~$2.85) | .lifetime_summary.json | PRECC 初回インストール以降に累積で節約されたトークンと再測定されたコマンド数、および現行のトークン単価で見積もった USD 換算値 | いいえ |
lifetime: セグメントは最後に配置されており、Claude Code の UI が右端でバーを切り詰める場合に最初に切り詰められます。
なぜコストとトークン数を割り算できないのか
表示されている 1.2M in/out は $0.42 spent を生み出した分母ではありません。Claude Code の cost.total_cost_usd は API の完全なトークン内訳から計算されます — 基本入力、出力、さらにキャッシュ読み取りとキャッシュ作成。セッション全体の累積キャッシュトークン数は statusline スキーマで公開されていないため、PRECC は可視部分(非キャッシュ)のみを表示できます。
ファイルを頻繁に再読み込みする長いセッションでは、キャッシュ読み取りが可視トークン数の 10 倍になることがあります。だからこそ両者を比率として組み合わせると誤解を招きます — PRECC は代わりに独立したセグメントとして表示します。
なぜ PRECC がコストを計算しないのか
コストの数値は信頼できるものです。PRECC は Claude Code が stdin 経由でステータスコマンドにパイプする JSON から cost.total_cost_usd をそのまま読み取ります。これは Claude Code があなたのサブスクリプション/使用予算に対して請求するのと同じ数値です。組み込みの /cost スラッシュコマンドでいつでも確認できます — 両者は一致するはずです。
コストを決める要因
Claude Opus 4.6 の場合:
| Token type | Standard (≤200k context) | 1M context tier |
|---|---|---|
| Input | $15 / MTok | $30 / MTok |
| Output | $75 / MTok | $150 / MTok |
| Cache write | $18.75 / MTok | $37.50 / MTok |
| Cache read | $1.50 / MTok | $3 / MTok |
長いセッションでの最大の要因は通常、出力トークン(特に 1M コンテキスト層では最もトークン単価が高いタイプ)、繰り返されるキャッシュ読み取り(個別には安価だが多くのターンで急速に累積する)、およびキャッシュ作成(ファイル読み取りごとに 1 回書き込まれ、基本入力レートの約 1.25 倍)です。PRECC は Bash 出力を圧縮することで可視トークンコストを削減します(📊 last cmd: セグメントがコマンドごとの節約量を表示)が、Claude が既に読み込んだファイルのキャッシュ読み取りを削減することはできません。
安定したセッションカウント
「PRECC: N fixes」セグメントは永続化されたセッション開始以降のイベントを数えます。セッション開始は各セッションの最初の statusline 更新時に ~/.local/share/precc/sessions/<session_id>.start に書き込まれます。これによりカウントは単調になります — 特定の更新で cost.total_duration_ms が欠落していてもセッション中に減少することはありません。
自動更新される累計スナップショット
lifetime: セグメントは ~/.local/share/precc/.lifetime_summary.json を読み取ります。このファイルは PostToolUse 測定ごと、および precc savings 呼び出しごとに書き換えられます。this session: セグメントは同じ lifetime ファイルを読み取りますが、各セッションの最初の更新時に永続化されたセッションごとのベースラインを差し引きます。手動更新は不要 — ファイルは自動的に更新されます。
ステータスバーを抑制する
既存のステータスバーを維持したい場合は、~/.claude/settings.json に独自の statusLine コマンドを設定してください。PRECC のインストーラーはカスタム値を検出し、以降のアップデートでもそのまま残します。
インタラクションごとの 📊 PRECC 行(additionalContext 内)のみを抑制するには、シェル環境で PRECC_QUIET=1 を設定してください。
Related research
PRECC’s three savings mechanisms each have a counterpart in the recent literature. These are related work — the ideas PRECC’s design draws on. Their reported figures are their measurements, not PRECC’s: PRECC only ever quotes numbers measured on your own machine (see “measured, not estimated”, above).
- Output/trajectory trimming (PRECC’s
diet+ bash-output compression) — Reducing Cost of LLM Agents with Trajectory Reduction (AgentDiet), FSE 2026, arXiv:2509.23586. Removes redundant/expired trajectory content post-hoc; reports −39.9–59.7% input tokens. PRECC applies the same idea pre-execution and deterministically (no extra LLM call). - Skills as programs (PRECC’s mined + builtin rewrite skills) — Harnessing LLM Agents with Skill Programs, arXiv:2605.17734. Frames reusable agent skills as executable program functions — the same analogy behind PRECC’s command-rewrite skills (a pattern → a deterministic rewrite).
- Context compression (PRECC’s
compress+lean-ctxwrapping) — Compress the Context, Keep the Commitments: A Formal Framework for Verifiable LLM Context Compression, arXiv:2605.17304. Recent work on compressing context without losing required information — the property PRECC’s deterministic, cache-stable rewrites aim to preserve.