Skip to content
AI Visibility

SaaS, готовый к браузерным агентам: Operator, ChatGPT Agent и Claude Computer Use в 2026

OpenAI Operator, ChatGPT Agent, Claude Computer Use и Browser Use умеют логиниться, заполнять формы и оформлять заказ на вашем сайте - если им это разрешено. Аудит 2026 года: стабильные селекторы, предсказуемые формы, дружелюбные капчи и ARIA-семантика.


Mikhail Savchenko·11 мая 2026 г.·5 мин чтения
Browser AgentsOperatorChatGPT AgentComputer UseAccessibility

В 2026 году ваш покупатель - это не всегда тот, кто кликнул на ваш баннер. Это может быть агент, которому он делегировал задачу. OpenAI Operator в I квартале 2026-го забронировал 1,2 миллиона ночёвок в отелях. Claude Computer Use оформляет триал в B2B SaaS. ChatGPT Agent заполняет государственные формы. Browser Use лежит в основе автоматизации каждого соло-фаундера.

Каждый из них - это LLM с компьютерным зрением, открывающий ваш сайт в настоящем Chromium, смотрящий на экран, принимающий решение и переписывающий действие при ошибке. Они доходят до конца там, где страница семантически читаема, и бросают там, где нет. Разрыв между «agent-friendly» и «agent-hostile» в 2026-м - это тот же разрыв, который в 2010-м решал мобильную совместимость, а в 2018-м - доступность: уже не роскошь, а новый сегмент клиента.

Это аудит-лист 2026 года.

Как агент видит страницу

Три режима восприятия, в зависимости от агента:

  1. Чистое зрение (базовый Operator, дефолт Browser Use): агент делает скриншот и спрашивает модель: «куда кликнуть, чтобы сделать X?». Главный ключ - координаты.
  2. Зрение + дерево доступности (Claude Computer Use, ChatGPT Agent): агент видит и пиксели, и разобранное ARIA/role/label-дерево. Надёжность кратно выше, потому что модель может целиться по имени.
  3. DOM tap (новые сборки Operator, dom_mode у Browser Use): агент читает отрендеренный DOM, извлекает обогащённое представление (селектор + роль + bbox + предки) и принимает решение по структурированным данным.

Выбирать режим за посетителя нельзя. Поэтому проектировать надо под третий (самый требовательный) - первые два получат бонус автоматически.

Пять требований

1. Стабильные селекторы

Каждый интерактивный элемент, который вам важен, получает атрибут data-testid или data-agent-action. Значение переживает редеплой, ребрендинг и обновление tailwind. Работает:

<button data-agent-action="submit-booking" aria-label="Подтвердить бронь">Подтвердить</button>
<a data-agent-action="open-cart" href="/cart">Корзина (3)</a>
<input data-agent-field="email" type="email" name="email" autocomplete="email" />

Не работает:

<button class="css-1xkj4m hover:css-zz9p9o">Подтвердить</button>
<a href="/cart"><svg></svg></a>
<div class="rounded p-2 border" contenteditable="true"></div>

Если ваш стек CSS-in-JS отдаёт хешированные имена классов, селектор после deploy-N и после deploy-N+1 - разные строки. Плейбук агента (написанный какой-то LLM-моделью с семидневным cut-off-датасетом) ломается при каждом редеплое. data-testid инвариантен по соглашению.

2. Семантические атрибуты в формах

Каждый input получает как минимум name, id, type, autocomplete и связанный с ним <label for=…>. Браузерные агенты, обучавшиеся на миллионах форм, видят такие паттерны. Кастомные React-компоненты, прячущие настоящий input из DOM (был распространённый паттерн в ранних shadcn/ui 2024 года), стоят 30-50% успеха агента.

Хуже всего - датапикеры. Нативный <input type="date"> работает для любого агента. Кастомный календарь на Headless UI с клавиатурными обработчиками и aria-grid - только для агентов, читающих дерево доступности. Кастомный JS-пикер, перехватывающий onKeyDown и кладущий состояние в ref'ы, не работает ни у кого.

3. Нет CAPTCHA-стен на основных сценариях

Cloudflare Turnstile, hCaptcha и Google reCAPTCHA борются с ботами - включая агентов, которые ваши же клиенты. Паттерн 2026 года:

  • Логин / регистрация: разрешать идентифицированных агентов. Использовать risk-based challenge, а не сплошной Turnstile.
  • Read-flow (поиск, просмотр, чтение карточки): не закрывать никогда.
  • Write-flow с деньгами (оплата, вывод средств): включать Turnstile в режиме passive, который пропускает идентифицированных агентов; полноценная проверка только для подозрительного трафика.
  • Создание аккаунта: вот тут уместен реальный человеческий challenge. Но идентифицированный Operator / Agent направляйте на отдельный flow с временным OAuth-скоупом.

Если закрыли всё подряд - агенты обучатся уходить с вашего домена при первой стене. Хуже: модель за ними помнит, и в её будущих ответах ваши конкуренты будут выше.

4. Восстановимые ошибки

Когда агент отправляет форму, и сервер её отклоняет, ошибка должна быть:

  • Видна в DOM как текст (а не только красная рамка).
  • Программно связана с полем (aria-describedby="error-email").
  • Достаточно конкретна, чтобы модель её исправила («Email уже используется - попробуйте войти», а не «Неверный ввод»).
  • Не за тостом, который через 3 секунды исчезает.

Проверка: прогоните основную форму через Claude Computer Use с заведомо некорректным вводом. Если агент способен описать ошибку человеческими словами - тест пройден. Если он просто пытается отправить ту же форму повторно - не пройден.

5. Манифест агента

Well-known URL - по соглашению /actions.json или /.well-known/agent-actions - объявляющий ваши вызываемые поверхности:

{
  "version": "2026-05",
  "actions": [
    {
      "id": "create-booking",
      "url": "/book/{slug}",
      "method": "form",
      "fields": ["start_date", "end_date", "vehicle_id"],
      "auth": "session"
    },
    {
      "id": "lookup-rate",
      "url": "/api/v1/rates",
      "method": "GET",
      "params": ["origin", "destination", "date"],
      "auth": "api_key"
    }
  ]
}

Это мост между агентами, которые скрейпят DOM, и теми, что вызывают API. ChatGPT Agent и Claude с подключённым MCP в первую очередь проверяют этот URL и предпочтут API-вызов агентскому клику, если оба доступны. Быстрее, надёжнее, меньше нагрузка на ваш CDN.

Аудит за 60 секунд

Прогоните на топ-сценарии пользователя. Если хоть один шаг провален - чините.

  1. Откройте сценарий в Chromium с флагом --disable-blink-features=AutomationControlled.
  2. ПКМ → Inspect → вкладка Accessibility. У каждого интерактивного элемента есть Name и Role? Зачёт.
  3. Перезагрузите страницу. Имена классов на кнопках не изменились? Зачёт.
  4. DevTools → Console → document.querySelectorAll('[data-testid], [data-agent-action]').length. Результат не меньше количества кнопок на странице? Зачёт.
  5. Отправьте форму с заведомо некорректными данными. Текст ошибки виден в DOM (а не только красная рамка)? Зачёт.
  6. Посетите /actions.json или /.well-known/agent-actions. Отдаёт валидный JSON? Зачёт.

100%-ный проход на готовом flow стоит компетентному фронтенду 2-4 часа. Свежий flow, написанный сразу по этому чек-листу, стоит ровно столько же, сколько и без него: семантический HTML - не больше клавиатурных нажатий, чем div-каша.

Что есть в inite.ai

Командам B2B SaaS, которые хотят убедиться, что приложение проходит аудит, inite.ai/ru/analyze прогоняет все шесть проверок по URL и выдаёт приоритизированный punch list. Вывод читается как код-ревью: файл/строка, куда вставить пропущенный aria-label, какие селекторы сломаются на следующем деплое, в каких формах нет autocomplete. MCP-сервер отдаёт audit_browser_agent_readiness(url), так что агент Claude или Cursor может прогнать оценку сайта прямо из CI.

Логика та же, что в AEO: измеряем раз в неделю, чиним самое худшее каждый спринт. Агентский трафик в 2026 году - то же самое, что мобильный в 2012-м: кривая, на которой либо едешь, либо смотришь со стороны.

Часто задаваемые вопросы
  • 01Какие браузерные агенты важны в 2026 году?+

    Четыре продакшен-агента создают реальный трафик: OpenAI Operator (тариф consumer + business), ChatGPT Agent (внутри chat.com, заменил старую бету Tasks), Claude Computer Use (Claude 4.5 в консоли Anthropic и по API для разработчиков), Browser Use (open-source, 60K+ звёзд на GitHub, дефолтный стек для соло-разработчиков). Все четыре работают через зрение - видят страницу, как человек, - но всем им проще, когда есть семантический HTML и стабильные селекторы. Оптимизируйтесь под объединение, а не пересечение.

  • 02Реально ли доступность (ARIA) помогает AI-агентам?+

    Да - это самое выгодное по соотношению затрат и эффекта изменение. Агенты предпочитают дерево доступности скриншоту: оно структурировано, у элементов есть роли и подписи. Кнопка с `aria-label='Submit booking'` нажимается надёжнее, чем «синий прямоугольник в координатах (480, 612)». В мае 2025 года Anthropic в работе по Computer Use прямо называет ARIA-лейблы улучшением №1 со стороны сайта.

  • 03Как детектировать агентский трафик?+

    Три сигнала: (1) в user-agent есть Operator, ChatGPT-Agent, Anthropic-ComputerUse или BrowserUse - большинство представляется; (2) энтропия движения мыши ниже человеческой - агент кликает напрямую, без наведения; (3) отсутствие типичных fingerprint'ов браузера (на первой загрузке нет записи в localStorage, есть характерные особенности headless Chrome). Логируйте все три, выставьте /api/me endpoint, который отдаёт подсказки идентифицированному агенту - и клиент сможет подстроить UI.

  • 04Нужно ли показывать агентам отдельный UI?+

    Да - выборочно. Паттерн «progressive enhancement for agents»: человеческий UI остаётся каноничным; для распознанных агентов добавляются `data-agent-action` на кнопки, по well-known URL отдаётся JSON-манифест /actions, отключаются анимации и скелетоны, которые задерживают восприятие. Полностью разветвлять UI - дорогая ошибка по поддержке: достаточно подсказок.

  • 05Что чаще всего убивает прохождение задачи?+

    По частоте: (1) Cloudflare Turnstile / hCaptcha на основной форме; (2) хешированные классовые селекторы, меняющиеся с каждым деплоем («css-1xkj4m»); (3) input'ы без name и autocomplete; (4) кастомные React-датапикеры, перехватывающие клавиатуру; (5) модалки поверх модалок, которые агент не может закрыть; (6) ошибки, отображаемые только красным border'ом без текста. Аудит топ-3 пользовательских сценариев против этого списка - раз в неделю.