- Дата публикации
Открытый браузер для ИИ‑агентов: как работает Agent Browser Protocol
Что появилось / что изменилось
Agent Browser Protocol (ABP) — это отдельная сборка Chromium, заточенная под работу с ИИ‑агентами. Разработчики встроили в сам движок поддержку MCP и REST, так что агент общается с браузером обычными HTTP‑запросами, без WebSocket и без ручного управления CDP‑сессиями.
Ключевые изменения:
- Каждое действие агента — один HTTP‑запрос. Один запрос = один завершённый шаг: стабильное состояние страницы, скриншот и лог событий.
- Пауза между шагами. ABP останавливает JavaScript и виртуальное время между действиями, страница «замирает», пока LLM думает.
- Скриншот на каждый шаг. Браузер снимает изображение с композитора (с курсором) и отдаёт его агенту вместе с событиями.
- Асинхронный веб превращается в дискретный чат‑формат. Навигация разбита на шаги, к которым привыкли Claude 3.5, GPT‑4o и другие LLM‑агенты.
- Производительность: около 100 мс накладных расходов на действие (включая скриншоты). Узкое место — сам LLM, а не браузер.
- Качество навигации: 90,53% на бенчмарке Online Mind2Web с воспроизводимыми результатами.
ABP можно подключить как MCP‑сервер в Claude Code, Codex CLI, Opencode и любых других MCP‑клиентах по HTTP. Есть и чистый REST‑режим без MCP.
Как это работает
Под капотом ABP — форк Chromium, который превращает браузер в «машину шагов» для агента.
Как выглядит один шаг:
- Агент отправляет HTTP‑запрос, например
POST /clickс координатами илиPOST /typeс текстом. - ABP инжектирует реальные события ввода через системный input Chromium: мышь, клавиатура и т.п.
- Браузер ждёт, пока страница достигнет состояния "settled" — граница определена на уровне движка, а не через таймеры и эвристики.
- После этого ABP делает скриншот композитора (с курсором), собирает события вкладки:
tab_created, диалоги, выбор файла, загрузки и другие сигналы. - Браузер ставит на паузу JavaScript и виртуальное время до следующего запроса.
- Агент получает
200 OKс JSON‑логом и изображением, анализирует скриншот и решает, что делать дальше.
Всё это работает поверх обычного HTTP:
- MCP‑режим: сервер доступен по
http://localhost:8222/mcp(streamable HTTP). - REST‑режим: API по
http://localhost:8222/api/v1/...— например,GET /tabs,POST /tabs/<TAB_ID>/navigate.
Примеры запуска:
- Claude Code / Codex CLI / Opencode: через
npx -y agent-browser-protocol --mcpи подключение как MCP‑серверbrowser. - Любой MCP‑клиент: указать URL
http://localhost:8222/mcp. - REST‑скрипты: запуск
npx -y agent-browser-protocol, затемcurlк REST‑эндпоинтам.
ABP также поставляется как npm‑пакет (TypeScript SDK, конфиг для плагинов, отладочный сервер) и отдельные бинарники для macOS, Linux и Windows.
Что это значит для вас
ABP полезен, если вы:
- Разрабатываете автономных ИИ‑агентов, которые должны кликать по реальному вебу, а не по API.
- Строите тестовые сценарии с LLM, где важно, чтобы агент видел именно тот экран, который видит человек.
- Пишете инструменты навигации для Claude или других MCP‑клиентов и устали от ручных
waitForSelector, таймаутов и гонок с живой страницей.
Где ABP помогает:
- Поиск и заказ через сайты доставки, маркетплейсы, карты.
- Сложные сценарии с диалогами браузера, выбором файлов, загрузками — всё это приходит в виде событий.
- Обучение и отладка агентов: каждый шаг — это чёткий снимок состояния, который легко логировать и разбирать.
Где стоит быть осторожнее:
- Если вы автоматизируете простые формы или API уже есть, классический Playwright/Selenium может быть проще.
- Если у вас очень жёсткие ограничения по latency, имейте в виду: на каждый шаг закладывайте минимум 100 мс плюс время ответа LLM.
- ABP работает как локальный браузер, так что для сайтов, заблокированных в России, всё равно понадобится VPN или прокси на уровне системы.
Из практики: ABP удобно запускать локально и подключать к Claude Desktop или Claude Code как MCP‑сервер browser. После этого вы можете давать агенту естественные задачи вроде: «Найди топ‑пост про AI на news.ycombinator.com» или «Проложи маршрут на Google Maps из одного города в другой поездом». Скриншоты на каждом шаге помогают быстро понять, где агент ошибся.
Место на рынке
ABP конкурирует не с LLM, а с инструментами автоматизации браузера для агентов: Playwright, Puppeteer, Selenium и CDP‑обёртками.
Главные отличия:
- Протокол: ABP общается по простому REST/MCP поверх HTTP. Многие другие решения опираются на WebSocket и ручное управление CDP‑сессией.
- Модель работы: ABP превращает браузер в дискретную «машину шагов» с чёткими границами. Классические фреймворки по умолчанию работают с живой страницей и вынуждают добавлять ожидания и ретраи.
- Скриншоты и события: каждый шаг в ABP гарантированно даёт скриншот и лог событий. В Playwright и аналогах это обычно отдельные вызовы и больше кода на стороне агента.
- Производительность: ABP добавляет около 100 мс на действие поверх работы LLM. Для CDP‑решений эта цифра зависит от реализации и настроек, прямого численного сравнения разработчики ABP не приводят.
ABP логичнее всего рассматривать как специализированный браузер для LLM‑агентов. Если вам нужно, чтобы Claude 3.5 или другая модель с поддержкой MCP уверенно управляла реальным вебом шаг за шагом, этот подход снижает количество гонок и скрытых состояний. Если же вы пишете обычные автотесты без участия LLM, традиционные фреймворки по‑прежнему остаются базовым выбором.