Anthropicのクローラー:ClaudeBot、Claude-SearchBot、Claude-User

公開日

結論

Anthropicは3つのエージェントを運用しています。ClaudeBotはモデルの学習に使われる可能性のあるコンテンツを収集し、Claude-SearchBotはClaudeの検索結果を改善するためにクロールし、Claude-UserはClaudeユーザーの質問に必要なときにページを取得します。それぞれ固有のrobots.txtトークンがあり、Anthropicは3つともrobots.txtに従うと述べています。ClaudeBotだけをブロックしても、検索やユーザーによる取得は止まりません。

Anthropicはクローラーを1つのヘルプページにまとめて説明しており、その構成はほかのAIベンダーと同じです。学習用が1つ、検索用が1つ、ユーザーに代わるリアルタイムの取得用が1つです。Claudeにページを見つけて引用してもらいたいなら、後ろの2つが最も重要です。

このページの内容
  1. ClaudeBotは何をするのか
  2. Claude-SearchBotは何をするのか
  3. Claude-Userは何をするのか
  4. Claude向けのrobots.txtルールはどう書く?
  5. Anthropicの構成はOpenAIやPerplexityとどう違う?
  6. AnthropicをIPアドレスでブロックすべき?
  7. robots.txtで許可しているのに、Claudeがページを読めないのはなぜ?

ClaudeBotは何をするのか

ClaudeBotは、Anthropicの生成AIモデルの学習に貢献しうるウェブコンテンツを収集します。Anthropicによると、これを禁止すると、サイトの今後のコンテンツを学習データセットから除外してほしいという意思表示になります。

Anthropicはまた、IETFのドラフトに基づく、機械可読なAI学習禁止のシグナルにも従うこと、そしてClaudeBotを指定したrobots.txtのルールは、その一般的な設定より優先されることを述べています。ほかの学習用クローラーと同様、ブロックするかどうかは方針の選択です。

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とどう違う?

3社は名前こそ違いますが、同じパターンに従っているため、まとめたrobots.txtも考えやすくなります。主な違いは、ユーザーの依頼によるリアルタイムの取得でrobots.txtをどう扱うかです。

3社共通で1つのrobots.txtを書くなら、検索とユーザー取得のトークンを1つのグループに、学習用のトークンを別のグループにまとめます。そうすれば、方針が読みやすくなり、目的ごとにどちらを選んだかが一目でわかります。

AnthropicをIPアドレスでブロックすべき?

Anthropicは勧めていません。ドキュメントによると、IPアドレスのブロックは正しく機能しない場合や、オプトアウトを永続的に保証できない場合があります。クローラーがrobots.txtを読めなくなるためです。方針の表明にはrobots.txtを使ってください。

Anthropicはクローラーが使うIPアドレスをclaude.com/crawling/bots.jsonで公開しています。このリストの有効な使い方は、ブロックとは逆です。Claude-SearchBotやClaude-Userを名乗るリクエストが本当にAnthropicからのものか、ファイアウォールで検証して通すために使います。

robots.txtで許可しているのに、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で公開しているリストと照合します。ユーザーエージェントだけなら、誰でもコピーできます。

参考資料

ほかの記事