Previsione del costo in token
PRECC include un oracolo di previsione del costo in token affinché i piani a più passi possano essere preventivati in token, non in tempo reale. Registra una previsione prima di ogni passo, annota il valore effettivo a lavoro concluso, e il dataset addestra un predittore integrato che migliora nel tempo.
Registra una previsione
Passa una descrizione di una riga del passo pianificato. PRECC lo categorizza (feat / fix / test / refactor / measurement / doc / chore / unknown), stima un conteggio di token e stampa un id che userai per chiudere il ciclo.
$ 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>
Registra il valore effettivo
Dopo il completamento del passo, recupera il conteggio effettivo dei token dal piè di pagina della sessione o dalla telemetria e restituiscilo tramite l’id.
$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.
Addestra trained-v1
Quando hai almeno dieci previsioni chiuse, adatta la regressione ridge trained-v1 su log10(actual) rispetto a log10(lunghezza della descrizione) più una variabile dummy categorica one-hot. L’adattamento è in forma chiusa (Cholesky sulle equazioni normali con ridge λ=1) ed è eseguito in millisecondi.
$ 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
Dopo l’addestramento, ogni nuova chiamata precc predict usa automaticamente trained-v1 finché non rimuovi o sostituisci il file del modello. Le previsioni vecchie mantengono la loro model_version originale, così puoi confrontare i predittori nel tempo.
Ispeziona l’accuratezza del predittore
precc predict --eval riporta l’errore percentuale assoluto medio (MAPE) complessivo e per categoria, calcolato solo sulle previsioni chiuse (righe con valori sia previsti che effettivi).
$ 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%
...
Elenca previsioni recenti
precc predict --list mostra le righe recenti in ordine cronologico inverso. Le righe aperte (senza valore effettivo) sono pronte per essere chiuse.
$ 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...
Perché token e non tempo reale
Le stime di tempo sono non misurabili a posteriori e non si compongono tra macchine o sessioni. I conteggi di token sono deterministici, comparabili e fanno crescere un dataset etichettato che migliora il predittore a ogni ciclo chiuso. Lo scopo dell’oracolo è trasformare la stima da un gioco a indovinare in una misurazione.
Dove risiedono i dati
Tutti i dati di previsione sono archiviati localmente sulla tua macchina. Nulla viene caricato.
~/.local/share/precc/
├── metrics.db — predictions table (oracle DB)
└── predict_model.json — trained-v1 coefficients (after `--train`)