smevals kjører eval-suiter mot flere modeller fra YAML-filer
Kjører små eval-suiter definert i YAML mot flere modellkonfigurasjoner og graderer resultatene i et eget steg etterpå.
«Jeg har prøvd å finne en tilnærming til evals jeg liker i flere år nå. smevals er min tredje iterasjon på ideen, og den føles riktig.» — Simon Willison
Willison publiserte verktøyet 31. juli, bygget sammen med Jesse Vincents forskningslab Prime Radiant. En eval i smevals er ganske enkelt en katalog med noen YAML-filer, og hele arbeidsflyten går gjennom uvx uten forutgående installasjon: uvx smevals run mot katalogen, med et -m-flagg per modell du vil måle, for eksempel gpt-5.5 og claude-opus-4.6 i samme kjøring.
Kjøring og gradering er bevisst skilt fra hverandre. Du kjører først, graderer etterpå med uvx smevals grade mot sjekkene du har definert, og kan gradere de samme kjøringene på nytt når kriteriene endrer seg. Resultatene utforskes i en lokal webserver med uvx smevals serve, eller bygges til statisk HTML med build-kommandoen slik at rapporten kan ligge hvor som helst.
For deg som bygger på modeller er dette skillet den viktigste detaljen. Modellkall koster penger og tid, mens kriteriene dine endrer seg langt oftere enn modellene gjør. Kan du re-gradere gamle kjøringer, får du stramme inn kravene uten å betale for inferens på nytt, og du kan sammenligne en ny modell mot et arkiv av svar du allerede har.
Selvdokumentasjon er en del av designet. uvx smevals docs skriver ut README-en, og arbeidsflyten Willison foreslår er å be kodeagenten din lese den og deretter bygge eval-suiten for deg. Han har selv brukt oppsettet til en suite som måler hvor godt modeller skriver haikuer, publisert som eksempelrapport.
Verktøyet dekker tre akser samtidig: modeller, prompter og hele agentoppsettet rundt dem. Det siste er ofte der forskjellene faktisk ligger for norske utviklere som bygger agenter, siden samme modell oppfører seg ulikt avhengig av hvilke verktøy den får og hvordan systemprompten er skrudd sammen.
Hva bør du gjøre?
- Kjør uvx smevals docs og la kodeagenten din lese README-en før du skriver den første evalen.
- Start med én sjekk som faktisk har feilet i produksjon hos deg, ikke en syntetisk oppgave.
- Bygg rapporten til statisk HTML og legg den ved endringene dine, så andre kan se hva som ble målt.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.