Двух категорий больше недостаточно
На протяжении многих лет трафик делили на две группы: люди и боты. Людям давали доступ к продукту. Ботов блокировали, ограничивали по скорости или игнорировали.
Сегодня такое деление уже не работает. Часть автоматизированных посетителей - это агенты, действующие от имени реальных клиентов: ассистент, сравнивающий тарифы, агент, получающий данные через ваш API, инструмент, вызывающий ваш MCP server, чтобы завершить задачу. Поставщики ИИ уже сами документируют такой инициированный пользователем доступ: OpenAI указывает, что его агент ChatGPT-User посещает страницы, когда пользователь задает вопрос ChatGPT (документация OpenAI по краулерам), а Anthropic перечисляет Claude-User для той же цели (документация Anthropic по краулерам). В то же время некоторые люди работают с ИИ бок о бок, составляют сообщения, заполняют формы и используют продукты при поддержке ассистента. Если загонять все это в категории человека или бота, получаются неверные решения в обе стороны. Легитимных агентов блокируют, а реальных людей проверяют слишком жестко, потому что их поведение выглядит необычно.
Чтобы отличать трафик людей и ИИ-агентов так, чтобы это приводило к правильным решениям, нужны более точные категории, а также понимание того, насколько можно доверять каждому результату. В статье как определить, что трафик сайта идет от ИИ-агентов разбираются сигналы, которые делают это возможным, а в кейсе для SaaS-приложений показано, где такое различие меняет продуктовые решения.
Четыре класса с точным значением
Proof of Actor классифицирует взаимодействия по четырем классам. У каждого есть определение и явное ограничение, чтобы никто в вашей команде не считывал из результата больше, чем позволяет доказательство. Подробно об этой таксономии читайте в материале Human, AI-assisted or agent: a taxonomy for app traffic.
Human
Поддерживаемые наблюдаемые сигналы указывают на взаимодействие, инициированное человеком. Этот класс описывает, кто направляет взаимодействие, а не личность как таковую. Результат Human не подтверждает, кто именно этот человек, и не утверждает, что ИИ нигде не использовался.
Human + AI
ИИ-помощь была заявлена или обнаружена через поддерживаемую интеграцию, которая действительно может это видеть. Примеры: пользователь отмечает, что контент был подготовлен с помощью ИИ, через ваш механизм раскрытия, или ваше приложение сообщает, что встроенный ассистент выполнил действие для вошедшего в систему пользователя. Подробнее см. в глоссарной статье AI-assisted interaction.
Agent
Автоматизированное или исходящее от агента взаимодействие, подтвержденное проверяемой идентичностью, например действительной подписью запроса от опубликованного ключа, либо аккуратно сформулированным выводом. Результат Agent описывает, кто действует. Он не означает, что агент авторизован, безопасен или действует на основании действительной делегации от человека. Подробнее об этом см. в разделе autonomous agents.
Unknown
Имеющихся доказательств недостаточно для надежного определения. Unknown - это честный и полезный результат: он показывает границу вашей видимости и позволяет осознанно обрабатывать неопределенные случаи, а не делать это случайно.
У каждого класса есть основание
Разделить трафик людей и агентов - это только половина задачи. Вторая половина - понимать, насколько сильным является каждый вывод. Поэтому каждый результат Proof of Actor содержит основание:
- Verified: проверяемое утверждение, подтвержденное, например подпись запроса, сверенная с опубликованным ключом.
- Declared: это было заявлено клиентом или вашим приложением, например агент назвал себя сам или пользователь раскрыл использование ИИ.
- Inferred: вывод, сделанный на основе поведенческих или контекстных сигналов, всегда помеченный как вывод.
- Unknown: для определения недостаточно доказательств.
Именно сочетание класса и основания позволяет строить точные правила. Подтвержденный агент и агент, определенный по выводу, оба являются агентами, но для первого вы можете дать структурированный API, а для второго применить стандартное ограничение по скорости. Заявленная ИИ-поддержанная отправка и сеанс человека могут оба проходить нормально, с пометкой, которая помогает вашей службе поддержки. Полную таксономию можно найти в разделе Detection & Limitations.
Как происходит классификация
Proof of Actor использует один и тот же путь, ориентированный сначала на доказательства, для каждого взаимодействия. Полное описание находится в разделе How It Works.
Сигналы, которые может видеть ваша интеграция
- Подписи запросов от автоматизированных клиентов, которые публикуют свои ключи, с использованием HTTP Message Signatures, как определено в RFC 9421. Рабочая группа IETF Web Bot Auth получила мандат на стандартизацию того, как автоматизированные клиенты аутентифицируются таким способом.
- Декларации от клиентов, которые идентифицируют себя сами, например документированные user agents ИИ-краулеров и fetcher-ов, а также от вашего собственного приложения, когда оно знает, что задействована ИИ-помощь.
- Контекст запроса, доступный серверной интеграции, например заголовки и детали протокола.
- Сигналы взаимодействия от одобренной браузерной интеграции на страницах, где она работает.
От сигналов к результату
Сигналы проверяются, маркируются по основанию и объединяются. Сильные проверенные доказательства дают уверенный результат. Слабые или противоречивые доказательства дают квалифицированный вывод или Unknown. Тайм-аут или отсутствующий сигнал никогда не превращаются в результат Human. На выходе получается класс, основание и краткое описание доказательств, которое сможет прочитать любой участник вашей команды.
Что можно делать после разделения трафика
Proof of Actor построен вокруг трех возможностей: Detect, Understand и Route.
Detect the actor behind each interaction
Собирайте сигналы, доступные в каждом контексте, и отделяйте проверенные утверждения от выводов. Держите Unknown видимым.
Understand how each actor uses your product
Смотрите на соотношение трафика людей, с ИИ-поддержкой, агентов и неизвестного по маршрутам и во времени. Открывайте любой результат, чтобы увидеть, что известно, а что нет. Выявляйте маршруты, где концентрируются агенты, и рабочие процессы, где ИИ-помощь встречается чаще всего.
Route each actor to the right experience
Применяйте собственные политики, когда доказательства это позволяют. На публичном сайте кейс websites use case показывает, как такие решения соотносятся с реальными маршрутами:
- Предоставляйте проверенным агентам структурированный ответ или API вместо страниц, оформленных как для человека.
- Оставляйте стандартный опыт для сеансов, инициированных человеком.
- Помечайте отправки, выполненные с помощью ИИ, чтобы их обрабатывала нужная команда.
- Запрашивайте более сильные учетные данные для чувствительных действий, если этого требуют ваши условия.
- Задавайте явный запасной вариант для Unknown на каждом маршруте, например разрешайте публичные страницы и сохраняйте существующие проверки для изменений учетной записи.
В руководстве безопасный поэтапный запуск политик с учетом акторов описано, как переходить от наблюдения к enforcement по одному маршруту за раз.
Почему это важно для ваших пользователей
Когда это сделано правильно, выигрывают все, кто пользуется вашим приложением.
Людям проще работать, потому что их не проверяют на основании расплывчатого балла. Люди, работающие с ИИ, получают поддержку для раскрытой помощи в тех процессах, где это уместно. Легитимные агенты получают надежный и структурированный способ выполнять свои задачи, что снижает объем скрапинга и нагрузку на интерфейс. Ваша команда получает объяснимые решения, поэтому обращения в поддержку, разбор инцидентов и изменения политик опираются на доказательства, а не на догадки.
Логин - это не актор
Один из самых частых источников путаницы - это сама учетная запись. Вошедшая в систему сессия показывает, какая учетная запись используется. Она не показывает, кто именно направляет текущее взаимодействие. Одну и ту же учетную запись может использовать владелец, который утром кликает по настройкам, ассистент, которого владелец попросил выгрузить отчет в полдень, и агент, работающий через ключ API вечером.
Если считать все три случая одинаковыми, возникают проблемы в обе стороны. Если каждое обращение в рамках учетной записи считать действиями владельца, агент может получить доступ к рабочим процессам, которые были рассчитаны на человека. Если каждое необычное обращение считать атакой, будут блокироваться собственные инструменты владельца. Разделение актора и учетной записи позволяет вашему приложению оставить аутентификацию и авторизацию без изменений и добавить недостающий контекст о том, кто действует прямо сейчас. Именно этот контекст делает возможным структурированный доступ для агентов без открытия для них рабочих процессов, предназначенных только для людей.
Начните в режиме наблюдения
Любое развертывание начинается в режиме наблюдения. Proof of Actor записывает результаты, пока ваше приложение отвечает точно так же, как и раньше. Ваша команда формирует базовую картину трафика людей, с ИИ-поддержкой, агентов и неизвестного, сравнивает ее с уже известными вам результатами и проверяет все ложноположительные случаи до того, как изменится хотя бы одно правило. Когда политика готова, вы включаете ее для одного рабочего процесса и расширяете применение дальше.
Присоединяйтесь к программе для founding developers
Proof of Actor находится в private beta и доступен небольшой группе команд, работающих над приложениями. Отобранные founding developers могут получить до 12 месяцев бесплатного доступа в пределах согласованных лимитов использования в обмен на практическую обратную связь. Вы получаете прямую помощь в интеграции от наших инженеров, ранний доступ к возможностям и влияние на приоритеты.
Если вам нужно различать трафик людей и ИИ-агентов в вашем приложении, подайте заявку на ранний доступ и расскажите, какое взаимодействие вы хотите понять прежде всего.
Изучите Proof of Actor, прочитайте как это работает или посмотрите, что именно можно установить с помощью доказательств.
Источники
- RFC 9421: HTTP Message Signatures, IETF, February 2024.
- Web Bot Auth (webbotauth) working group charter, IETF.
- Overview of OpenAI crawlers, OpenAI.
- Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic.