Selainistunnoista koodiin: näin terminaalipohjaiset web-agentit mullistavat automaatiota
Selainistunnoista koodiin: Miten päätteen kautta toimivat web-agentit mullistavat automaatiota
Web-automaatiosta puhuttaessa ajatellaan usein selainta, jota agentti ohjaa klikkaamalla, kirjoittamalla ja selaamalla sivuja. Tämä tuntuu luontevalta ratkaisulta, mutta entä jos juuri tämä lähestymistapa rajoittaa automaatiota?
Ongelma tilallisissa selaimissa
Perinteiset web-agentit elävät selainistuntojensa varassa. Jokainen toiminto riippuu edellisestä, ja jos jotain menee pieleen, koko ketju hajoaa. Älykäs päätöksenteko ja ympäristön suoritus ovat kietoutuneet toisiinsa niin tiukasti, ettei niitä voi erottaa.
Tästä seuraa käytännön ongelmia:
- Tilaa kertyy liikaa – pitkät istunnot täyttyvät monimutkaisista ja odottamattomista tilanteista
- Vianetsintä on hankalaa – yksittäisiä vaiheita ei voi helposti tarkastella tai ajaa uudelleen
- Uudelleenkäyttö puuttuu – samaa ongelmaa ratkotaan aina alusta asti
Webwright: kertakäyttöselaimet, pysyvä koodi
Webwright kääntää asetelman päälaelleen. Sen sijaan että pidettäisiin yksi selainistunto hengissä, agentti luo uusia selaininstansseja tarpeen mukaan. Ne tutkitaan, niistä otetaan dataa ja sitten ne hylätään. Jäljelle jää vain koodi, lokit, kuvakaappaukset ja muut tulokset paikallisessa työtilassa.
Selain on työkalu, jota käytetään ja hylätään. Todellinen työtuote on koodi, joka käyttää sitä.
Lähestymistavan kolme periaatetta
1. Koodi primitiivien sijaan
Webwrightin agentit rakentavat uudelleenkäytettäviä funktioita pitkien toimintaketjujen sijaan. Päivämäärän valinta, lomakkeiden täyttö ja tiedon poiminta muuttuvat funktioiksi ja silmukoiksi, eivät peräkkäisiksi klikkaus- ja kirjoituskomennoiksi. Lopputulos on siistimpi ja helpommin ylläpidettävissä.
2. Jäljelle jäävät artefaktit
Jokainen tehtävä tuottaa pysyvän tuloksen: tutkivia skriptejä, toimintolokeja, kriittisten kohtien kuvakaappauksia ja lopulta uudelleenkäytettävän ohjelman. Tämä työtila on automaation todellinen arvo. Se on tarkastettavissa, jaettavissa ja toimii pohjana tuleville ratkaisuille.
3. Tahallisen yksinkertainen arkkitehtuuri
Koko järjestelmä on pidetty tarkoituksella pienenä: Runner, Model Endpoint ja terminaaliympäristö. Siinä kaikki – noin tuhat riviä koodia. Ei monimutkaista agenttien orkestrointia, vaan tiivis palaute-silmukka.
Miten silmukka toimii
Webwrightin ytimessä on yksinkertainen prosessi:
- Kontekstin lähetys – runner välittää tehtävän, työtilan tilan ja viimeisimmät havainnot mallille
- Bash-komento – malli vastaa ajatusketjulla ja komentorivikomennolla, usein Playwright-skriptillä
- Havaintojen palautus – ympäristö suorittaa komennon ja palauttaa tulokset, lokit, kuvakaappaukset tai virheet
- Hiominen ja päätös – silmukka jatkuu, kunnes agentti tuottaa lopullisen skriptin, ajaa sen puhtaassa kansiossa ja läpäisee oman itsetarkastelunsa
Ei monimutkaisia reitityksiä tai päätöspuita. Vain terminaali, malli ja kasvava työtila.
Tulokset puhuvat puolestaan
Webwright on testattu oikeilla verkkosivuilla ja todellisilla tehtävillä:
- 60,8 % tarkkuus Odysseyn pitkän aikavälin selainbenchmarkissa – 35,1 % parannus aiempaan huipputulokseen
- 86,7 % tarkkuus Online-Mind2Webissä 300 tehtävässä 136 eri sivustolla
- 66,2 % tarkkuus jopa pienemmällä Qwen 3.5-9B -mallilla, kun käytetään uudelleenkäytettäviä työkaluja
Nämä eivät ole leikkimielisiä testejä, vaan oikeita sivustoja ja monimutkaisia tehtäviä.
Kaaoksen hallinta terminaalitoiminnoissa
Täydet terminaalioikeudet antavat agentille voimaa, mutta myös riskejä. Webwright lisää juuri tarpeeksi rakennetta turvallisuuden takaamiseksi:
Ennenaikaisen valmistumisen esto – agentti ei voi julistaa tehtävää valmiiksi ennen kuin se on luonut lopullisen skriptin, ajanut sen uudessa ympäristössä, tallentanut lokit ja kuvakaappaukset sekä läpäissyt oman itsetarkastelunsa.
Kontekstin tiivistäminen – pitkät ketjut voivat ylittää kontekstirajat. Webwright tiivistää historian säännöllisesti, mutta säilyttää konkreettiset artefaktit työtilassa.
Uudelleenkäytettävät työkalut – ratkaistu skripti voidaan parametroida, viedä CLI-työkaluksi ja jakaa muille agenteille. Samaa ongelmaa ei tarvitse ratkaista uudelleen.
Mitä tämä tarkoittaa kehittäjille
Jos rakennat automaatiojärjestelmiä tai web-scrapereita, Webwrightin lähestymistapa tarjoaa muutamia keskeisiä oppeja:
- Erota huolenaiheet – pidä agentin älykkyys erillään suoritusympäristöstä
- Hyödynnä muuttumattomuutta – käytä kertakäyttöistuntoja, mutta säilytä tulokset
- Rakenna funktioita – älä ketjuta primitiivisiä toimintoja
- Varmista ennen julistamista – agentin pitää todistaa, että se voi ajaa ratkaisunsa puhtaasti uudelleen
Terminaali ei ole vain käyttöliittymä – se on työtila, jossa koodi elää ja artefaktit säilyvät. Selain on väliaikainen, terminaali pysyvä.
Laajempi näkökulma
Web-automaatio on perinteisesti tarkoittanut yhä monimutkaisempien tilakoneiden rakentamista. Webwright ehdottaa toista tietä: agentti kirjoittaa koodia tilan manipuloimisen sijaan. Selain saa olla kertakäyttöinen, mutta työtila pysyy.
Tämä on vasta alkua, mutta se vihjaa siitä, miten voisimme rakentaa luotettavampia ja uudelleenkäytettävämpiä tekoälyjärjestelmiä – ei vain web-tehtäviin, vaan mihin tahansa ongelmaan, jossa agentin täytyy tutkia, iteroida ja oppia.
Jos työskentelet agenttijärjestelmien tai web-automaation parissa, Webwrightin terminaalipohjainen lähestymistapa kannattaa tutustua. Koodi löytyy GitHubista, tulokset ovat vakuuttavia ja filosofia yksinkertainen: terminaali riittää.