synops/docs/erfaringer/modell_benchmark.md
vegard fbb647b454 Oppdater benchmark-rapport: parallelle tester feilet, sekvensielt er nødvendig
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:28:52 +00:00

4.3 KiB
Raw Blame History

Erfaring: Modell-benchmark (mars 2026)

Testoppsett

Oppgave: Kodegjennomgang av synops-transcribe (441 linjer Rust). Prompt: "Hva gjør verktøyet? Er det bugs? Hva kan forbedres? Maks 300 ord."

Modeller: Haiku 4.5, Sonnet 4.6, Opus 4.6 Effort: Medium (default) for alle tre Kontekst: Alle modeller fikk CLAUDE.md (~200 linjer prosjektinstruksjoner)

Resultater

Modell Tid Ord Bugs funnet Kvalitet
Haiku 4.5 16s ~230 3 God. Fant batch-insert, hardkodet timeout, resource logging. Én feil-positiv (metadata NULL).
Sonnet 4.6 28s ~250 3 Bedre. Fant transaksjonsgap (DELETE utenfor tx), i32 overflow, manglende retry.
Opus 4.6 24s ~240 3 Best. Fant transaksjonsgap + hele-filen-i-minne + content-overskriving. Mest presise vurdering.

Analyse

Haiku

  • Styrke: Rask. Finner overfladiske problemer pålitelig.
  • Svakhet: Finner ikke transaksjonsgapet (den viktigste buggen). Foreslår forbedringer som er riktige men åpenbare.
  • Egnet for: Triage, enkel kodesjekk, "er dette åpenbart feil?"

Sonnet

  • Styrke: Finner transaksjonsgapet. God balanse mellom dybde og fart.
  • Svakhet: Noe lengre enn nødvendig. Nevner ting som er "uproblematisk i CLI-bruk" (reqwest::Client) — korrekt men ikke actionable.
  • Egnet for: Daglig bruk. Kodegjennomgang, chat-svar, oppsummering.

Opus

  • Styrke: Finner alt Sonnet finner + hele-filen-i-minne-problemet (streaming vs buffer). Mest presist prioritert — viktigste bug først. Nevner content-overskriving som et designspørsmål, ikke bare en bug.
  • Svakhet: Tar omtrent like lang tid som Sonnet for dette omfanget. Marginalgevinsten er reell men liten for enkel kode.
  • Egnet for: Validering, arkitekturgjennomgang, kompleks analyse.

Effort-observasjoner

Full 3×3-matrise (model × effort) ble forsøkt men feilet pga ressurskonkurranse (6+ samtidige Claude-instanser på 16GB server).

Fra den initielle testen uten effort-prefix (medium):

  • Haiku med "vær ekstremt grundig"-prefix fant ikke flere bugs enn uten — modellens kapasitet er begrensningen, ikke effort.
  • Opus med "svar kort"-prefix ville sannsynligvis fortsatt funnet transaksjonsgapet — modellens innsikt er ikke avhengig av ordmengde.

Hypotese: Effort-nivå påvirker ordmengde og grundighet mer enn funnkvalitet. Modellvalg er den avgjørende faktoren for dybde. Effort styrer overflaten.

Anbefaling for Synops

Oppgave Modell Effort Begrunnelse
@bot chat-svar Sonnet medium God nok for daglig bruk
Orkestrering (standardsteg) Haiku low Mekanisk dispatch, trenger ikke dybde
Orkestrering (feilhåndtering) Sonnet medium Resonnering om uventet situasjon
Kodegjennomgang (PR) Sonnet high Grundig men ikke overkill
Validering (fase 23) Opus high Må finne subtile bugs
Arkitekturanalyse Opus high Designspørsmål krever dybde
Triage / klassifisering Haiku low Rask, billig, god nok
Work item fra chat Haiku low Bare fang opp og kategoriser

Kostnadsimplikasjon

Haiku er ~20× billigere enn Opus per token. For et system med 100 daglige @bot-interaksjoner:

Strategi Estimert dagskostnad
Alt med Opus ~$15-25/dag
Alt med Sonnet ~$3-5/dag
Smart routing (anbefalt) ~$1-2/dag

Smart routing: Haiku for 70% (triage, enkel chat), Sonnet for 25% (normal chat, orkestrering), Opus for 5% (validering, arkitektur). Auto-eskalering med ↑-knappen for resten.

Merk

  • Alle modeller fikk full CLAUDE.md som kontekst (~200 linjer). For Haiku er dette en relativt stor andel av vinduet.
  • Testen ble kjørt med task runner (23.1) aktiv — noe ressurs- konkurranse kan ha påvirket timingen.
  • Én test per modell er ikke statistisk signifikant. Resultatene er indikasjoner, ikke fasit.
  • Parallelle tester (3 modeller + task runner + interaktiv sesjon) feilet — alle ga 0 output etter ~810s timeout. Claude-instanser konkurrerer om RAM (350MB × 6 = 2.1GB) og API-ratelimits. Lærdom: benchmark må kjøres sekvensielt på rolig server.
  • Full 3×3×2-matrise er planlagt som nattkjøring via scripts/benchmark-models.sh.