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

Tokenkustannuksen ennustaminen

PRECC sisältää tokenkustannusten ennustusoraakkelin, jotta monivaiheiset suunnitelmat voidaan budjetoida tokeneina seinäkellon ajan sijaan. Kirjaa ennuste ennen jokaista vaihetta, tallenna toteutunut arvo työn valmistuttua, ja aineisto kouluttaa sisäänrakennettua ennustajaa, joka paranee ajan myötä.

Kirjaa ennuste

Anna yksirivinen kuvaus suunnitellusta vaiheesta. PRECC luokittelee sen (feat / fix / test / refactor / measurement / doc / chore / unknown), arvioi tokenien määrän ja tulostaa id:n, jolla suljet silmukan.

$ 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>

Kirjaa toteutunut arvo

Kun vaihe on valmis, etsi toteutunut tokenmäärä istunnon alatunnisteesta tai telemetriasta ja syötä se takaisin id:n kautta.

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

Kouluta trained-v1

Kun sinulla on vähintään kymmenen suljettua ennustetta, sovita trained-v1 ridge -regressio log10(actual)-arvolle suhteessa log10(kuvauksen pituus) plus one-hot-kategoriadummy. Sovitus on suljetussa muodossa (Cholesky normaaliyhtälöille ridge λ=1) ja suoritetaan millisekunneissa.

$ 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

Koulutuksen jälkeen jokainen uusi precc predict -kutsu käyttää automaattisesti trained-v1:tä, kunnes poistat tai korvaat mallitiedoston. Vanhat ennusteet säilyttävät alkuperäisen model_version-arvonsa, joten voit verrata ennustajia ajan myötä.

Tarkasta ennustajan tarkkuus

precc predict --eval raportoi keskimääräisen absoluuttisen prosenttivirheen (MAPE) kokonaisuudessaan ja kategoriakohtaisesti, laskettuna vain suljetuista ennusteista (rivit, joissa on sekä ennustettu että toteutunut arvo).

$ 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%
  ...

Listaa viimeisimmät ennusteet

precc predict --list näyttää viimeisimmät rivit käänteisessä aikajärjestyksessä. Avoimet rivit (ilman toteutunutta arvoa) ovat valmiita suljettavaksi.

$ 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...

Miksi tokenit eivätkä seinäkellon aika

Aika-arviot eivät ole mitattavissa jälkikäteen, eivätkä ne yhdisty koneiden tai istuntojen välillä. Tokenmäärät ovat deterministisiä, vertailukelpoisia ja kasvattavat merkittyä aineistoa, joka parantaa ennustajaa jokaisen suljetun silmukan jälkeen. Oraakkelin koko tarkoitus on muuttaa arviointi arvauspelistä mittaukseksi.

Missä tiedot sijaitsevat

Kaikki ennustetiedot tallennetaan paikallisesti koneellesi. Mitään ei ladata.

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