Waarom routing-beslissingen deterministisch moeten zijn
Als je een routing-beslissing niet kan reproduceren, kan je hem niet auditen. Dat is het hele argument voor waarom de router van Soriku deterministisch is, niet kansgestuurd, en het kostte meer tijd om te bouwen dan een router die gewoon pakt wat op dat moment het snelste voelt.
Een routing-beslissing die je niet kan reproduceren is een beslissing die niemand achteraf nog kan verdedigen. Vraagt een klant waarom hun security review naar het ene model ging in plaats van het andere, of stelt een toezichthouder dezelfde vraag in een formelere toon, dan is "het leek op dat moment een goed idee" geen antwoord. "We weten het niet zeker, misschien doet hij het anders als je het nog eens draait" ook niet.
Dezelfde input, dezelfde uitkomst, elke keer
De regel is simpel te formuleren: dezelfde prompt, getoetst aan dezelfde capability map, onder dezelfde randvoorwaarden, gaat elke keer naar hetzelfde model. Het enige wat een routing-beslissing verandert is de capability map zelf die verandert, en een nieuwe meting draagt altijd een tijdstempel. Tijdstip van de dag, serverbelasting, of welk model toevallig warm in het geheugen staat krijgen geen stem.
Een herbenchmark is een bewuste, gelogde gebeurtenis, geen stille achtergrondgebeurtenis die je routing-tabel herschikt zonder het je te vertellen. Verschuift de score van een model, dan zie je wanneer dat gebeurde en waarom de beslissing die eerst bij model A uitkwam nu bij model B uitkomt.
Gelijkspel wordt niet met een muntje beslist
Twee modellen landen soms dicht genoeg bij elkaar op een categorie dat het verschil binnen de spreiding van de meting zelf valt. Dat is geen gat voor toeval om te vullen. Een vaste prioriteitsvolgorde beslist het, elke keer op dezelfde manier, zodat een bijna-gelijkspel vandaag hetzelfde uitpakt als gisteren. We houden de tie-break-regel met opzet saai. Een interessante tie-break is het eerste wat reproduceerbaarheid breekt.
Vergelijk dat met routing die op load balancing of gevoel gebouwd is: hetzelfde verzoek, verstuurd op dinsdag en op woensdag, kan bij een ander model uitkomen om redenen die niets met de prompt te maken hebben, welke server toevallig vrij was, welk model al geladen stond. Dat is een redelijk ontwerp om belasting te spreiden. Het past slecht bij een beslissing die je zes maanden later misschien moet uitleggen.
Elk antwoord draagt zijn eigen papertrail
Elk antwoord dat Soriku teruggeeft komt met het model dat het maakte, de score waarop het gekozen werd, en de categorie waarop die score gemeten is. Dat is geen debug-functie die er later bij geschroefd is voor developers, het is precies de informatie die een menselijke beoordelaar nodig heeft om de beslissing achteraf te checken, zonder iets opnieuw te hoeven draaien.
Determinisme maakt de router niet slimmer. Het maakt hem iets waar je achter kan staan, en dat blijkt zwaarder te wegen dan slim zijn op één enkel verzoek.