
주요 AI의 Web 크롤러(Web Crawler) 사양 정리
요약
Anthropic, OpenAI, Google 등 주요 AI 제공업체의 웹 크롤러 사양과 robots.txt 준수 여부를 비교 분석합니다. 또한 AI가 정보를 더 효율적으로 인덱싱할 수 있도록 돕는 llms.txt 메커니즘을 소개합니다.
핵심 포인트
- 주요 AI 기업별 User-Agent 및 IP Range 공개 현황 정리
- robots.txt를 통한 크롤링 제어 방식과 한계 설명
- 인간용 웹 페이지와 AI용 데이터 구조의 차이점 분석
- LLM을 위한 최적화된 컨텍스트 제공 도구인 llms.txt 소개
안녕하세요.
AI의 진보, 정말 엄청나죠.
세상에 AI가 널리 보급되면서 생활이나 업무 등 모든 것이 변화하고 있다는 실감이 듭니다.
특히 자기 학습·성장의 분야에서는 어떻게 활용할 수 있느냐에 따라 자신의 미래가 크게 바뀌기 때문에 매우 중요합니다.
이번에는 어떤 계기로 AI에 의한 웹 크롤링(Web Crawling) 사양에 흥미가 생겨서 조사해 보기로 했습니다.
우선 여기부터 조사해 보았습니다.
조사한 바로는 공식적인 정의는 없는 것 같지만, 아래와 같이 해석했습니다.
**비인간(프로그램 등)**이 인터넷상의 Web 사이트에 접속하여 정보를 수집하는 행위
포인트는 비인간이라는 문맥이 포함된다는 점이네요.
사람이 하는 경우에는 Browsing이나 Net Surfing 등의 표현이 더 적절할 것 같습니다.
이 용어도 들어본 적이 있네요.
이것은 크롤링(Crawling)을 통해 얻은 콘텐츠 내용으로부터 목적에 따라 일부 데이터를 추출하는 행위를 가리키는 듯합니다.
robots.txt는 Web 사이트의 루트 직하에 배치하는 텍스트 파일로, 웹 크롤링에서의 제약을 표명하는 것입니다.
크롤링 접속을 제한할 수 있는 것이 아니라, 크롤러(Crawler) 스스로가 인식하고 대응하는 것을 전제로 합니다.
포맷은 단순하며, User-Agent와 Allow/Disallow를 통해 누구에게 어디로의 접속을 허용/거부할지를 기술할 수 있습니다.
엄격한 포맷은 RFC9309로 정의되어 있는 듯합니다.
진심으로 웹 크롤링 접속을 제한하고 싶다면, Web 미들웨어 측에서 제한해야겠네요.
몇 가지 AI에 대해 정리해 보았습니다.
| AI Provider | Anthropic | OpenAI | |
|---|---|---|---|
| UserAgent | ClaudeBot: 모델 학습용<br>Claude-User: 사용자 지원용<br>Claude-SearchBot: 검색용 | OAI-SearchBot: 검색용<br>OAI-AdsBot: 광고용<br>GPTBot: 모델 학습용<br>ChatGPT-User: 사용자 지원용 | Google-Extended: 모델 학습용<br>※ 그 외에도 있을지 모르지만 명확한 기술은 찾지 못했습니다 |
| IP Range 공개 | 되어 있음 | 되어 있음 | 되어 있음 |
| robots.txt 준수 | 함 | 일부 | 함 |
| 참고 | https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler | https://developers.openai.com/api/docs/bots | https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers?hl=ja&_gl=1*17ix7ef*_up*MQ..*_ga*MzY3OTAxMDgzLjE3ODI2MzU3Mjg.*_ga_SM8HXJ53K2*czE3ODI2MzU3MjgkbzEkZzAkdDE3ODI2MzU3MjgkajYwJGwwJGgw#google-extended |
이번에 이것저것 조사하는 과정에서 우연히 발견했는데, 흥미로운 내용이라 소개합니다.
인간이 읽기 편하다고 느끼는 페이지와 AI가 해석하기 쉬운 페이지는 다릅니다.
인간이 읽기 편한 페이지는 Web 브라우저에 의한 렌더링을 전제로 읽기 편하게 되어 있어서, AI 입장에서는 HTML 태그 등 불필요한 정보가 많습니다. 또한 AI는 컨텍스트 윈도우(Context Window)의 제한이 있기 때문에, 콘텐츠 크기에 따라서는 전부 읽지 못하는 등의 문제가 있습니다.
이러한 문제를 해결하는 것이 llms.txt라는 메커니즘입니다.
해당 Web 페이지의 개요 등의 추가 컨텍스트를 LLM에게 읽게 함으로써 AI가 보다 적절하게 정보를 인덱싱(Indexing)·활용할 수 있도록 하려는 목적인 것 같네요.
AI 활용을 추진하고 싶은 콘텐츠를 관리하는 Web 사이트 운영자는 기억해 두어도 손해 볼 것이 없다고 느꼈습니다.
이번에 조사한 주요 AI Provider에 대해서는, Web Crawler의 기본적인 정보는 공개되어 있는 듯합니다.
IP Range (IP 범위)도 공개되어 있으므로, 웹사이트 운영자 측에서 액세스를 제한할 수도 있을 것 같습니다.
robots.txt는 대부분의 UserAgent (사용자 에이전트)에서 준수되고 있는 것으로 보였습니다.
개인적인 견해로는, AI에게 URL을 전달할 때는 '제대로 읽었니?'라고 적절히 확인하는 것이 좋다고 생각했습니다.
- https://ja.wikipedia.org/wiki/Robots_Exclusion_Standard
- https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
- https://help.openai.com/en/articles/20001243-advertiser-guidance-for-allowing-openai-web-crawlers
- https://developers.openai.com/api/docs/bots
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기