Böngésző helyett terminál: így alakítják át a webes automatizációt az új ügynökök
Böngésző helyett terminál: Így ír kódot a következő generációs webes automatizáció
A legtöbb webes automatizációs eszközben az AI egy böngészőt irányít. Kattint, görget, űrlapokat tölt ki – mindezt egyetlen, hosszú munkamenetben. Ez tűnik kézenfekvőnek, mégis ez a legnagyobb akadály a megbízható automatizáció felé.
Mi a baj a hagyományos megközelítéssel?
Amikor az ügynök a böngészőhöz kötődik, minden lépés az előzőre épül. Ha elakad, nehéz visszakeresni, hol romlott el a folyamat. Az egész feladat egy nagy, összefüggő lánc, amit nem lehet könnyen újrafuttatni vagy módosítani.
Ez három problémát szül:
- A munkamenet egyre bonyolultabbá válik, ahogy telik az idő
- Hibakereséskor nehéz csak egy részt újrakezdeni
- Minden feladatot a nulláról kell megoldani, még ha hasonló problémák már korábban is előfordultak
Webwright: dobható böngészők, megmaradó kód
A Webwright megfordítja ezt a logikát. Nem egy böngészőt tart életben, hanem szükség szerint új példányokat indít. Ezeket megvizsgálja, adatokat nyer ki belőlük, majd eldobja őket. Ami megmarad, az nem a böngésző állapota, hanem a kód, a naplók és a képernyőképek a helyi munkakönyvtárban.
A böngésző itt már csak eszköz – használható és eldobható. A valódi eredmény a kód, amit az eszköz használatához ír az ügynök.
Három alapelv
1. Kód, nem kattintássorozatok
Hosszú „kattint → várakozás → gépelés" láncok helyett az ügynök újrafelhasználható függvényeket hoz létre. Dátumválasztás, űrlapkitöltés, szűrés – ezekből hurkok és függvények lesznek, nem primitív böngészőműveletek. A végeredmény tisztább és karbantarthatóbb.
2. Maradandó eredmények
Minden feladat után marad valami kézzelfogható: felfedező szkriptek, naplók, fontos pillanatokról készült képernyőképek. Ezek a fájlok képezik a későbbi automatizációk alapját, és bármikor megoszthatók vagy újrahasznosíthatók.
3. Szándékosan egyszerű felépítés
A rendszer három részből áll: egy futtatóból, egy modelltől és egy terminál környezetből. Összesen körülbelül ezer sor kód. Nincs bonyolult többügynökös architektúra, csak egy szoros visszacsatolási hurok.
Hogyan működik a folyamat?
A működés egyszerű:
- A futtató átadja a feladatot, a munkakönyvtár állapotát és az eddigi megfigyeléseket a modellnek
- A modell gondolkodik, majd shell-parancsot ad vissza – gyakran egy Playwright szkriptet
- A terminál futtatja a parancsot, és visszaadja az eredményt, a naplókat vagy a hibákat
- A ciklus addig ismétlődik, amíg az ügynök elő nem állít egy végleges szkriptet, amit tiszta környezetben újrafuttat és ellenőriz
Mit mutatnak a mérések?
Valós weboldalakon tesztelve a Webwright kiemelkedő eredményeket ért el:
- 60,8%-os pontosság az Odyssey hosszú távú böngészési benchmarkján – ez 35%-os javulás a korábbi legjobb eredményhez képest
- 86,7%-os pontosság az Online-Mind2Web teszten 136 különböző oldalon
- Még a kisebb, 9 milliárd paraméteres Qwen modellel is 66%-os pontosságot ért el, ha újrafelhasználható eszközökkel egészítették ki
Biztonság és kezelhetőség
Teljes terminálhozzáférést adni kockázatos. A Webwright ezért néhány védelmet épített be:
- Az ügynök csak akkor jelenthet sikert, ha előállított egy szkriptet, azt tiszta környezetben lefuttatta, és a saját ellenőrzése is átment
- Hosszú feladatsorok esetén a rendszer időnként összefoglalókba tömöríti a múltbeli lépéseket, miközben a konkrét fájlok a munkakönyvtárban maradnak
- Ha egy feladatot már megoldott, a szkript paraméterezhetővé tehető és CLI-eszközként újra felhasználható
Mit tanulhatunk ebből?
Ha automatizációs rendszereket vagy webes adatkinyerést építesz, érdemes megfontolni ezeket az elveket: tartsd külön az intelligenciát és a végrehajtást, használj dobható munkameneteket, építs függvényeket kattintássorozatok helyett, és mindig ellenőriztesd az ügynökkel a saját megoldását.
A böngésző itt ideiglenes. A terminál az, ami megmarad – ott él a kód, ott gyűlnek a naplók, ott maradnak az eredmények.
Ez a megközelítés azt sugallja, hogy a webes automatizáció jövője nem bonyolultabb állapotgépekben, hanem abban rejlik, hogy az ügynök kódot írjon, ne állapotot manipuláljon. A kód elérhető a GitHubon, és a mögötte álló gondolat egyszerű: egy terminál minden, amire szükséged van.