
В декабре 2024 года Google представила Project Mariner — экспериментальное расширение для Chrome, которое меняет представление о том, как AI может взаимодействовать с вебом. Это не просто чат-бот, встроенный в браузер, и не очередной автозаполнитель форм. Mariner — это агент, способный видеть экран, понимать контекст веб-страницы и выполнять многошаговые действия: добавлять товары в корзину, заполнять формы, переходить по ссылкам.
Для практикующих разработчиков и инженеров, работающих с AI, Mariner интересен не как потребительский продукт (он пока в статусе эксперимента), а как архитектурный прецедент. Google открыто делится принципами его работы, и они задают вектор для всей индустрии веб-агентов. В этой колонке я разбираю, что именно изменилось, как устроен агент и какие выводы можно сделать уже сейчас.
Почему это не очередной плагин
Основное отличие Mariner от классических RPA-инструментов (например, Selenium или Puppeteer) в том, что он не использует DOM-селекторы и не требует заранее написанных скриптов. Агент работает через визуальный интерфейс — он «смотрит» на скриншот страницы и принимает решения на основе Gemini 2.0, который обучен интерпретировать графическое представление интерфейса.
Это кардинально меняет подход к автоматизации. Традиционные инструменты ломаются при малейшем изменении CSS-классов или структуры HTML. Mariner, напротив, устойчив к визуальным изменениям, если они не затрагивают семантику элементов. Для разработчиков это означает, что агенты могут работать с сайтами, к которым нет API или документации — например, с устаревшими корпоративными порталами или веб-приложениями с динамическим рендерингом.
В официальном блоге Google DeepMind подчёркивают, что Mariner использует расширенный контекст Gemini 2.0, который позволяет удерживать до 1 миллиона токенов. Это даёт агенту возможность «запоминать» всю сессию работы с браузером без потери контекста. Для сравнения: большинство современных агентов (вроде AutoGPT начальной версии) работают с окном в 8-32 тысячи токенов и часто теряют нить рассуждения на длинных сценариях.
Архитектура агента: что под капотом
Google опубликовала технические детали в исследовательском блоге и на странице эксперимента. С точки зрения архитектуры, Mariner состоит из трёх ключевых компонентов:
Визуальный энкодер — преобразует скриншот страницы в структурированное представление. В отличие от подходов, где страница конвертируется в текст (например, через извлечение текста по координатам), энкодер сохраняет пространственные отношения между элементами: кнопками, полями ввода, ссылками.
Модуль рассуждений на Gemini 2.0 — принимает решение о следующем действии. Модель получает текущий скриншот, историю действий и инструкцию пользователя. Важно: модель не генерирует код, а выбирает одно из предопределённых действий (клик, ввод текста, скролл, ожидание). Это снижает вероятность «галлюцинаций» в управляющих командах.
Слой безопасности — перед выполнением каждого действия, которое может иметь последствия (отправка формы, оплата, удаление данных), агент запрашивает подтверждение у пользователя. В интерфейсе это выглядит как всплывающее окно с вопросом «Разрешить?».
| Компонент | Функция | Ключевое ограничение |
|---|---|---|
| Визуальный энкодер | Извлечение элементов из скриншота | Точность падает на нестандартных UI-компонентах |
| Gemini 2.0 | Принятие решений и рассуждение | Зависимость от качества скриншота и контекста |
| Слой безопасности | Контроль критических действий | Замедляет выполнение, требуется ручное подтверждение |
Практический сценарий: покупка продуктов
В официальной демонстрации Mariner выполняет задачу «добавить продукты из рецепта в корзину Instacart». Пользователь даёт агенту список ингредиентов, а тот самостоятельно: открывает Instacart, вводит поисковые запросы, выбирает подходящие товары, добавляет их в корзину.
Для разработчика здесь интересен не сам результат, а процесс. Агент не просто ищет по ключевым словам — он оценивает релевантность: если в рецепте указано «оливковое масло», а поиск выдаёт два варианта (Extra Virgin и обычное), Mariner способен запросить уточнение или выбрать вариант по умолчанию на основе контекста. Это требует от модели понимания не только текста, но и визуальных подписей на странице.
Другой важный аспект — скорость. В текущей версии Mariner работает медленнее человека: каждое действие занимает несколько секунд (генерация скриншота, обработка моделью, выполнение). Google не раскрывает точные тайминги, но в демо задержки заметны. Для продакшен-сценариев это пока неприемлемо, но для задач, где точность важнее скорости (например, сверка счетов или мониторинг изменений на сайтах), скорость может быть не критична.
Где находятся ограничения
Несмотря на впечатляющую демонстрацию, у Mariner есть несколько фундаментальных ограничений, которые важно понимать.
Во-первых, зависимость от качества скриншота. Если страница использует сложную анимацию, динамически подгружаемые элементы или canvas-рендеринг, визуальный энкодер может неправильно определить границы элементов. В техническом документе Google признаёт, что точность падает на страницах с iframe и элементами, выходящими за область видимости.
Во-вторых, отсутствие поддержки небраузерных интерфейсов. Mariner работает исключительно внутри Chrome. Он не может взаимодействовать с нативными приложениями, терминалом, файловой системой или API. Это сознательное ограничение безопасности, но оно сужает область применения.
В-третьих, стоимость вычислений. Каждое действие агента требует обработки скриншота моделью Gemini 2.0. Для длинных сценариев (50+ шагов) это может приводить к значительным затратам на API. Google пока не опубликовала тарифы для Mariner, но по аналогии с Gemini API стоимость одной сессии может составлять десятки центов — что делает агента дорогим для массового использования.
На Reddit (r/LocalLLaMA) и в обсуждениях на Hacker News инженеры отмечают, что текущая архитектура Mariner неэффективна для задач, где требуется быстрая реакция на изменения — например, для торговых ботов или мониторинга в реальном времени. Задержка между действиями в 3-5 секунд делает агента непригодным для high-frequency сценариев.
Что попробовать уже сейчас
Для разработчиков, которые хотят изучить архитектуру, подобную Mariner, есть несколько практических шагов.
Во-первых, можно подать заявку на доступ к эксперименту через Trusted Tester программу Google. Это даст возможность протестировать Mariner в реальных сценариях и понять, как он ведёт себя на ваших рабочих сайтах. Доступ пока ограничен, но очередь открыта.
Во-вторых, изучить открытые альтернативы. Например, проект Playwright MCP (Model Context Protocol) от Microsoft позволяет интегрировать браузерное управление с LLM, используя схожий принцип — модель получает скриншот и принимает решение о действии. Хотя Playwright MCP не имеет такого же визуального энкодера, он даёт больше контроля над браузером через DOM.
В-третьих, поэкспериментировать с Gemini API напрямую. Google предоставляет доступ к Gemini 2.0 Flash, который можно использовать для построения собственных агентов. В документации есть примеры интеграции с браузером через расширения Chrome.
Для тех, кто работает с безопасностью, стоит обратить внимание на слой подтверждения в Mariner. Это важный архитектурный паттерн: агент должен не просто выполнять действия, но и уметь оценивать их риск. В Mariner это реализовано через статические правила (например, любое действие на странице оплаты требует подтверждения). В более продвинутых системах можно использовать динамическую оценку риска — например, через отдельную модель, которая анализирует вероятные последствия действия.
Итог
Project Mariner — это не готовый продукт, а архитектурный эксперимент, который показывает, куда движется индустрия веб-агентов. Для практикующих разработчиков он ценен тем, что Google открыто делится принципами: визуальное понимание интерфейса, длинный контекст, слой безопасности. Эти паттерны уже сейчас можно адаптировать для собственных проектов, используя доступные API и open-source инструменты.
Ключевой вопрос, который остаётся открытым — экономика. Стоимость одного действия агента пока высока, и Google не даёт гарантий, что Mariner станет дешевле. Но для узких задач — мониторинг, сверка данных, автоматизация рутинных действий в браузере — агенты такого типа уже сейчас могут быть оправданы.
Стоит подписаться на обновления Google DeepMind и следить за публикациями по теме агентов в блоге Google AI. Следующие шаги — интеграция с другими сервисами Google и возможное появление API для разработчиков. Если Mariner выйдет из статуса эксперимента, это изменит рынок инструментов для веб-автоматизации.
