Терминалът поема браузъра: как уеб-агентите сменят автоматизацията
От браузъра към кода: как агентите, които работят в терминала, променят уеб автоматизацията
Повечето хора си представят уеб автоматизацията като AI агент, който управлява браузър – клика, попълва форми и скролва страници в една дълга сесия. Това изглежда логично, но може би точно тук е проблемът.
Защо stateful браузърите пречат
Класическите агенти са обвързани с браузърната сесия. Всяко действие зависи от предишното и ако нещо се обърка, трябва да дебъгваш цялата верига от взаимодействия. Няма ясно разделение между логиката на агента и средата, в която работи.
Това води до няколко конкретни проблема:
- Натрупване на състояние – дългите сесии стават все по-сложни и трудни за предвиждане
- Трудно дебъгване – трудно е да провериш или повториш само част от задачата
- Липса на повторно използване – всяка задача започва от нулата
Webwright: еднократни браузъри, траен код
Webwright обръща подхода. Вместо да поддържа една браузърна сесия, агентът създава нови инстанции, когато му трябват. Браузърът се използва, инспектира и се изхвърля. Остава кодът, логовете, скрийншотите и файловете в работната директория.
Браузърът става инструмент за еднократна употреба. Истинският резултат е кодът, който агентът пише.
Трите основни принципа
1. Код вместо примитивни действия
Вместо дълги последователности от кликове и изчаквания, агентът създава функции. Избор на дата, попълване на форма или извличане на данни стават преизползваеми функции, а не поредица от browser actions.
2. Трайни артефакти
Всяка задача генерира скриптове, логове и скрийншоти, които остават в работната папка. Това е мястото, където се натрупва стойността – може да се проверява, споделя и използва повторно.
3. Минимална архитектура
Системата е умишлено проста: Runner, Model Endpoint и terminal среда. Около 1000 реда код. Без сложни multi-agent системи, само директна обратна връзка.
Как работи цикълът
- Runner подава задачата, състоянието на workspace-а и последните наблюдения към модела
- Моделът връща мислене и bash команда – обикновено Playwright скрипт
- Средата изпълнява командата и връща резултати, логове, скрийншоти или грешки
- Цикълът се повтаря, докато агентът не създаде финален скрипт, който се тества отново в чиста директория
Просто и без сложни маршрутизации.
Резултати от тестовете
Webwright показва силни резултати на реални задачи:
- 60.8% точност на Odyssey benchmark – с 35.1% подобрение спрямо предишния рекорд
- 86.7% точност на Online-Mind2Web на 300 задачи от 136 различни сайта
- 66.2% точност дори с по-малки модели като Qwen 3.5-9B, когато се използват преизползваеми инструменти
Как се контролира достъпът до терминала
Пълният достъп до терминала носи рискове. Webwright добавя няколко предпазни механизма:
Premature Done Gate – агентът не може да обяви успех, докато не генерира финален скрипт, не го тества в нова среда и не премине собствената си проверка.
Context Compaction – дългите истории се компресират периодично, за да не се превиши контекстът, докато артефактите остават в workspace-а.
Reusable Tools – решените задачи се превръщат в CLI инструменти, които могат да се споделят и използват повторно.
Какво означава това за разработчиците
Ако работиш с автоматизация или AI агенти, Webwright предлага няколко важни урока:
- Разделяй интелигентността на агента от изпълнителната среда
- Използвай disposable сесии, но запазвай резултатите
- Създавай функции вместо вериги от примитивни действия
- Агентът трябва да докаже, че може да повтори решението си
Терминалът тук не е просто интерфейс – той е работното пространство, където кодът и артефактите остават. Браузърът е временен, терминалът – постоянен.
По-широката перспектива
Webwright показва различен подход към уеб автоматизацията: вместо да се строят сложни state machines, агентът пише код. Браузърът става disposable, а workspace-ът – durable.
Ако работиш с агентни системи или уеб автоматизация, тази философия си заслужава внимание. Кодът е на GitHub, резултатите са убедителни, а идеята е проста: терминалът е всичко, от което се нуждаеш.