はじめに
こんにちは。
AI の進歩、凄まじいですよね。
世の中に広く AI が普及してきたことで、生活や仕事などあらゆることが変化しつつある実感があります。
特に自己学習・成長の分野では、いかに活用できるかで自身の将来が大きく変わるため、とても重要です。
今回は、とあるきっかけで AI によるウェブクローリング仕様に興味を持ったので、調べてみることにしました。
概念・用語の整理
まずはここから調べてみました。
ウェブクローリングとは
調べてみた限りだと公式の定義はなさそうに感じましたが、下記のように解釈しました。
- 非人間(プログラムなど) がインターネット上の Web サイトにアクセスをして情報を収集する行為
ポイントとしては、非人間という文脈が含まれる点ですね。
人が行う場合は、Browsing や Net Surfing などの表現がより適切かと思います。
ウェブスクレイピングとは
こちらの用語も耳にしますね。
こちらは、クローリングにより得たコンテンツ内容から、目的に応じて一部のデータを取り出す行為を指すようです。
robots.txt
https://ja.wikipedia.org/wiki/Robots_Exclusion_Standard
robots.txt は、Web サイトのルート直下に配置するテキストファイルで、ウェブクローリングにおける制約を表明するものです。
クローリングのアクセスを制限できるというものではなく、クローラ自身に認識・対応してもらうことが前提です。
フォーマットは単純で、User-Agent と Allow/Disallow で、誰に対してどこへのアクセスを許可/拒否するかを記述できます。
厳密なフォーマットは RFC9309 で定義されているようです。
本気でウェブクローリングのアクセスを制限したい場合は、Web ミドルウェア側で制限する必要がありますね。
主要な AI のクローラ情報
いくつかの AI についてまとめてみました。
| AI Provider | Anthropic | OpenAI | |
|---|---|---|---|
| UserAgent | ClaudeBot:モデル学習用 Claude-User:ユーザサポート用 Claude-SearchBot:検索用 |
OAI-SearchBot:検索用 OAI-AdsBot:広告用 GPTBot:モデル学習用 ChatGPT-User:ユーザサポート用 |
Google-Extended:モデル学習用 ※他にもあるかもだが明確な記述は見つけられなかった |
| 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 |
llms.txt について
今回色々と調べてゆく中で偶然見つけましたが、興味深い内容だったので紹介します。
人間が読みやすいと感じるページと、AI が解釈しやすいページは異なります。
人間が読みやすいページは Web ブラウザによる描画ありきで読みやすくなっているわけで、AI からしたら HTML タグなど無駄な情報が多いです。また AI はコンテキストウインドウの制限がある為、コンテンツサイズによってはすべてを読めないといった問題があります。
このような問題を解決するのが llms.txt という仕組みです。
その Web ページの概要などの追加コンテキストを LLM に読ませることで AI がより適切に情報をインデックス・活用できるようになる、という狙いのようですね。
AI 活用を推進したいコンテンツを管理する Web サイト運営者は覚えておいて損はないと感じました。
おわりに
今回調べた主要な AI Provider については、Web Crawler の基本的な情報は公開されているようです。
IP Range も公開されているので、Web サイト運営者側でアクセスを制限することもできそうです。
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