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

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