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

التوفير

يتتبع 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 إدخال 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 spentcost.total_cost_usdتكلفة الجلسة التراكمية المُبلَّغ عنها من قِبل Claude Codeنعم
1.2M in/outtotal_input_tokens + total_output_tokensرموز الإدخال غير المخزنة مؤقتاً + الإخراج عبر الجلسةنعم
📊 last cmd: −1.2Kقياس PRECC لأحدث أمر Bashالتوفير الحقيقي المُقاس من إعادة تشغيل الأصليلا (يستمر عبر الجلسات)
PRECC: 7 fixesmetrics.logعدد التصحيحات في هذه الجلسة — العدد فقط، بدون تقدير زائف للرموزنعم
5.8ms avgزمن استجابة PRECC hook p50الوقت الذي قضاه PRECC في معالجة كل استدعاء أداةنعم
bash 18% of totalpost_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 إظهار الجزء المرئي فقط (غير المؤقت).

في الجلسات الطويلة التي تحتوي على إعادة قراءة كثيفة للملفات، قد تصل قراءات الذاكرة المؤقتة إلى 10 أضعاف عدد الرموز المرئية. لهذا السبب سيكون اقترانهما كنسبة مضللاً — يعرضهما PRECC كمقاطع مستقلة بدلاً من ذلك.

لماذا لا يحسب PRECC التكلفة

رقم التكلفة موثوق. يقرأ PRECC cost.total_cost_usd حرفياً من JSON الذي يضخّه Claude Code عبر stdin إلى أمر الحالة. وهو نفس الرقم الذي يخصمه Claude Code من اشتراكك/ميزانية استخدامك. يمكنك التحقق منه في أي وقت باستخدام الأمر المائل المدمج /cost — يجب أن يتطابقا.

ما الذي يقود التكلفة

بالنسبة لـ 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

أكبر العوامل في الجلسات الطويلة عادةً هي رموز الإخراج (النوع الأغلى لكل رمز، خصوصاً في مستوى السياق 1M)، وقراءات الذاكرة المؤقتة المتكررة (رخيصة بشكل فردي ولكنها تتراكم بسرعة عبر دورات كثيرة)، وإنشاءات الذاكرة المؤقتة (تُكتب مرة واحدة لكل قراءة ملف بمعدل ~1.25× من معدل الإدخال الأساسي). يقلّص PRECC تكلفة الرموز المرئية عبر ضغط إخراج Bash (يُظهر مقطع 📊 last cmd: التوفير لكل أمر)، لكنه لا يستطيع تقليل قراءات الذاكرة المؤقتة للملفات التي حمّلها Claude بالفعل.

عدّادات جلسة مستقرة

يحسب مقطع “PRECC: N fixes” الأحداث منذ بداية الجلسة المُحفوظة، التي تُكتب إلى ~/.local/share/precc/sessions/<session_id>.start عند أول تحديث للـ statusline في كل جلسة. هذا يجعل العدّ رتيباً — لا يمكن أن ينخفض في منتصف الجلسة حتى لو كان cost.total_duration_ms مفقوداً في تحديث معين.

لقطة العمر الكلي المحدّثة تلقائياً

يقرأ المقطع lifetime: من ~/.local/share/precc/.lifetime_summary.json، الذي يُعاد كتابته في كل قياس PostToolUse وفي كل استدعاء لـ precc savings. يقرأ المقطع this session: نفس ملف العمر لكنه يطرح خط أساس لكل جلسة محفوظ في أول تحديث لكل جلسة. لا حاجة للتحديث اليدوي — تتحدث الملفات تلقائياً.

إخفاء شريط الحالة

إذا كنت تفضل الاحتفاظ بشريط الحالة الحالي، فعيّن أمر statusLine الخاص بك في ~/.claude/settings.json. سيكتشف مثبّت PRECC القيمة المخصصة ويتركها كما هي في التحديثات اللاحقة.

لإخفاء سطر 📊 PRECC لكل تفاعل فقط (في additionalContext)، عيّن PRECC_QUIET=1 في بيئة الشِل لديك.

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.