Terminal-agenter tar over: Fra nettleser til kode på få sekunder
Fra nettleserøkter til kode: Slik endrer terminal-native webagenter automatisering
De fleste ser for seg at en AI-agent styrer en nettleser direkte – klikker, skriver og scroller seg gjennom sider i én lang, sammenhengende økt. Det virker som den naturlige løsningen. Men kanskje er det nettopp dette som begrenser hva automatisering egentlig kan klare.
Problemet med tilstandsfulle nettlesere
Tradisjonelle webagenter er låst til én nettleserøkt. Hver handling bygger på den forrige, og hvis noe går galt, må du grave deg gjennom en lang rekke interaksjoner. Intelligensen som tar beslutninger og miljøet som utfører dem, er ikke klart adskilt.
Dette fører til flere utfordringer:
- Oppblåst tilstand: Lange økter samler kompleksitet og uventede kanttilfeller
- Vanskelig feilsøking: Det er tungvint å inspisere eller kjøre deler av oppgaven på nytt
- Ingen gjenbruk: Hver oppgave løses fra bunnen av, selv om lignende problemer er løst tidligere
Webwright: Engangsnettlesere, varig kode
Webwright snur hele tankegangen på hodet. I stedet for å holde én nettleserøkt i live, starter agenten ferske nettleserinstanser etter behov – inspiserer dem, henter ut data og kaster dem bort. Det som beholdes er ikke nettlesertilstanden, men koden, loggene, skjermdumpene og resultatene som ligger i det lokale arbeidsområdet ditt.
Nettleseren blir et verktøy du bruker og kaster. Det virkelige produktet er koden du skriver for å bruke det.
Tre grunnpilarer
1. Kode fremfor primitive handlinger I stedet for lange kjeder av "klikk knapp → vent → skriv tekst → send skjema", lar Webwright agentene lage gjenbrukbare funksjoner. Dato-valg, skjemafylling, filtrering og datauthenting blir til løkker og funksjoner, ikke en rekke primitive nettleserhandlinger. Resultatet blir renere og mer vedlikeholdbart.
2. Varige artefakter Hver oppgave produserer et varig resultat: utforskende skript, handlingslogger, skjermdumper og til slutt et gjenbrukbart program. Det er her verdien ligger. Arbeidsområdet er mulig å revidere, dele og bygge videre på.
3. En bevisst minimalistisk arkitektur Systemet er lite med vilje: en Runner, et Model Endpoint og et terminalmiljø. Omtrent 1 000 linjer med kode. Ingen komplekse multi-agent-systemer eller planleggingshierarkier. Bare en tett feedback-løkke.
Hvordan løkken fungerer
Prinsippet er enkelt:
- Send kontekst: Runneren sender oppgaven, arbeidsområdets tilstand og nylige observasjoner til modellen
- Returner bash-kommando: Modellen svarer med tenking og en shell-kommando, ofte et Playwright-skript
- Returner observasjoner: Miljøet kjører kommandoen og sender tilbake output, logger, skjermdumper, filer eller feil
- Forbedre og avslutt: Løkken gjentas til agenten produserer et endelig skript, kjører det på nytt i en ren mappe og passerer egne refleksjonskontroller
Ingen komplisert ruting eller beslutningstrær. Bare en terminal, en modell og et voksende arbeidsområde.
Resultatene
Testet på ekte, levende weboppgaver viser Webwright sterke resultater:
- 60,8 % nøyaktighet på Odyssey's long-horizon browsing benchmark – en relativ forbedring på 35,1 % over tidligere state-of-the-art
- 86,7 % nøyaktighet på Online-Mind2Web over 300 levende oppgaver på 136 forskjellige sider, innenfor et budsjett på 100 steg
- 66,2 % nøyaktighet selv med mindre modeller som Qwen 3.5-9B når de kombineres med velutformede, gjenbrukbare verktøy
Dette er ikke leketøysbenchmark. Det er ekte nettsteder, ekte oppgaver og reell kompleksitet.
Håndtering av terminalkaos
Å gi en agent full terminaltilgang er kraftfullt – og risikabelt. Webwright legger til nok struktur til å holde ting trygt:
Premature Done Gate: Agenten kan ikke erklære suksess før den har generert et endelig skript, kjørt det på nytt i et rent miljø, tatt logger og skjermdumper, og bestått sin egen refleksjonskontroll.
Context Compaction: Lange kodingsløp kan overskride kontekstgrenser. Webwright komprimerer historikken periodisk til sammendrag, mens konkrete artefakter beholdes i arbeidsområdet.
Gjenbrukbare verktøy: Når en oppgave er løst, kan skriptet parametriseres, eksporteres som CLI-verktøy og deles med andre agenter – i stedet for å løses på nytt.
Hvorfor dette betyr noe for utviklere
Hvis du bygger automatiseringssystemer, webscrapere eller AI-assisterte arbeidsflyter, gir Webwrights tilnærming flere lærdommer:
- Skill bekymringer: Hold agentintelligens adskilt fra eksekveringsmiljøet
- Omfavn immutabilitet: Bruk engangsøkter; behold arbeidsproduktet
- Komponer, ikke kjede: Bygg funksjoner og løkker i stedet for primitive handlingssekvenser
- Verifiser før seier: La agenter bevise at de kan kjøre løsningene sine på nytt
Terminalen er ikke bare et grensesnitt her – den er arbeidsområdet. Det er der koden lever, der logger samler seg, der artefakter varer. Nettleseren er midlertidig; terminalen er permanent.
Det store bildet
Webautomatisering har tradisjonelt handlet om å bygge mer sofistikerte tilstandsmaskiner. Webwright peker mot en annen vei: la agenten skrive kode i stedet for å manipulere tilstand. La nettleseren være engangs. La arbeidsområdet være varig.
Dette er fortsatt tidlig, men det gir et hint om hvordan vi kan bygge mer pålitelige, vedlikeholdbare og gjenbrukbare AI-systemer – ikke bare for weboppgaver, men for ethvert problem der en agent må utforske, iterere og lære.
Hvis du jobber med agentsystemer, webautomatisering eller AI-assistert utvikling, er Webwrights terminal-native tilnærming verdt å studere. Koden ligger på GitHub, resultatene er solide, og filosofien er forfriskende enkel: en terminal er alt du trenger.