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

Kostnadsviktad routning

När flera modeller är tillgängliga — Opus, Sonnet, Haiku eller lokala modeller bakom en självhostad odysseus-gateway — dirigerar PRECC varje uppgift till den som minimerar den förväntade dollarkostnaden, inte antalet token. En token från en billig modell och en token från en dyr modell har inte samma kostnad; routern optimerar dollarn, med förbehåll för ett uppmätt golv för lyckade resultat och ett kapacitetsgolv per kategori.

En dollar, inte en token, är kostnadsenheten

För en uppgift av kategori c, över de kapacitetsberättigade kandidatmodellerna m, minimerar routern den förväntade prisviktade kostnaden. E[$ | task, m] är modellens uppmätta genomsnittliga tokenkostnad för den kategorin multiplicerad med dess pris per token. En Haiku-körning som använder fler token än Opus kan ändå vinna, eftersom Haiku är flera gånger billigare per token. Varje tal i målfunktionen är antingen uppmätt (orakelns tokenmedelvärden, registrerade lyckade resultat, publicerade modellpriser) eller en uttryckligen märkt förhandsantagande — aldrig påhittat.

choose argmin_m   E[$ | task, m]
       subject to  P(success | task, m) >= min_success
                   capability(m) >= capability_floor(category)

Routa en uppgift

precc route "<task>" kategoriserar uppgiften, tillämpar kapacitetsgolvet, rangordnar de berättigade modellerna efter förväntade dollar och skriver ut beslutet. Med --execute skickas uppgiften till den valda modellen via odysseus session-API:et. Varje beslut sås också in i prediktionsoraklet så att dess verkliga kostnad och resultat kan registreras efter att uppgiften körts.

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

Dollarbesparingar

precc savings lägger till en dollarsektion närhelst routade uppgifter har slutförts. För varje routad uppgift prissätter den de token som faktiskt spenderats till den valda modellens taxa och jämför dem mot en baslinje med alltid standardmodellen — token hålls fasta, endast priset varierar. Detta är vyn “sänk kostnaden, inte bara token”; sektionen förblir dold tills verkliga routade data finns, så den visar aldrig påhittade rader.

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

Återkopplingsslingan

Routningen förbättrar sig själv: route → execute → record → retrain. Varje routat beslut sås in i oraklet; bakgrundsdaemonen precc-learner hämtar det slutförda meddelandet, registrerar de faktiska tokenen, modellen och resultatet och stänger raden. När tabellen per (model, category) fylls i går routern från förhandsantaganden om billigast-kapabel till uppmätta val, och tokenprediktorn får en dimension per modell.

Utforskning

För att undvika att exploatera en billig modell för alltid på inaktuella data kan routern medvetet sampla en underutforskad (model, category)-cell innan det giriga valet. Utforskning är frivillig, deterministisk (ingen slumpmässighet — hooken måste vara reproducerbar) och avgränsad: den korsar aldrig kapacitets- eller uppmätt-lyckade-golven, och ett tak för prisångest hindrar den från att hamna på en betydligt dyrare modell.

# ~/.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

Uppmätt, aldrig antaget

En modell utesluts endast för att den inte klarar golvet för lyckade resultat när det finns uppmätta belägg för att den inte gör det — en omätt modell utesluts aldrig baserat på ett gissat tal. Utan data för en cell faller routern tillbaka på ett konservativt förhandsantagande om billigast-kapabel och märker beslutet som en kallstart, så att den anropande alltid vet om valet vilar på belägg eller på ett förhandsantagande.