Построение надёжной веб-автоматизации с API-агентами в стиле Operator
OpenAI Operator запустился в январе 2025 года и сразу изменил разговор о веб-автоматизации. Вместо хрупких CSS-селекторов и XPath-запросов можно было направить AI на сайт и сказать «купи мне продукты.» Работало — иногда. Вызов всегда состоял в том, чтобы сделать это достаточно надёжным для продакшн-систем.
Я потратил шесть недель на построение Operator-подобного пайплайна автоматизации для внутренних инструментов клиента. Мы обработали около 12 000 взаимодействий со страницами по 400 различным воркфлоу.
Базовая архитектура: три слоя
Каждая продакшн-готовая Operator-система, которую я видел, использует трёхслойную архитектуру.
Слой 1: Управление браузером. Это фундамент — headless или headed-инстанс браузера, которым может командовать агент. Playwright стал доминирующим выбором. Ключевая способность — не просто кликать и печатать, а читать состояние страницы обратно агенту в структурированном формате. Без надёжного чтения состояния агент летит вслепую.
Слой 2: Резонинг агента. Это LLM, который интерпретирует состояние страницы, решает, какое действие предпринять, и генерирует следующую команду. GPT-4o и Claude 3.5 Sonnet — самые частые варианты на начало 2026 года.
Слой 3: Оркестрация и восстановление. Это клей, который пропускает большинство туториалов. Он обрабатывает логику повторов, управление чекпоинтами, классификацию ошибок и эскалацию к человеку.
Извлечение состояния страницы
Надёжность всей системы зависит от одного: может ли агент точно воспринимать текущее состояние страницы?
После нашей фильтрующей пайплайна типичная страница сокращается с 500 до примерно 60-80 интерактивных элементов. Потребление токенов падает примерно на 70%, точность агента улучшается с ~72% до 91%.
Восстановление ошибок
Мы построили трёхуровневую систему восстановления:
Уровень 1: автоматический retry (~60% ошибок). Простые стратегии: подождать 2 секунды, прокрутить страницу, закрыть cookie-баннер.
Уровень 2: восстановление под руководством агента (~30% ошибок). Состояние ошибки возвращается в LLM с контекстом. Агент предлагает альтернативный подход.
Уровень 3: эскалация к человеку (~10% ошибок). Система сохраняет чекпоинт, генерирует детальный отчёт об ошибке со скриншотами и уведомляет оператора.
В продакшне наш пайплайн достигает 89% автономного завершения на сложных многошаговых воркфлоу.
Реальность стоимости токенов
Поговорим о деньгах. На типичном многошаговом воркфлоу (8-12 действий) мы потребляем примерно 8 000-15 000 входных токенов и 500-1 000 выходных на задачу. Только LLM-стоимость — около $0,08-0,15 на задачу.
Мы сократили расходы на 40% двумя стратегиями: дешёвая модель для простых шагов и кеширование снапшотов состояния страницы.
Чеклист продакшн-деплоя
- Управление пулом браузеров с переиспользуемыми инстансами
- Меры anti-detection: stealth-плагины, ротация user agent'ов
- Персистентность чекпоинтов через Redis
- Rate limiting по домену
- Мониторинг стоимости с первого дня
Operator-автоматизация мощная, но это не волшебная палочка. 89% автономного завершения звучит хорошо, пока не осознаёшь, что в 12-шаговом воркфлоу 11% частота ошибок означает, что примерно 73% задач завершаются без участия человека (0,89^12). Это всё ещё хорошо — гораздо лучше традиционной автоматизации на неструктурированных страницах — но это не «настроил и забыл». Закладывайте overhead human-in-the-loop, тщательно проектируйте восстановление ошибок и мониторьте всё.