
SaaS, готовый к браузерным агентам: Operator, ChatGPT Agent и Claude Computer Use в 2026
OpenAI Operator, ChatGPT Agent, Claude Computer Use и Browser Use умеют логиниться, заполнять формы и оформлять заказ на вашем сайте - если им это разрешено. Аудит 2026 года: стабильные селекторы, предсказуемые формы, дружелюбные капчи и ARIA-семантика.
В 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 года.
Как агент видит страницу
Три режима восприятия, в зависимости от агента:
- Чистое зрение (базовый Operator, дефолт Browser Use): агент делает скриншот и спрашивает модель: «куда кликнуть, чтобы сделать X?». Главный ключ - координаты.
- Зрение + дерево доступности (Claude Computer Use, ChatGPT Agent): агент видит и пиксели, и разобранное ARIA/role/label-дерево. Надёжность кратно выше, потому что модель может целиться по имени.
- 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 секунд
Прогоните на топ-сценарии пользователя. Если хоть один шаг провален - чините.
- Откройте сценарий в Chromium с флагом
--disable-blink-features=AutomationControlled. - ПКМ → Inspect → вкладка Accessibility. У каждого интерактивного элемента есть Name и Role? Зачёт.
- Перезагрузите страницу. Имена классов на кнопках не изменились? Зачёт.
- DevTools → Console →
document.querySelectorAll('[data-testid], [data-agent-action]').length. Результат не меньше количества кнопок на странице? Зачёт. - Отправьте форму с заведомо некорректными данными. Текст ошибки виден в DOM (а не только красная рамка)? Зачёт.
- Посетите
/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 пользовательских сценариев против этого списка - раз в неделю.