Терминал вместо браузера: как веб-агенты учатся работать через код
От браузера к коду: как агенты в терминале меняют автоматизацию
Обычно под веб-автоматизацией представляют агента, который управляет браузером: кликает, вводит данные, прокручивает страницы. Всё в рамках одной долгой сессии. Но что, если именно это и мешает двигаться дальше?
Проблема постоянных сессий
Классические агенты привязаны к браузеру жёстко. Каждое действие зависит от предыдущего, и если что-то пошло не так, приходится разбирать всю цепочку. Нет чёткой границы между тем, кто принимает решения, и тем, кто их выполняет.
Отсюда вытекают familiar проблемы:
- Раздувание состояния — чем длиннее сессия, тем больше неожиданных ситуаций
- Сложная отладка — нельзя просто взять и перезапустить отдельный кусок задачи
- Отсутствие переиспользования — каждую задачу агент решает заново
Webwright: одноразовые браузеры, постоянный код
Webwright работает иначе. Вместо того чтобы держать браузер открытым, агент создаёт новые экземпляры по необходимости — проверяет, забирает данные и удаляет. Остаётся не состояние браузера, а код, логи, скриншоты и результаты в локальной папке.
Браузер здесь — расходник. А ценность создаёт код, который с ним работает.
Три принципа подхода
1. Код вместо примитивов
Вместо длинных цепочек «клик — ожидание — ввод — отправка» агент собирает переиспользуемые функции. Выбор даты, заполнение форм, фильтрация — всё это оформляется в циклы и функции, а не в последовательность браузерных команд.
2. Артефакты, которые остаются
Каждая задача оставляет после себя скрипты, логи, скриншоты и итоговую программу. Это и есть основной результат работы. Такие артефакты можно проверить, передать другому и использовать как основу для следующих задач.
3. Минимальная архитектура
Система состоит из трёх частей: Runner, Model Endpoint и терминального окружения. Всё. Примерно тысяча строк кода. Никаких многоагентных систем и сложных планировщиков — только короткий цикл обратной связи.
Как работает цикл
- Runner отправляет модели задачу, текущее состояние workspace и последние наблюдения
- Модель отвечает размышлениями и shell-командой — обычно это Playwright-скрипт
- Окружение выполняет команду и возвращает вывод, логи, скриншоты или ошибки
- Цикл повторяется, пока агент не создаст финальный скрипт, не запустит его заново и не пройдёт самопроверку
Никаких сложных маршрутизаторов. Просто терминал, модель и растущий workspace.
Результаты
На реальных задачах Webwright показывает сильные цифры:
- 60.8% точности на бенчмарке Odyssey — на 35.1% лучше предыдущего рекорда
- 86.7% на Online-Mind2Web по 300 задачам на 136 сайтах
- 66.2% даже с небольшой моделью Qwen 3.5-9B при использовании переиспользуемых инструментов
Это не синтетические тесты — живые сайты и реальные задачи.
Как контролировать хаос в терминале
Полный доступ к терминалу — это мощно, но рискованно. Webwright добавляет несколько защит:
Барьер перед завершением — агент не может сказать «готово», пока не создаст финальный скрипт, не запустит его в чистой папке и не проверит результат сам.
Сжатие контекста — длинные цепочки сжимаются в summary, а артефакты остаются в workspace. Контекст остаётся управляемым, файлы — на месте.
Переиспользуемые инструменты — готовые скрипты можно параметризовать, экспортировать как CLI-команды и передавать другим агентам.
Что это даёт разработчикам
Если вы строите системы автоматизации или AI-помощников, подход Webwright даёт несколько практических идей:
- Разделяйте интеллект агента и среду выполнения
- Используйте одноразовые сессии, но сохраняйте результат
- Собирайте функции, а не цепочки примитивных действий
- Заставляйте агента доказывать, что решение работает при повторном запуске
Терминал здесь — не просто интерфейс. Это основное место, где живёт код и накапливаются артефакты. Браузер временный. Терминал — постоянный.
В итоге
Webwright предлагает другой взгляд на веб-автоматизацию: пусть агент пишет код, а не управляет состоянием. Браузер можно выбросить. Workspace — нет.
Пока это ранняя стадия, но подход уже показывает, как можно строить более надёжные и переиспользуемые AI-системы. Не только для веба, но и для любых задач, где агенту нужно исследовать, пробовать и учиться.
Если вы работаете с агентами или автоматизацией, стоит посмотреть, как это сделано. Код на GitHub, результаты есть, а идея простая: терминал — это всё, что нужно.