Förutsägelse av tokenkostnad
PRECC innehåller ett orakel för tokenkostnadsförutsägelse så att flerstegsplaner kan budgeteras i tokens istället för väggklockstid. Logga en förutsägelse före varje steg, registrera det verkliga värdet efter att arbetet är klart, och datamängden tränar en inbyggd förutsägare som förbättras över tid.
Logga en förutsägelse
Skicka in en enradsbeskrivning av det planerade steget. PRECC kategoriserar det (feat / fix / test / refactor / measurement / doc / chore / unknown), uppskattar ett tokenantal och skriver ut ett id som du använder för att stänga slingan.
$ 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>
Registrera det verkliga värdet
När steget är klart, leta upp det verkliga tokenantalet i sessionens sidfot eller telemetri och skicka tillbaka det via id:t.
$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.
Träna trained-v1
När du har minst tio stängda förutsägelser, anpassa trained-v1-ridgeregressionen på log10(actual) mot log10(beskrivningslängd) plus en one-hot-kategoridummy. Anpassningen är i sluten form (Cholesky på normalekvationerna med ridge λ=1) och körs på millisekunder.
$ 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
Efter träningen använder varje nytt precc predict-anrop automatiskt trained-v1 tills du tar bort eller ersätter modellfilen. Gamla förutsägelser behåller sin ursprungliga model_version så att du kan jämföra förutsägare över tid.
Granska förutsägarens noggrannhet
precc predict --eval rapporterar det genomsnittliga absoluta procentuella felet (MAPE) totalt och per kategori, beräknat endast över stängda förutsägelser (rader med både förutsagda och verkliga värden).
$ 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%
...
Lista senaste förutsägelser
precc predict --list visar de senaste raderna i omvänd kronologisk ordning. Öppna rader (utan verkligt värde) är redo att stängas.
$ 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...
Varför tokens, inte väggklockstid
Tidsuppskattningar är inte mätbara i efterhand och kan inte komponeras mellan maskiner eller sessioner. Tokenantal är deterministiska, jämförbara och låter en märkt datamängd växa, vilket förbättrar förutsägaren vid varje stängd slinga. Hela poängen med oraklet är att omvandla uppskattning från ett gissningsspel till en mätning.
Var data lagras
All förutsägelsedata lagras lokalt på din maskin. Inget laddas upp.
~/.local/share/precc/
├── metrics.db — predictions table (oracle DB)
└── predict_model.json — trained-v1 coefficients (after `--train`)