Przewidywanie kosztu tokenów
PRECC dostarcza wyrocznię przewidywania kosztu tokenów, aby plany wieloetapowe można było budżetować w tokenach, a nie w czasie rzeczywistym. Zaloguj prognozę przed każdym krokiem, zapisz wartość rzeczywistą po zakończeniu pracy, a zestaw danych wytrenuje wbudowany predyktor, który z czasem staje się coraz lepszy.
Zaloguj prognozę
Podaj jednolinijkowy opis zaplanowanego kroku. PRECC kategoryzuje go (feat / fix / test / refactor / measurement / doc / chore / unknown), szacuje liczbę tokenów i drukuje id, którego użyjesz, by zamknąć pętlę.
$ 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>
Zapisz wartość rzeczywistą
Po zakończeniu kroku odszukaj rzeczywistą liczbę tokenów w stopce sesji lub w telemetrii i przekaż ją z powrotem przez id.
$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.
Trenuj trained-v1
Gdy masz co najmniej dziesięć zamkniętych prognoz, dopasuj regresję grzbietową trained-v1 dla log10(actual) względem log10(długość opisu) plus zmienna pozorna kategorii w kodowaniu one-hot. Dopasowanie ma postać zamkniętą (Cholesky na równaniach normalnych z ridge λ=1) i działa w milisekundach.
$ 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
Po wytrenowaniu każde nowe wywołanie precc predict automatycznie używa trained-v1, dopóki nie usuniesz lub nie zastąpisz pliku modelu. Stare prognozy zachowują oryginalną wartość model_version, dzięki czemu możesz porównywać predyktory w czasie.
Sprawdź dokładność predyktora
precc predict --eval raportuje średni bezwzględny błąd procentowy (MAPE) ogółem i według kategorii, obliczany tylko na zamkniętych prognozach (wiersze z wartościami zarówno prognozowanymi, jak i rzeczywistymi).
$ 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 ostatnich prognoz
precc predict --list pokazuje ostatnie wiersze w odwrotnym porządku chronologicznym. Otwarte wiersze (bez wartości rzeczywistej) są gotowe do zamknięcia.
$ 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...
Dlaczego tokeny, a nie czas rzeczywisty
Szacunki czasu są niemierzalne post-hoc i nie składają się między maszynami lub sesjami. Liczby tokenów są deterministyczne, porównywalne i powiększają etykietowany zbiór danych, który poprawia predyktor przy każdej zamkniętej pętli. Cały sens wyroczni polega na zamianie szacowania z gry w zgadywanie w pomiar.
Gdzie znajdują się dane
Wszystkie dane predykcji są przechowywane lokalnie na Twoim komputerze. Nic nie jest przesyłane.
~/.local/share/precc/
├── metrics.db — predictions table (oracle DB)
└── predict_model.json — trained-v1 coefficients (after `--train`)