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

Token-Kosten-Vorhersage

PRECC liefert ein Orakel zur Vorhersage von Token-Kosten, damit mehrstufige Pläne in Tokens budgetiert werden können, nicht in Echtzeit. Protokollieren Sie eine Vorhersage vor jedem Schritt, erfassen Sie den Istwert nach Abschluss der Arbeit, und der Datensatz trainiert einen eingebauten Prädiktor, der sich mit der Zeit verbessert.

Vorhersage protokollieren

Übergeben Sie eine einzeilige Beschreibung des geplanten Schritts. PRECC kategorisiert ihn (feat / fix / test / refactor / measurement / doc / chore / unknown), schätzt eine Tokenanzahl und gibt eine id aus, mit der Sie den Kreislauf schließen.

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

Istwert erfassen

Nachdem der Schritt abgeschlossen ist, ermitteln Sie die tatsächliche Tokenanzahl aus der Sitzungsfußzeile oder der Telemetrie und übergeben Sie diese über die id zurück.

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

trained-v1 trainieren

Sobald Sie mindestens zehn geschlossene Vorhersagen haben, passen Sie die trained-v1 Ridge-Regression auf log10(actual) gegen log10(Beschreibungslänge) plus einen One-Hot-Kategoriewert an. Die Anpassung ist geschlossen-formig (Cholesky auf den Normalgleichungen mit Ridge λ=1) und läuft in Millisekunden.

$ 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

Nach dem Training verwendet jeder neue precc predict-Aufruf automatisch trained-v1, bis Sie die Modelldatei entfernen oder ersetzen. Alte Vorhersagen behalten ihre ursprüngliche model_version, damit Sie Prädiktoren über die Zeit vergleichen können.

Genauigkeit des Prädiktors prüfen

precc predict --eval meldet den mittleren absoluten prozentualen Fehler (MAPE) insgesamt und pro Kategorie, berechnet nur über geschlossene Vorhersagen (Zeilen mit sowohl vorhergesagten als auch tatsächlichen Werten).

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

Aktuelle Vorhersagen auflisten

precc predict --list zeigt aktuelle Zeilen in umgekehrter chronologischer Reihenfolge. Offene Zeilen (ohne Istwert) sind bereit zum Schließen.

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

Warum Tokens und nicht Echtzeit

Zeitschätzungen sind im Nachhinein nicht messbar und lassen sich nicht über Maschinen oder Sitzungen hinweg zusammensetzen. Tokenzahlen sind deterministisch, vergleichbar und lassen einen gelabelten Datensatz wachsen, der den Prädiktor mit jeder geschlossenen Schleife verbessert. Der Sinn des Orakels ist es, Schätzung aus einem Ratespiel in eine Messung zu verwandeln.

Wo die Daten gespeichert sind

Alle Vorhersagedaten werden lokal auf Ihrem Rechner gespeichert. Nichts wird hochgeladen.

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