Anthropic의 크롤러: ClaudeBot, Claude-SearchBot, Claude-User
Anthropic은 세 가지 에이전트를 운영합니다. ClaudeBot은 모델 학습에 쓰일 수 있는 콘텐츠를 수집하고, Claude-SearchBot은 Claude의 검색 결과를 개선하기 위해 크롤링하며, Claude-User는 Claude 사용자의 질문에 필요할 때 페이지를 가져옵니다. 각각 고유한 robots.txt 토큰이 있고, Anthropic은 세 가지 모두 robots.txt를 따른다고 밝힙니다. ClaudeBot만 차단해서는 검색이나 사용자 요청 가져오기가 멈추지 않습니다.
Anthropic은 크롤러를 하나의 도움말 페이지에 문서화하고 있으며, 구조는 다른 AI 벤더와 같습니다. 학습용 에이전트 하나, 검색용 하나, 사용자를 대신한 실시간 가져오기용 하나입니다. Claude가 내 페이지를 찾고 인용하기를 원한다면 뒤의 두 가지가 가장 중요합니다.
이 글의 목차
ClaudeBot은 무엇을 하나요?
ClaudeBot은 Anthropic의 생성형 AI 모델 학습에 기여할 수 있는 웹 콘텐츠를 수집합니다. Anthropic에 따르면 이를 차단하면 사이트의 앞으로의 콘텐츠를 학습 데이터셋에서 제외하라는 신호가 됩니다.
Anthropic은 또한 IETF 초안에 기반한 기계 판독 가능한 AI 학습 금지 신호를 따르며, robots.txt에서 ClaudeBot을 지정한 규칙이 그 일반 설정보다 우선한다고 밝힙니다. 다른 학습 크롤러와 마찬가지로 이를 차단할지는 정책 선택입니다.
Claude-SearchBot은 무엇을 하나요?
Claude-SearchBot은 Claude 검색 결과의 관련성과 정확성을 높이기 위해 웹을 크롤링합니다. Anthropic은 이를 차단하면 콘텐츠가 검색용으로 색인되지 않아 사용자 검색 결과에서의 노출과 정확성이 낮아질 수 있다고 밝힙니다.
누군가 묻기 전에 Claude의 검색 기능이 내 페이지를 알고 있기를 원한다면 허용해야 하는 에이전트입니다. 검색 크롤러이므로 다른 검색 크롤러와 같은 것들이 도움이 됩니다. robots.txt에 명시한 사이트맵, 정돈된 내부 링크, 첫 응답에서 콘텐츠를 반환하는 페이지입니다.
Claude-User는 무엇을 하나요?
Claude-User는 Claude 사용자가 URL을 공유하거나 무언가를 찾아 달라고 요청하는 등, 웹사이트 접근이 필요한 질문을 할 때 해당 사이트에 접속합니다. Anthropic은 이를 차단하면 사용자 질의에 대한 가져오기가 막혀 사용자 주도 웹 검색에서의 노출이 줄 수 있다고 밝힙니다.
다른 일부 벤더와의 차이에 유의하세요. Anthropic은 자사 봇이 robots.txt 지시문을 따른다고 밝히고, robots.txt를 통해 Claude-User를 차단하는 방법을 설명합니다. 반면 OpenAI와 Perplexity는 사용자 요청 가져오기 에이전트가 robots.txt를 따르지 않을 수 있다고 밝힙니다.
Claude용 robots.txt 규칙은 어떻게 쓰나요?
각 에이전트에 고유한 토큰이 있으며, RFC 9309에 따라 크롤러를 지정한 그룹은 해당 크롤러에게 * 그룹을 대체합니다. 흔한 선택은 검색과 사용자 요청 가져오기는 허용하고 학습은 거부하는 것입니다.
User-agent: Claude-SearchBot
User-agent: Claude-User
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: *
Allow: /
Anthropic은 차단 대신 크롤링 속도를 늦추고 싶을 때를 위해 비표준 확장으로 Crawl-delay도 지원합니다. 예를 들어 User-agent: ClaudeBot 아래에 Crawl-delay: 1을 쓰면 됩니다. 규칙은 각 호스트의 최상위 디렉터리에 있는 robots.txt에 있어야 하므로, 적용하려는 모든 서브도메인에 추가하세요.
Anthropic의 구성은 OpenAI, Perplexity와 어떻게 비교되나요?
세 벤더는 이름만 다를 뿐 같은 패턴을 따르므로 통합 robots.txt를 이해하기 쉽습니다. 주된 차이는 사용자 요청에 따른 실시간 가져오기에서 robots.txt를 각자 어떻게 다루는가입니다.
- 검색 크롤러: Anthropic은
Claude-SearchBot, OpenAI는OAI-SearchBot, Perplexity는PerplexityBot. - 학습 크롤러: Anthropic은
ClaudeBot, OpenAI는GPTBot. Perplexity는PerplexityBot이 AI 기반 모델을 위한 콘텐츠 크롤링에 쓰이지 않는다고 밝힙니다. - 사용자 요청 가져오기:
Claude-User,ChatGPT-User,Perplexity-User. Anthropic은 자사 봇이 robots.txt를 따른다고 하고, OpenAI는ChatGPT-User에 robots.txt가 적용되지 않을 수 있다고 하며, Perplexity는Perplexity-User가 일반적으로 이를 무시한다고 합니다.
세 벤더에 대해 robots.txt 하나를 쓴다면, 검색 토큰과 사용자 요청 토큰은 한 그룹에, 학습 토큰은 다른 그룹에 두세요. 정책을 읽기 쉽게 유지하고, 용도별로 어떤 선택을 했는지 분명히 드러납니다.
Anthropic을 IP 주소로 차단해야 하나요?
Anthropic은 권하지 않습니다. 문서에 따르면 IP 주소를 차단하면 크롤러가 robots.txt를 읽지 못하게 되므로, 제대로 작동하지 않거나 거부 의사를 지속적으로 보장하지 못할 수 있습니다. 정책을 밝히는 데는 robots.txt를 사용하세요.
Anthropic은 크롤러 IP 주소를 claude.com/crawling/bots.json에 공개합니다. 이 목록을 유용하게 쓰는 방법은 차단과 반대입니다. Claude-SearchBot이나 Claude-User라고 주장하는 요청이 실제로 Anthropic에서 온 것인지 방화벽이 검증하고 통과시키도록 하는 것입니다.
Claude가 내 페이지를 읽지 못하는 이유는 무엇일까요?
robots.txt가 허용적이더라도 방화벽이나 CDN이 Anthropic의 에이전트에 403이나 확인 페이지로 응답할 수 있습니다. Anthropic은 자사 봇이 우회 방지 기술을 존중하며 CAPTCHA를 우회하려 하지 않는다고 밝히므로, 확인 페이지가 나오면 방문은 그대로 끝납니다. 텍스트가 JavaScript 실행 후에만 나타나는 페이지도 거의 빈 상태로 도착할 수 있습니다.
AISeeWhy는 브라우저와 나란히 ClaudeBot, Claude-SearchBot, Claude-User로 페이지를 요청하고 각각에 대해 robots.txt 규칙을 확인하므로, 내가 쓴 정책이 서버가 실제로 적용하는 정책과 같은지 볼 수 있습니다.
자주 묻는 질문
ClaudeBot을 차단하면 Claude의 답변에서 내 사이트가 빠지나요?
그것만으로는 빠지지 않습니다. 검색 색인과 사용자 요청 가져오기는 고유한 robots.txt 토큰이 있는 Claude-SearchBot과 Claude-User를 사용합니다.
Claude-User는 robots.txt를 따르나요?
Anthropic은 자사 봇이 robots.txt를 따른다고 밝히며, 거기서 Claude-User를 차단하는 방법을 설명합니다. 그러면 Claude는 사용자 질문에 대해 내 페이지를 가져올 수 없게 됩니다.
Anthropic의 크롤러는 CAPTCHA를 풀까요?
아닙니다. Anthropic은 자사 봇이 우회 방지 기술을 존중하며 CAPTCHA를 우회하려 하지 않는다고 밝힙니다.
ClaudeBot을 차단하는 대신 속도를 늦출 수 있나요?
네. Anthropic은 비표준 확장으로 Crawl-delay를 지원합니다. 예를 들어 robots.txt의 ClaudeBot 그룹에 Crawl-delay: 1을 쓰면 됩니다.
요청이 실제로 Anthropic에서 온 것인지 어떻게 확인하나요?
요청의 출발지 IP를 Anthropic이 claude.com/crawling/bots.json에 공개한 목록과 비교하세요. user agent만으로는 누구나 복사할 수 있습니다.
참고 자료
- Anthropic: Anthropic은 웹에서 데이터를 크롤링하나요? 사이트 운영자는 크롤러를 어떻게 차단할 수 있나요?
- RFC 9309: Robots Exclusion Protocol