Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Besparingen

PRECC houdt geschatte tokenbesparingen bij van elke onderschepping. Gebruik precc savings om te zien hoeveel verspilling PRECC heeft voorkomen.

Snel overzicht

$ 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)

Gedetailleerd overzicht (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>%

Hoe besparingen worden geschat

Elk correctietype heeft een geschatte tokenkost op basis van wat er zonder PRECC zou zijn gebeurd:

CorrectietypeGeschatte besparingRedenering
cd prepend~500 tokensFoutuitvoer + Claude-redenering + herpoging
Vaardigheidactivatie~400 tokensFoutuitvoer + Claude-redenering + herpoging
RTK rewrite~250 tokensUitgebreide uitvoer die Claude zou moeten lezen
Lean-ctx wrap~600 tokensGrote bestandsinhoud gecomprimeerd
Gemijnde preventie~500 tokensBekend faalpatroon vermeden

Dit zijn conservatieve schattingen. Werkelijke besparingen zijn vaak hoger omdat Claude’s redenering over fouten uitgebreid kan zijn.

Cumulatieve besparingen

Besparingen blijven bewaard over sessies in de PRECC-database. Na verloop van tijd kunt u de totale impact volgen:

$ 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

Statusbalk

Na installatie voegt PRECC een statusLine-item toe aan ~/.claude/settings.json zodat de statusbalk van Claude Code live-sessiemetingen toont:

$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)

Stel PRECC_LANG in om de labels in jouw taal weer te geven — zie het hoofdstuk Lokalisatie.

Elk segment:

SegmentBronBetekenisWordt gereset bij sessie-herstart?
$0.42 spentcost.total_cost_usdCumulatieve sessiekosten gerapporteerd door Claude CodeJa
1.2M in/outtotal_input_tokens + total_output_tokensNiet-gecachete invoer- + uitvoertokens over de sessieJa
📊 last cmd: −1.2KPRECC-meting van het meest recente Bash-commandoWerkelijke gemeten besparing door het origineel opnieuw uit te voerenNee (blijft behouden tussen sessies)
PRECC: 7 fixesmetrics.logAantal correcties deze sessie — alleen aantal, geen valse tokenschattingJa
5.8ms avgPRECC-hooklatentie p50Tijd die PRECC besteedt aan elke tool-aanroepJa
bash 18% of totalpost_observations.logAandeel sessietokens afkomstig van Bash-uitvoer — verduidelijkt waarom PRECC’s besparingen natuurlijk slechts een fractie van de totale kosten zijn (PRECC optimaliseert alleen Bash-uitvoer)Ja
this session: 320 saved over 7 cmds (~$0.05).lifetime_summary.json − baselineWerkelijke delta per sessie. Verborgen als de delta nul is (sessiestart)Ja (basislijn wordt opnieuw vastgelegd)
lifetime: 8.9K saved over 217 cmds (~$2.85).lifetime_summary.jsonCumulatief bespaarde tokens en hermeten commando’s sinds PRECC voor het eerst werd geïnstalleerd, plus een geschatte USD-waarde tegen het huidige tarief per tokenNee

Het lifetime:-segment staat als laatste, zodat het als eerste wordt afgekapt als de UI van Claude Code de balk aan de rechterrand afsnijdt.

Waarom kosten en tokenaantal niet delen

De weergegeven 1.2M in/out is niet de noemer die $0.42 spent heeft opgeleverd. Claude Codes cost.total_cost_usd wordt berekend uit de volledige token-uitsplitsing van de API — basis-invoer, uitvoer, plus cache-leesbewerkingen en cache-creaties. De sessie-brede cumulatieve cache-tokenaantallen zijn niet beschikbaar in het statusline-schema, dus PRECC kan alleen het zichtbare (niet-cache) deel tonen.

In lange sessies met veel bestand-herlezingen kunnen cache-leesbewerkingen 10× het zichtbare tokenaantal zijn. Daarom zou ze koppelen als verhouding misleidend zijn — PRECC toont ze in plaats daarvan als onafhankelijke segmenten.

Waarom PRECC de kosten niet berekent

Het kostenbedrag is gezaghebbend. PRECC leest cost.total_cost_usd letterlijk uit de JSON die Claude Code via stdin in het statuscommando pipet. Dat is hetzelfde bedrag dat Claude Code afschrijft van je abonnement/gebruiksbudget. Je kunt het op elk moment verifiëren met het ingebouwde /cost-slash-commando — beide zouden moeten overeenkomen.

Wat de kosten bepaalt

Voor Claude Opus 4.6:

Token typeStandard (≤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

De grootste drijfveren bij lange sessies zijn meestal uitvoertokens (het duurste type per token, vooral op de 1M-contextlaag), herhaalde cache-leesbewerkingen (individueel goedkoop maar snel oplopend over vele beurten), en cache-creaties (eenmaal per bestandslezing geschreven aan ~1.25× het basisinvoertarief). PRECC vermindert de zichtbare tokenkosten door Bash-uitvoer te comprimeren (het segment 📊 last cmd: toont de besparing per commando), maar kan cache-leesbewerkingen van bestanden die Claude al heeft geladen niet verminderen.

Stabiele sessietellingen

Het segment “PRECC: N fixes” telt gebeurtenissen sinds het persistente begin van de sessie, geschreven naar ~/.local/share/precc/sessions/<session_id>.start bij de eerste statusline-vernieuwing van elke sessie. Dit maakt de telling monotoon — deze kan niet halverwege de sessie dalen, zelfs niet als cost.total_duration_ms ontbreekt bij een bepaalde vernieuwing.

Automatisch vernieuwde levensduur-snapshot

Het lifetime:-segment leest ~/.local/share/precc/.lifetime_summary.json, dat bij elke PostToolUse-meting en bij elke precc savings-aanroep wordt herschreven. Het this session:-segment leest hetzelfde lifetime-bestand maar trekt er een per-sessie basislijn af die bij de eerste vernieuwing van elke sessie wordt gepersisteerd. Geen handmatige vernieuwing nodig — de bestanden updaten zichzelf.

De statusbalk onderdrukken

Als je liever je bestaande statusbalk behoudt, stel dan je eigen statusLine-commando in in ~/.claude/settings.json. PRECC’s installatieprogramma detecteert de aangepaste waarde en laat deze met rust bij volgende updates.

Om alleen de 📊 PRECC-regel per interactie (in additionalContext) te onderdrukken, stel PRECC_QUIET=1 in je shell-omgeving in.

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-ctx wrapping) — 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.