Besparingar
PRECC spårar uppskattade tokenbesparingar från varje uppfångning. Använd precc savings för att se hur mycket slöseri PRECC har förhindrat.
Snabb sammanfattning
$ 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)
Detaljerad uppdelning (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>%
Hur besparingar uppskattas
Varje korrigeringstyp har en uppskattad tokenkostnad baserat på vad som skulle ha hänt utan PRECC:
| Korrigeringstyp | Uppskattad besparing | Resonemang |
|---|---|---|
| cd prepend | ~500 tokens | Felutdata + Claude-resonemang + omförsök |
| Färdighetsaktivering | ~400 tokens | Felutdata + Claude-resonemang + omförsök |
| RTK rewrite | ~250 tokens | Ordrik utdata som Claude skulle ha behövt läsa |
| Lean-ctx wrap | ~600 tokens | Stora filinnehåll komprimerade |
| Inlärd prevention | ~500 tokens | Känt felmönster undvikit |
Dessa är konservativa uppskattningar. Faktiska besparingar är ofta högre eftersom Claudes resonemang om fel kan vara ordrika.
Kumulativa besparingar
Besparingar bevaras över sessioner i PRECC-databasen. Över tid kan du spåra den totala effekten:
$ 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
Statusrad
Efter installationen lägger PRECC till en statusLine-post i ~/.claude/settings.json så att Claude Codes statusrad visar live-sessionsmått:
$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)
Sätt PRECC_LANG för att visa etiketterna på ditt språk — se kapitlet om lokalisering.
Varje segment:
| Segment | Källa | Betydelse | Återställs vid sessionsomstart? |
|---|---|---|---|
$0.42 spent | cost.total_cost_usd | Kumulativ sessionskostnad rapporterad av Claude Code | Ja |
1.2M in/out | total_input_tokens + total_output_tokens | Icke-cachade input- + output-tokens under sessionen | Ja |
📊 last cmd: −1.2K | PRECC-mätning av det senaste Bash-kommandot | Verklig uppmätt besparing genom att köra originalet igen | Nej (kvarstår mellan sessioner) |
PRECC: 7 fixes | metrics.log | Antal korrigeringar denna session — endast antal, ingen falsk tokenuppskattning | Ja |
5.8ms avg | PRECC-hooklatens p50 | Tid PRECC lägger på att bearbeta varje verktygsanrop | Ja |
bash 18% of total | post_observations.log | Andel sessions-tokens från Bash-utdata — förklarar varför PRECC:s besparingar naturligt är en bråkdel av den totala kostnaden (PRECC optimerar endast Bash-utdata) | Ja |
this session: 320 saved over 7 cmds (~$0.05) | .lifetime_summary.json − baseline | Verklig delta per session. Dold när delta är noll (sessionsstart) | Ja (baslinjen tas om) |
lifetime: 8.9K saved over 217 cmds (~$2.85) | .lifetime_summary.json | Ackumulerade besparade tokens och ommätta kommandon sedan PRECC först installerades, plus ett uppskattat USD-värde till aktuell tokenavgift | Nej |
lifetime:-segmentet placeras sist så att det blir det första som trunkeras om Claude Codes gränssnitt klipper raden i högerkanten.
Varför kostnad och tokenantal inte går att dela
Det visade 1.2M in/out är inte nämnaren som gav $0.42 spent. Claude Codes cost.total_cost_usd beräknas från API:ets fullständiga tokenuppdelning — basinmatning, utmatning, plus cache-läsningar och cache-skapanden. De sessionsövergripande kumulativa cache-tokenantalen exponeras inte i statusline-schemat, så PRECC kan bara visa den synliga (icke-cache) delen.
I långa sessioner med många omläsningar av filer kan cache-läsningar vara 10× det synliga tokenantalet. Det är därför det skulle vara missvisande att para ihop dem som ett förhållande — PRECC visar dem i stället som oberoende segment.
Varför PRECC inte beräknar kostnaden
Kostnadssiffran är auktoritativ. PRECC läser cost.total_cost_usd ordagrant från den JSON som Claude Code skickar till statuskommandot via stdin. Det är samma siffra som Claude Code drar från din prenumerations-/användningsbudget. Du kan verifiera det när som helst med det inbyggda /cost-snedstreckskommandot — båda bör stämma överens.
Vad som driver kostnaden
För 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 |
De största drivkrafterna i långa sessioner är vanligtvis output-tokens (den dyraste typen per token, särskilt på 1M-kontexten), upprepade cache-läsningar (billiga enskilt men ackumuleras snabbt över många turer) och cache-skapanden (skrivs en gång per fil-läsning till ~1.25× basinmatningstaxan). PRECC minskar kostnaden för synliga tokens genom att komprimera Bash-utdata (segmentet 📊 last cmd: visar besparingen per kommando), men kan inte minska cache-läsningar av filer som Claude redan har laddat.
Stabila sessionsräknare
Segmentet “PRECC: N fixes” räknar händelser sedan den persisterade sessionsstarten, som skrivs till ~/.local/share/precc/sessions/<session_id>.start vid den första statusline-uppdateringen i varje session. Detta gör räkningen monoton — den kan inte minska mitt i sessionen även om cost.total_duration_ms saknas vid en viss uppdatering.
Automatiskt uppdaterad livstidssnapshot
lifetime:-segmentet läser ~/.local/share/precc/.lifetime_summary.json, som skrivs om vid varje PostToolUse-mätning och vid varje precc savings-anrop. this session:-segmentet läser samma lifetime-fil men subtraherar en per-sessions-baslinje som persisteras vid den första uppdateringen i varje session. Ingen manuell uppdatering behövs — filerna uppdaterar sig själva.
Undertrycka statusraden
Om du hellre vill behålla din befintliga statusrad, ställ in ditt eget statusLine-kommando i ~/.claude/settings.json. PRECC:s installerare upptäcker det anpassade värdet och rör det inte vid efterföljande uppdateringar.
För att enbart undertrycka 📊 PRECC-raden per interaktion (i additionalContext), sätt PRECC_QUIET=1 i din shell-miljö.
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.