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

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:

KorrigeringstypUppskattad besparingResonemang
cd prepend~500 tokensFelutdata + Claude-resonemang + omförsök
Färdighetsaktivering~400 tokensFelutdata + Claude-resonemang + omförsök
RTK rewrite~250 tokensOrdrik utdata som Claude skulle ha behövt läsa
Lean-ctx wrap~600 tokensStora filinnehåll komprimerade
Inlärd prevention~500 tokensKä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:

SegmentKällaBetydelseÅterställs vid sessionsomstart?
$0.42 spentcost.total_cost_usdKumulativ sessionskostnad rapporterad av Claude CodeJa
1.2M in/outtotal_input_tokens + total_output_tokensIcke-cachade input- + output-tokens under sessionenJa
📊 last cmd: −1.2KPRECC-mätning av det senaste Bash-kommandotVerklig uppmätt besparing genom att köra originalet igenNej (kvarstår mellan sessioner)
PRECC: 7 fixesmetrics.logAntal korrigeringar denna session — endast antal, ingen falsk tokenuppskattningJa
5.8ms avgPRECC-hooklatens p50Tid PRECC lägger på att bearbeta varje verktygsanropJa
bash 18% of totalpost_observations.logAndel 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 − baselineVerklig 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.jsonAckumulerade besparade tokens och ommätta kommandon sedan PRECC först installerades, plus ett uppskattat USD-värde till aktuell tokenavgiftNej

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 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 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ö.

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.