Краулеры OpenAI: GPTBot, OAI-SearchBot и ChatGPT-User

Опубликовано

Короткий ответ

OpenAI использует GPTBot для сбора контента, который может пойти на обучение моделей, OAI-SearchBot для индексации страниц в поиске ChatGPT и ChatGPT-User для визитов по запросу человека. Блокировка GPTBot отключает только обучение. Блокировка OAI-SearchBot убирает вас из поисковых ответов ChatGPT. К ChatGPT-User правила robots.txt могут не применяться.

Три разных user agent от одной компании, у каждого свой токен robots.txt — это вызывает много путаницы. Многие сайты заблокировали GPTBot, когда он появился, а некоторые позже обнаружили, что заодно закрыли и краулер, который решает, сможет ли ChatGPT их цитировать, нередко из-за слишком широкого правила файрвола. В этой статье каждый агент разобран по собственной документации OpenAI.

На этой странице
  1. Что делает GPTBot
  2. Что делает OAI-SearchBot
  3. Что делает ChatGPT-User
  4. Что произойдёт, если заблокировать каждого из них
  5. Какой robots.txt использовать для краулеров OpenAI
  6. Как убедиться, что файрвол их пропускает

Что делает GPTBot

GPTBot собирает контент, который может использоваться для обучения базовых генеративных моделей OpenAI. В документации OpenAI сказано, что запрет для GPTBot означает: контент сайта не должен использоваться для обучения этих моделей.

В его user agent есть токен GPTBot, например Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot. OpenAI отмечает, что номер версии может меняться, поэтому ориентируйтесь на токен, а не на всю строку. Диапазоны IP-адресов OpenAI публикует на openai.com/gptbot.json.

Разрешать его или нет — вопрос вашей политики. Одни издатели хотят, чтобы их контент попал в обучающие данные, другие нет. На поиск ChatGPT блокировка не влияет, потому что это другой краулер. Если вы передумаете, достаточно убрать строку Disallow; ничего регистрировать или запрашивать не нужно.

Что делает OAI-SearchBot

OAI-SearchBot — поисковый краулер OpenAI. Он показывает сайты в поисковых функциях ChatGPT. OpenAI прямо пишет, что сайты, отказавшиеся от OAI-SearchBot, не будут показываться в поисковых ответах ChatGPT.

Если вы хотите, чтобы ChatGPT цитировал ваши страницы, этот краулер нужно разрешить и в robots.txt, и в файрволе. Его диапазоны IP-адресов опубликованы на openai.com/searchbot.json, так что файрвол может проверить, что запрос действительно пришёл от OpenAI.

Что делает ChatGPT-User

ChatGPT-User — не краулер в привычном смысле. Он загружает страницу, когда её запрашивает пользователь ChatGPT или Custom GPT, например когда человек вставляет ваш URL в чат и просит сделать пересказ. OpenAI сообщает, что он не используется для автоматического обхода веба.

Из документации OpenAI здесь важны две детали. Во-первых, поскольку эти действия инициирует пользователь, правила robots.txt могут не применяться. Во-вторых, ChatGPT-User не используется для решения, может ли контент появиться в поиске. Для поиска значима настройка OAI-SearchBot.

Что произойдёт, если заблокировать каждого из них

OpenAI также отмечает, что если разрешены и GPTBot, и OAI-SearchBot, компания может использовать результаты одного обхода для обеих целей, чтобы не обходить сайт дважды.

Какой robots.txt использовать для краулеров OpenAI

Большинству сайтов, которые хотят появляться в ответах ChatGPT, стоит разрешить поисковый краулер, а вопрос обучения решить отдельно. Этот файл разрешает поиск и отключает обучение:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

User-agent: *
Allow: /
Disallow: /admin/

Обратите внимание на деталь RFC 9309: краулер следует группе, в которой он назван, и игнорирует группу *. В примере выше OAI-SearchBot получил бы доступ в /admin/, потому что в его собственной группе нет строки Disallow: /admin/. Повторяйте закрытые пути в каждой именованной группе. По словам OpenAI, изменения для поиска могут применяться около 24 часов.

Как убедиться, что файрвол их пропускает

robots.txt лишь описывает вашу политику. Что реально получает каждый запрос, решает файрвол или CDN. Запросите страницу с user agent каждого краулера и сравните код ответа и размер тела с запросом из браузера. Если краулер получает 403, 429 или страницу-проверку, а браузер обычную страницу, значит, файрвол перекрывает ваш robots.txt.

AISeeWhy выполняет это сравнение сразу для всех трёх агентов OpenAI, блокировки OAI-SearchBot и ChatGPT-User помечает как P1, потому что они стоят вам цитирований, а заблокированный GPTBot показывает как P3 — выбор политики, а не ошибку.

Частые вопросы

GPTBot и ChatGPT — это одно и то же?

Нет. GPTBot — краулер для обучающих данных. Поиск ChatGPT использует OAI-SearchBot, а живые визиты по запросу пользователей приходят от ChatGPT-User.

Можно ли разрешить поиск ChatGPT, но запретить обучение?

Да. Разрешите OAI-SearchBot и запретите GPTBot в robots.txt. В документации OpenAI эти две настройки названы независимыми.

Стоит ли блокировать OpenAI по IP-адресу?

Блокировка по IP не даёт краулеру прочитать ваш robots.txt и усложняет смену политики. Обычно лучше задать политику в robots.txt, а опубликованные диапазоны IP использовать для проверки краулеров OpenAI, а не для их блокировки.

Почему ориентироваться на токен, а не на полный user agent?

OpenAI сообщает, что номер версии в его user agent может меняться, а опубликованные примеры строк у разных краулеров отличаются. Правила по GPTBot или OAI-SearchBot продолжают работать после обновления, а правила по точной строке могут незаметно перестать срабатывать.

Источники

Другие статьи