Краулери 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.
На цій сторінці
Що робить 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.
Що станеться, якщо заблокувати кожного з них
- Блокування
GPTBot: контент позначено як не призначений для навчання. Пошук ChatGPT і далі може показувати та цитувати вас, якщоOAI-SearchBotдозволено. - Блокування
OAI-SearchBot: ваші сторінки не показуватимуться у пошукових відповідях ChatGPT. Навчанням окремо керуєGPTBot. - Блокування
ChatGPT-Userу robots.txt: OpenAI повідомляє, що robots.txt може не застосовуватися до таких візитів, тож результат не гарантований. Блокування на рівні файрвола зупиняє завантаження, і користувачі, які вставили ваше посилання, отримають помилку замість вашого контенту. - Блокування всіх трьох на рівні файрвола: ChatGPT не зможе ні індексувати, ні завантажувати ваші сторінки, і цитувати йому не буде чого.
- Дозвіл усім трьом: сторінки можуть індексуватися для пошуку, завантажуватися на запит і, через
GPTBot, використовуватися для навчання.
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 і далі працюють після оновлення, а правила за точним рядком можуть непомітно перестати спрацьовувати.