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

Token maliyeti tahmini

PRECC, çok adımlı planların duvar saati yerine token cinsinden bütçelenebilmesi için bir token maliyeti tahmin kahini sunar. Her adımdan önce bir tahmin kaydedin, iş bittikten sonra gerçek değeri girin; veri kümesi yerleşik bir tahminciyi eğitir ve bu tahminci zaman içinde iyileşir.

Bir tahmin kaydet

Planlanan adımın tek satırlık açıklamasını verin. PRECC bunu kategorilere ayırır (feat / fix / test / refactor / measurement / doc / chore / unknown), bir token sayısı tahmin eder ve döngüyü kapatmak için kullanacağınız bir id yazdırır.

$ precc predict "Implement read-deltas with mtime check"
id=42 category=feat predicted=5680 tokens (confidence=0.50, model=trained-v1)
Record actual when done: precc predict --record 42 <actual_tokens>

Gerçek değeri kaydet

Adım tamamlandıktan sonra, oturum altbilgisinden veya telemetriden gerçek token sayısını bulup id aracılığıyla geri iletin.

$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.

trained-v1’i eğit

En az on kapanmış tahmininiz olduğunda, trained-v1 ridge regresyonunu log10(actual) ile log10(açıklama uzunluğu) artı bir one-hot kategori kuklası üzerinde uygulayın. Uydurma kapalı formdadır (ridge λ=1 ile normal denklemler üzerinde Cholesky) ve milisaniyeler içinde çalışır.

$ precc predict --train
Trained trained-v1 on 22 closed predictions (λ=1).
  Model file : ~/.local/share/precc/predict_model.json
  Confidence : 0.50
  Intercept  :  +1.0016
  log_desc   :  +1.2339
  Categories :
    unknown       +0.4811
    doc           +0.4474
    measurement   +0.3422
    test          +0.1071
    refactor      +0.0326
    feat          +0.0071
    fix           -0.1096
    chore         -0.3063

Eğitimden sonra, model dosyasını kaldırana veya değiştirene kadar her yeni precc predict çağrısı otomatik olarak trained-v1’i kullanır. Eski tahminler özgün model_version değerlerini korur; böylece tahmincileri zaman içinde karşılaştırabilirsiniz.

Tahminci doğruluğunu inceleyin

precc predict --eval genel ortalama mutlak yüzde hatasını (MAPE) ve kategoriye göre olanı bildirir; yalnızca kapalı tahminler (hem tahmin hem de gerçek değer içeren satırlar) üzerinden hesaplanır.

$ precc predict --eval
Predictions logged   : 30
With actuals (closed): 22
Mean predicted       :     1483 tokens
Mean actual          :    47238 tokens
MAPE (statistical)   :     76.4%

By category:
  category        n   predicted      actual    MAPE
  feat            6        4605        5250   26.2%
  unknown         4        1597       30526   52.6%
  test            4         924       38900   56.4%
  ...

Son tahminleri listele

precc predict --list son satırları ters kronolojik sırayla gösterir. Açık satırlar (gerçek değeri olmayan) kapatılmaya hazırdır.

$ precc predict --list --limit 5
id    ts                   category       predicted     actual  conf description
30    2026-05-09 09:40:51  feat                5348          -  0.50 Run the synthetic-fleet pilot...
29    2026-05-09 08:56:48  test                1050          -  0.60 Train predictor: trained-v1...
28    2026-05-09 07:44:18  test                 915     150000  0.60 Implement minimal task-12...

Neden duvar saati değil tokenler

Zaman tahminleri olay sonrasında ölçülemez ve makineler ya da oturumlar arasında bir araya getirilemez. Token sayıları belirleyici, karşılaştırılabilir niteliktedir ve her kapanan döngüde tahminciyi iyileştiren etiketli bir veri kümesini büyütür. Kahin’in tüm amacı tahminciliği bir tahmin oyunundan bir ölçüme dönüştürmektir.

Verilerin tutulduğu yer

Tüm tahmin verileri makinenizde yerel olarak saklanır. Hiçbir şey yüklenmez.

~/.local/share/precc/
├── metrics.db                — predictions table (oracle DB)
└── predict_model.json        — trained-v1 coefficients (after `--train`)