Виявлення AI-агентів: чим браузери Claude, ChatGPT і Perplexity відрізняються від людей
AI-агенти виглядають як браузери, але поводяться зовсім не як люди — короткі цілеспрямовані сесії, піксельно точні кліки, нуль друкарських помилок. 11 сигналів, що відрізняють трафік Computer Use, Operator і Perplexity.
У 2024 році AI-агенти зробили крок від експериментальних демо до реального трафіку. API Computer Use від Claude може керувати браузером. Інструменти браузингу ChatGPT переходять сайтами, щоб відповісти на запити. Відповідний рушій Perplexity сканує в реальному часі. І дедалі більша категорія AI-помічників — Browserbase, Computer Use від Anthropic, OpenAI Operator — виконують наскрізні вебзадачі від імені користувачів.
Для сайту це створює нову категорію відвідувача, яка не вкладається в жоден із бакетів традиційного bot detection. AI-агенти — це не скрапери, що масово витягують дані. Це не люди, що клікають по інтерфейсу. Це щось посередині — один відвідувач на сесію, одна ціль на візит, але виконана на машинній швидкості з механічною точністю.
Виявляти їх важливо інакше, ніж виявляти ботів. Іноді ви хочете їх обслуговувати (корисний агент, що робить покупки для клієнта). Іноді ви хочете їх блокувати (несанкціонований скрапінг через AI-обгортку). У будь-якому разі спершу треба знати, що вони тут.
Чим AI-агенти відрізняються архітектурно
Трафік AI-агентів у вебі породжують три основні архітектури:
Агенти на основі браузера запускають headless- або headful-браузер під керуванням LLM. Computer Use від Anthropic, OpenAI Operator, Browserbase і Skyvern — усі належать сюди. Браузер — це справжній Chrome чи Chromium. Агент керує ним через маніпуляції з DOM або через аналіз скріншотів і кліки за координатами.
Агенти лише на API отримують сторінки через HTTP-бібліотеки (Node.js, Python, Go) і передають HTML на обробку LLM. Так працює більшість агентів Perplexity та пошукових агентів. Браузера немає — лише шар завантаження, що подає текст моделі.
Гібридні агенти використовують браузер для сайтів із великою кількістю JavaScript і завантаження через API для статичного контенту. Багато реальних агентів належать до цієї категорії, динамічно обираючи підхід залежно від цілі.
Кожна архітектура залишає різні відбитки.
Сигнал 1. Тривалість браузерної сесії
Реальні користувачі мають довгі, нефокусовані сесії. Вони відкривають вкладки, відволікаються, повертаються. Медіанна тривалість людської сесії на задачі, що потребує рішення, — 8–20 хвилин.
AI-агенти мають короткі, сфокусовані сесії. Типова задача Computer Use — забронювати рейс, замовити продукти, витягнути дані про товар — займає від 30 секунд до 3 хвилин наскрізно. Сесія починається із завантаження сторінки, виконує послідовно 5–30 дій і завершується.
Тривалість сесії менша за 5 хвилин із понад 10 дискретними діями та без перемикання вкладок браузера — нетипова людська поведінка й типова агентна.
Сигнал 2. Точність кліків за координатами
Агенти на основі браузера від Anthropic та OpenAI використовують аналіз скріншотів, щоб ідентифікувати елементи інтерфейсу, а потім клікають за координатами. Розрахунок координат точний до пікселя.
Реальні користувачі клікають у межах областей. Кнопка розміром 200x40 пікселів отримує кліки, розподілені по всій площі, зі зсувом до центру, але з людською варіативністю. AI-агенти клікають у вузькій смузі — часто в межах 2–3 пікселів від геометричного центру елемента. Сотня кліків із середнім відхиленням менш ніж 3 пікселі — це не людський розподіл.
Виявлення потребує збору координат кліків та аналізу їх відносно меж елемента. Це добре працює на даних масштабу сесії.
Сигнал 3. Відсутність дослідницького скролу
Люди скролять, щоб побачити, що є на сторінці. Вони скролять униз, потім назад угору, потім частково. Вони затримуються на контенті, що привертає їхню увагу. Їхні траєкторії скролу нерівні.
AI-агенти скролять лише за потреби. Якщо ціль — клікнути «Додати в кошик» і кнопка над згином, агент може взагалі не скролити. Якщо цільовий елемент нижче згину, агент скролить один раз, прямо до цілі, а потім виконує дію.
Сесії з менш ніж 2 змінами напрямку скролу або зі швидкістю скролу, сталою для всіх подій скролу, вказують на браузинг, керований задачею, а не на дослідження.
Сигнал 4. Тайминг вводу тексту
Реальні користувачі друкують зі швидкістю 30–60 слів на хвилину, зі змінними паузами, епізодичними видаленнями та мікровиправленнями. Тайминг натискань клавіш дотримується розподілу з високою варіативністю та ненульовою частотою видалень.
AI-агенти заповнюють форми, вставляючи значення чи симулюючи натискання клавіш зі сталим темпом — часто 50–100 символів на секунду, рівномірно, без видалень. Поле, заповнене за 200 мс рядком із 30 символів і нулем backspace, — це не людський ввід.
Сигнал 5. Відсутність друкарських помилок
Пов'язаний, але окремий сигнал: люди роблять друкарські помилки. На 1000 символів текстового вводу реальні користувачі роблять 15–40 виправлень. AI-агенти роблять нуль. Відправлення форми з 3 полями на понад 100 символів разом і нулем виправлень — незвично для людини.
Сигнал 6. Невідповідності user agent
Деякі AI-агенти використовують кастомні user agent, що явно їх ідентифікують: perplexity-user, ChatGPT-User, ClaudeBot. Це ввічливі агенти, що дотримуються конвенції самоідентифікації й часто поважають robots.txt.
Виявлення тут тривіальне — прочитати user agent, зіставити з відомими списками. Цінність — у розумінні, коли обслуговувати їх інакше (чи блокувати, якщо ви не хочете скрапінгу).
Інші агенти запускають фреймворки на основі браузера й успадковують той user agent, який використовує браузер, — зазвичай Chrome. Їх складніше ідентифікувати лише за user agent, і вони потребують поведінкових сигналів.
Сигнал 7. Рендеринг WebGL у headless-режимі
Агенти на основі браузера, що використовують Chromium у headless-режимі, розкривають рендерер SwiftShader, який ми обговорювали у статті про Puppeteer. Будь-яка сесія, де рендерер WebGL містить SwiftShader, а відвідувач виконує 10+ навмисних дій, — майже напевно агент на основі браузера.
Новіші фреймворки агентів (Browserbase, деякі конфігурації Skyvern) запускають headful Chrome, щоб уникнути цього сигналу. Вони подають справжні рядки GPU. Це означає, що самого WebGL недостатньо для виявлення сучасних агентів — він необхідний як стартовий фільтр, а не як повне рішення.
Сигнал 8. Ідеальне дотримання структури сторінки
Реальні користувачі клікають на посилання навіть тоді, коли відбувається редирект сторінки. Вони перебивають самі себе. Вони роблять подвійний клік, коли вистачило б одинарного. Вони клікають на те, що не є посиланням.
AI-агенти дотримуються DOM. Коли їм потрібно перейти, вони виконують дію проти конкретного елемента. Вони не клікають по хибному елементу й не оновлюють сторінку посеред завантаження. Їхні сесії розгортаються з механічною лінійністю, якої не породжує жодна відволічена людина.
Траси сесій з ідеальним дотриманням — кожен клік по валідному елементу, кожне поле форми, заповнене в порядку DOM, кожен перехід між сторінками з попередньою навмисною дією — читаються як агентні.
Сигнал 9. Time-to-interactive дорівнює нулю
Реальним користувачам потрібен час, щоб обробити сторінку. Вони читають. Вони переглядають. Вони розуміють, перш ніж діяти.
AI-агенти парсять DOM миттєво. Час між завершенням завантаження сторінки й першою дією користувача для реальної людини — зазвичай 1,5–4 секунди навіть на простих сторінках. Для AI-агентів він може бути менш ніж 200 мс — це час, який потрібен LLM, щоб ідентифікувати цільовий елемент у DOM.
Дуже швидкий час першої дії на сторінці, що потребує осмислення контенту, — сильний агентний сигнал.
Сигнал 10. Патерни HTTP-запитів для агентів лише на API
Perplexity, деякі потоки використання інструментів Claude та більшість пошукових агентів не запускають браузери. Вони отримують сторінки напряму через HTTP-бібліотеки.
Ці агенти залишають TLS- і HTTP-сигнали, які ми обговорювали раніше, — відбиток undici Node.js, відбиток requests Python, відбиток net/http Go. Вони зазвичай не виконують JavaScript, тож взагалі не спрацьовують на клієнтське виявлення.
Виявлення агентів лише на API відбувається на мережевому рівні: хеші TLS JA4, порядок HTTP-заголовків, відсутність специфічних для браузера поведінок (немає запиту favicon, немає аналітичного beacon, немає запитів шрифтів). Якщо ви хочете ідентифікувати цих агентів, треба дивитися на те, що не відбувається, так само уважно, як і на те, що відбувається.
Сигнал 11. Цілі сесії у формі задачі
Найсильніший сигнал не технічний — він поведінковий. Сесії AI-агентів цілеспрямовані так, як людські сесії бувають рідко.
Реальний користувач, що шукає товар, може подивитися на 8 позицій, порівняти характеристики в 3 вкладках, почитати відгуки, покинути й повернутися за годину, а потім купити. AI-агент іде до товару, витягує характеристики, додає в кошик, оформлює замовлення. Менш ніж 90 секунд. Жодних відхилень.
Системи виявлення, що відстежують рівень виконання цілей на рівні сесії, можуть ідентифікувати агентний трафік за щільністю успішного виконання задач у коротких сесіях. Це повільніший сигнал, але дуже надійний у поєднанні з подієвими сигналами.
Обслуговування агентів інакше
Після ідентифікації трафік AI-агентів можна обробляти кількома способами:
-
Блокувати — якщо сайт не хоче автоматизованого доступу, відмовляти на межі. Дешево й просто.
-
Подавати альтернативний контент — відповідати версією, оптимізованою під API (JSON, структуровані дані), яку дешевше згенерувати, ніж повну HTML-сторінку.
-
Обмежувати частоту — дозволяти агентам, але обмежувати частоту їхніх запитів, щоб зберегти продуктивність сайту.
-
Стягувати плату — деякі сайти починають брати з AI-компаній плату за програмний доступ до своїх даних. Виявлення — передумова для тарифікації.
-
Обслуговувати як звичайно — якщо агент діє від імені реального клієнта, обслуговувати його — це бізнес.
Різні сайти робитимуть різний вибір. Технічно важливо мати налаштоване виявлення, щоб цей вибір був доступний.
Рухома ціль
Фреймворки AI-агентів удосконалюються щомісяця. Anthropic випускає оновлення Computer Use, що додають варіативність скролу. Browserbase додає тремтіння миші. OpenAI Operator запроваджує симуляцію друкарських помилок. Кожне покоління фреймворку закриває частину поверхні виявлення, описаної вище.
Техніки, що працюють у 2026 році, потребуватимуть оновлення до 2027-го. Але базова реальність не зміниться: AI-агенти виконують задачі. Люди сприймають вебсайти. Ця асиметрія породжує сигнал, хоч би які конкретні техніки агенти використовували, щоб спробувати злитися з фоном.
Стеки виявлення, що трактують AI-агентів як стійку категорію, яка розвивається, а не як одноразово розв'язану задачу, збережуть видимість. Ті, що випустять єдиний детектор і забудуть про нього, виявлять, як їхнє покриття тихо деградує.