Rutare ponderată după cost
Când sunt disponibile mai multe modele — Opus, Sonnet, Haiku sau modele locale în spatele unui gateway odysseus auto-găzduit — PRECC rutează fiecare sarcină către cel care minimizează costul în dolari așteptat, nu numărul de tokeni. Un token de la un model ieftin și un token de la unul scump nu au același cost; routerul optimizează dolarul, sub rezerva unui prag de succes măsurat și a unui prag de capabilitate per categorie.
Unitatea de cost este dolarul, nu tokenul
Pentru o sarcină din categoria c, peste modelele candidate m eligibile ca capabilitate, routerul minimizează costul ponderat după preț așteptat. E[$ | task, m] este costul mediu măsurat în tokeni al modelului pentru acea categorie înmulțit cu prețul său per token. O rulare Haiku care folosește mai mulți tokeni decât Opus poate totuși câștiga, deoarece Haiku este de câteva ori mai ieftin per token. Fiecare număr din obiectiv este fie măsurat (mediile de tokeni din oracol, succesul înregistrat, prețurile publicate ale modelelor), fie un prior etichetat explicit — niciodată fabricat.
choose argmin_m E[$ | task, m]
subject to P(success | task, m) >= min_success
capability(m) >= capability_floor(category)
Rutarea unei sarcini
precc route "<task>" clasifică sarcina, aplică pragul de capabilitate, clasează modelele eligibile după dolarii așteptați și afișează decizia. Cu --execute trimite sarcina către modelul ales prin API-ul de sesiune odysseus. Fiecare decizie este de asemenea inițializată în oracolul de predicție, astfel încât costul și rezultatul ei reale să poată fi înregistrate după ce rulează sarcina.
$ precc route "fix the broken parser"
category : fix (capability floor 0)
→ model : anthropic/claude-haiku-4-5 [Measured, confidence 0.60]
est. cost : $0.0096 (12000 tok)
reason : measured cheapest-capable for `fix` (by cost): claude-haiku-4-5
prediction : #42 (seeded; learner will auto-close after the task runs)
Economii în dolari
precc savings adaugă o secțiune în dolari ori de câte ori s-au finalizat sarcini rutate. Pentru fiecare sarcină rutată stabilește prețul tokenilor cheltuiți efectiv la tariful modelului ales și îi compară cu o referință cu modelul-implicit-mereu — tokenii ținuți fiși, variază doar prețul. Aceasta este perspectiva „taie costul, nu doar tokenii“; secțiunea rămâne ascunsă până când există date reale de rutare, astfel încât nu afișează niciodată rânduri fabricate.
$ precc savings
Routing cost (USD) — baseline: always claude-opus-4-5
claude-haiku-4-5 : 1 task(s) $ 0.0096 chosen vs $ 0.0600 baseline
claude-sonnet-4-6 : 1 task(s) $ 0.1200 chosen vs $ 0.2000 baseline
total : 2 task(s) $ 0.1296 chosen vs $ 0.2600 baseline
→ saved $0.1304 (50.2% of baseline spend)
Bucla de feedback
Rutarea se îmbunătățește singură: route → execute → record → retrain. Fiecare decizie de rutare este inițializată în oracol; daemonul de fundal precc-learner preia mesajul finalizat, înregistrează tokenii, modelul și succesul reale și închide rândul. Pe măsură ce tabelul per (model, category) se completează, routerul trece de la priorii cel-mai-ieftin-capabil la alegeri măsurate, iar predictorul de tokeni câștigă o dimensiune per model.
Explorare
Pentru a evita exploatarea pe vecie a unui singur model ieftin pe date învechite, routerul poate eșantiona în mod deliberat o celulă (model, category) insuficient explorată înaintea alegerii lacome. Explorarea este opțională, deterministă (fără aleatoriu — hook-ul trebuie să fie reproductibil) și mărginită: nu trece niciodată de pragurile de capabilitate sau de succes măsurat, iar un plafon de regret de preț o împiedică să rătăcească pe un model mult mai scump.
# ~/.config/precc/odysseus.toml
explore_n_min = 3 # sample each (model, category) cell ~3× before trusting it
explore_eps = 1.0 # allow up to 2× the cheapest price while exploring
Măsurat, niciodată presupus
Un model este exclus pentru că nu trece pragul de succes doar atunci când există dovezi măsurate că nu îl trece — un model nemăsurat nu este niciodată exclus pe baza unui număr ghicit. În lipsa datelor pentru o celulă, routerul revine la un prior conservator cel-mai-ieftin-capabil și etichetează decizia drept pornire la rece, astfel încât apelantul știe întotdeauna dacă alegerea se bazează pe dovezi sau pe un prior.