Jev tegenover een LLM
Ze strijden niet om dezelfde baan. Een LLM schrijft; Jev beslist. De nuttige vergelijking is niet welke slimmer is, maar wat je code met het antwoord moet doen — en dat verschil is groot genoeg om te veranderen hoe het programma eromheen geschreven wordt.
Dezelfde beslissing, op beide manieren geschreven
Routeer een supportticket naar een van vier wachtrijen. Zo veel kost elke kant je werkelijk aan code.
Met een taalmodel
const res = await llm.chat({
messages: [{ role: "user", content:
`Route this ticket. Reply with JSON: {"queue": "Billing"|"Technical"|"Account"|"Sales"}
Ticket: ${ticket}` }],
response_format: { type: "json_object" }
});
let queue;
try {
queue = JSON.parse(res.content).queue; // may not be JSON
} catch {
return retry(); // ...so there is a retry
}
if (!QUEUES.includes(queue)) return retry(); // may be a queue you never had
// and no idea how close the call wasMet Jev
const { answers } = await jev.systemOne({
state: ticket,
model: "jev-latest",
questions: { queue: { type: "choice", instructions:
"Which team should own this ticket?", criteria: QUEUES } }
});
const { choice, probabilities, confidence } = answers.queue;
// choice is one of QUEUES. It cannot be anything else.
if (confidence < 0.7) return humanReview(ticket, probabilities);
route(choice);De retry-lus is het verklikkertje. Hij bestaat in de eerste versie omdat het antwoord als tekst binnenkomt die misschien niet parset, of parset naar een wachtrij die nooit op de lijst stond. In de tweede heeft hij geen plek: het antwoord is per constructie een van QUEUES. Wat ervoor in de plaats komt is een heel andere tak — een die afgaat wanneer het model onzeker is in plaats van wanneer het misvormd is.
Wat de tweede versie kan zien
Dat ticket, echt door Jev gehaald. De winnaar verrast niet; de nummer twee is het deel dat een kaal label had weggegooid.
Techniek wint met 87%, maar Account houdt 13% vast — en dat is precies de juiste onenigheid, want een SSO-storing zit echt op de grens tussen die twee. Een kaal label had dat verborgen. Als verkeerd routeren geld kost, is 13% het getal om een drempel op te zetten.
Naast elkaar
- Wat je stuurt
- Jev
Eén state plus een kaart van getypeerde vragen.
LLMEen prompt, die het schema en de regels meestal als proza meedraagt.
- Wat terugkomt
- Jev
Eén getypeerd antwoord per vraag, met een kans voor elke optie.
LLMTekst. JSON als je netjes vroeg en de modus wordt ondersteund.
- Je volgende regel code
- Jev
Een switch op een waarde die alleen een van de jouwe kan zijn.
LLMEen parse, dan een validatie, dan een tak voor als een van beide faalde.
- Hoe het misgaat
- Jev
Het kan zich vergissen over je tekst. Het kan geen vorm teruggeven die je niet hebt bepaald.
LLMHet kan zich ook vergissen in de vorm — een ontbrekend veld, een label dat je nooit noemde, proza om de JSON heen.
- Tien dingen vragen
- Jev
Tien vragen in één verzoek, parallel tegen de state afgewogen.
LLMEén overvolle prompt, of tien aanroepen.
- Onzekerheid
- Jev
Een verdeling en een vertrouwenswaarde, bij elke Choice en elke Score.
LLMWat de tekst zelf over haar zekerheid beweert.
De cijfers
TypeSafe publiceert deze; het zijn cijfers van de leverancier, geen metingen van ons.
reactie van begin tot eind, tegenover 3–329 s voor topmodellen
sneller bij vragen met een Systeem Een-vorm
per miljoen invoertokens, uitvoer gratis
Wat wij wel kunnen meten: over 14 runs die via deze site zijn gedaan, is de mediane heen-en-terugtijd 329 ms — en de meeste van die verzoeken droegen negen vragen, niet één.
Wanneer de LLM het juiste gereedschap is
Meestal, als wat je nodig hebt taal is. Jev heeft geen mening die het kan uitleggen en niets te zeggen.
- Je hebt proza nodig — een antwoord, een samenvatting, een commit-bericht, een uitleg van de beslissing in plaats van de beslissing.
- Je hebt code nodig, of een plan, of iets open waarbij de verzameling antwoorden voor de aanroep niet vaststaat.
- De verzameling mogelijke antwoorden is echt onbegrensd. Een willekeurige naam eruit halen is geen Choice over 255 opties.
- Je hebt een redeneerketen nodig die je kunt inspecteren. Jev geeft een oordeel terug, niet de stappen erachter.
- Het volume is klein en de vorm is los. Een retry-lus die twee keer per dag draait is het niet waard om weg te ontwerpen.
De twee vullen elkaar beter aan dan dat ze concurreren. TypeSafe kadert het zelf als Systeem Een voor het snelle gestructureerde oordeel en een gewoon model als Systeem Twee daarachter — zeef de invoer met een Noul, routeer met een Choice en geef wat overblijft door aan het model dat echt kan schrijven.
Verder lezen
Doe de vergelijking zelf
Plak een ticket, een concept, een prompt — wat je anders in een parse-lus zou hebben verpakt — en zie negen getypeerde antwoorden terugkomen uit één verzoek.
Speeltuin openen