صرفهجویی
PRECC صرفهجویی تخمینی توکنها را از هر رهگیری پیگیری میکند. از precc savings برای مشاهده میزان اتلاف جلوگیریشده استفاده کنید.
خلاصه سریع
$ 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 یک ورودی statusLine در ~/.claude/settings.json اضافه میکند تا نوار وضعیت 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 | اندازهگیری PRECC برای آخرین دستور Bash | صرفهجویی واقعی اندازهگیریشده از اجرای مجدد دستور اصلی | خیر (در بین جلسات حفظ میشود) |
PRECC: 7 fixes | metrics.log | تعداد اصلاحات در این جلسه — فقط تعداد، بدون تخمین جعلی توکن | بله |
5.8ms avg | تأخیر hook 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، بهعلاوه ارزش تقریبی به دلار با نرخ فعلی هر توکن | خیر |
بخش lifetime: در انتها قرار میگیرد تا اگر رابط Claude Code نوار را از لبه راست برش دهد، اولین موردی باشد که حذف میشود.
چرا هزینه و تعداد توکن قابل تقسیم نیستند
1.2M in/out نمایشدادهشده مخرج کسری نیست که $0.42 spent را تولید کرده باشد. cost.total_cost_usd از Claude Code از تفکیک کامل توکنهای API محاسبه میشود — ورودی پایه، خروجی، بهعلاوه خواندن کش و ایجاد کش. تعداد توکنهای تجمعی کش در کل جلسه در طرح statusline ارائه نمیشود، بنابراین PRECC فقط میتواند بخش قابلمشاهده (غیرکش) را نمایش دهد.
در جلسات طولانی با خواندن مکرر فایلها، خواندن کش میتواند ۱۰ برابر تعداد توکن قابلمشاهده باشد. به همین دلیل جفتکردن آنها بهصورت نسبت گمراهکننده خواهد بود — PRECC در عوض آنها را بهعنوان بخشهای مستقل نمایش میدهد.
چرا PRECC هزینه را محاسبه نمیکند
عدد هزینه معتبر است. PRECC مقدار cost.total_cost_usd را بهصورت کلمهبهکلمه از JSON که Claude Code از طریق stdin به دستور وضعیت میفرستد میخواند. این همان عددی است که 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.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 را میخواند اما یک خط پایه بهازای هر جلسه را که در اولین بهروزرسانی هر جلسه پایدار شده، کسر میکند. نیازی به بهروزرسانی دستی نیست — فایلها خودشان بهروز میشوند.
حذف نوار وضعیت
اگر ترجیح میدهید نوار وضعیت فعلی خود را نگه دارید، دستور statusLine خود را در ~/.claude/settings.json تنظیم کنید. نصبکننده 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.