Crawlers da OpenAI explicados: GPTBot, OAI-SearchBot e ChatGPT-User

Publicado em

Resposta curta

A OpenAI usa o GPTBot para coletar conteúdo que pode treinar seus modelos, o OAI-SearchBot para indexar páginas na busca do ChatGPT e o ChatGPT-User para visitas que uma pessoa pede. Bloquear o GPTBot só tira você do treinamento. Bloquear o OAI-SearchBot tira você das respostas da busca do ChatGPT. O robots.txt pode não valer para o ChatGPT-User.

Três user agents diferentes de uma mesma empresa, cada um com seu próprio token no robots.txt, causam muita confusão. Muitos sites bloquearam o GPTBot quando ele surgiu, e alguns descobriram depois que também tinham bloqueado o crawler que decide se o ChatGPT pode citá-los, muitas vezes por uma regra ampla de firewall. Este artigo percorre cada agente com base na documentação da própria OpenAI.

Neste artigo
  1. O que o GPTBot faz?
  2. O que o OAI-SearchBot faz?
  3. O que o ChatGPT-User faz?
  4. O que acontece quando bloqueio cada um?
  5. Que robots.txt devo usar para os crawlers da OpenAI?
  6. Como confirmo que o firewall deixa eles passarem?

O que o GPTBot faz?

O GPTBot rastreia conteúdo que pode ser usado para treinar os modelos de base de IA generativa da OpenAI. A documentação da OpenAI diz que bloquear o GPTBot indica que o conteúdo de um site não deve ser usado no treinamento desses modelos.

O user agent dele contém o token GPTBot, por exemplo Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot. A OpenAI observa que o número da versão pode mudar, então use o token, não a string completa. A OpenAI publica suas faixas de IP em openai.com/gptbot.json.

Permitir ou não é uma decisão de política. Alguns publicadores querem seu conteúdo nos dados de treinamento, outros não. Bloqueá-lo não afeta a busca do ChatGPT, porque esse é outro crawler. Se mudar de ideia depois, basta remover a linha Disallow; não há nada a registrar nem a solicitar.

O que o OAI-SearchBot faz?

O OAI-SearchBot é o crawler de busca da OpenAI. Ele coloca sites nos recursos de busca do ChatGPT. A OpenAI afirma claramente que sites que optaram por sair do OAI-SearchBot não aparecerão nas respostas da busca do ChatGPT.

Se você quer que o ChatGPT cite suas páginas, este é o crawler a permitir, tanto no robots.txt quanto no firewall. Suas faixas de IP são publicadas em openai.com/searchbot.json, o que permite ao firewall verificar que uma requisição realmente vem da OpenAI.

O que o ChatGPT-User faz?

O ChatGPT-User não é um crawler no sentido habitual. Ele busca uma página quando um usuário do ChatGPT ou um GPT personalizado pede, por exemplo quando alguém cola sua URL em uma conversa e pede um resumo. A OpenAI diz que ele não é usado para rastrear a web automaticamente.

Dois detalhes da documentação da OpenAI importam aqui. Primeiro, como essas ações são iniciadas por um usuário, as regras do robots.txt podem não valer. Segundo, o ChatGPT-User não é usado para determinar se um conteúdo pode aparecer na busca. Para a busca, a configuração que conta é a do OAI-SearchBot.

O que acontece quando bloqueio cada um?

A OpenAI também observa que, quando o GPTBot e o OAI-SearchBot estão liberados, ela pode usar o resultado de um rastreamento para as duas finalidades, para não rastrear duas vezes.

Que robots.txt devo usar para os crawlers da OpenAI?

Para a maioria dos sites que querem aparecer nas respostas do ChatGPT, libere o crawler de busca e decida separadamente sobre o treinamento. Este arquivo permite a busca e opta por sair do treinamento:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

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

Note um detalhe da RFC 9309: um crawler segue o grupo que o cita e ignora o grupo *. No exemplo acima, o OAI-SearchBot poderia entrar em /admin/, porque o grupo dele não tem a linha Disallow: /admin/. Repita em cada grupo nomeado os caminhos que você quer manter privados. A OpenAI diz que as mudanças na busca podem levar cerca de 24 horas para valer.

Como confirmo que o firewall deixa eles passarem?

O robots.txt só declara sua política. O firewall ou a CDN decide o que cada requisição realmente recebe. Peça uma página com o user agent de cada crawler e compare o código de status e o tamanho do corpo com uma requisição de navegador. Um 403, um 429 ou uma página de desafio para o crawler, com uma página normal para o navegador, significa que o firewall se sobrepõe ao seu robots.txt.

A AISeeWhy faz essa comparação para os três agentes da OpenAI de uma vez, marca bloqueios do OAI-SearchBot e do ChatGPT-User como P1, porque custam citações, e lista um GPTBot bloqueado como uma escolha de política P3, não como erro.

Perguntas frequentes

O GPTBot é o mesmo que o ChatGPT?

Não. O GPTBot é um crawler de dados de treinamento. A busca do ChatGPT usa o OAI-SearchBot, e as visitas em tempo real pedidas por usuários vêm do ChatGPT-User.

Posso permitir a busca do ChatGPT e bloquear o treinamento?

Sim. Libere o OAI-SearchBot e bloqueie o GPTBot no robots.txt. A OpenAI documenta as duas configurações como independentes.

Devo bloquear a OpenAI por endereço IP?

Bloquear por IP impede o crawler de ler seu robots.txt e dificulta mudar sua política depois. Normalmente é melhor declarar a política no robots.txt e usar as faixas de IP publicadas para verificar, não para bloquear, os crawlers da OpenAI.

Por que usar o token e não o user agent completo?

A OpenAI diz que o número da versão em seus user agents pode mudar, e as strings de exemplo que ela publica variam entre os crawlers. Regras que usam GPTBot ou OAI-SearchBot continuam funcionando após uma atualização; regras que usam a string exata podem deixar de funcionar sem aviso.

Fontes

Mais artigos