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`)