AI時代におけるキャッシュの再考
2026-04-02
Avani Wildani
Suleman Ahmad
8分で読める
Cloudflareのデータによると、当社のネットワーク全体のトラフィックの32%が自動化されたトラフィックから発生しています。これには検索エンジンクローラー、稼働時間チェッカー、広告ネットワーク、そして最近では、検索拡張生成(RAG)で応答を生成する際に関連データを知識ベースに追加するためにWebを検索するAIアシスタントが含まれます。
典型的な人間の行動とは異なり、AIエージェント、クローラー、スクレイパーの自動化された行動は、リクエストに応答するサーバーにとって攻撃的に見える場合があります。例えば、AIボットは頻繁に大量のリクエストを、しばしば並列で発行します。人気のあるページに焦点を当てるのではなく、サイト全体で滅多に訪問されない、または関連性の薄いコンテンツにアクセスし、多くの場合、ウェブサイトの順次的で完全なスキャンを行います。例えば、応答を生成するAIアシスタントは、数十の無関係なソースから画像、ドキュメント、知識記事を取得する場合があります。
Cloudflareは既にコンテンツへの自動化されたアクセスを制御・制限することを容易にしていますが、多くのサイトはAIトラフィックを提供したいと考えるかもしれません。例えば、アプリケーション開発者は開発者向けドキュメントが基盤AIモデルで最新であることを保証したい場合があり、eコマースサイトは商品説明がLLM検索結果の一部であることを確実にしたい場合があり、パブリッシャーはクロールごとの支払いなどのメカニズムを通じてコンテンツに対する対価を得たい場合があります。
したがって、ウェブサイト運営者はジレンマに直面します:AIクローラー向けに調整するか、人間のトラフィック向けに調整するかです。両者は大きく異なるトラフィックパターンを示すため、現在のキャッシュアーキテクチャでは運営者はリソースを節約するために一つのアプローチを選択することを強いられます。
この投稿では、AIトラフィックがストレージキャッシュに与える影響を探り、この影響を軽減することに関連する課題を説明し、コミュニティがCDNキャッシュをAI時代に適応させることを検討する方向性を提案します。この作業は、ETH Zurichの研究者チームとの共同努力です。この作業の完全版は、2025年のSymposium on Cloud Computingで「Rethinking Web Cache Design for the AI Era」としてZhang et al.によって発表されました。
キャッシュ
キャッシュについて簡単におさらいしましょう。ユーザーがデバイスでコンテンツのリクエストを開始すると、通常、最も近いCloudflareデータセンターに送信されます。リクエストが到着すると、有効なキャッシュされたコピーがあるかどうかを確認します。ある場合は、すぐにコンテンツを提供でき、高速な応答と満足したユーザーをもたらします。コンテンツがキャッシュから読み取れない場合(「キャッシュミス」)、データセンターはオリジンサーバーに連絡して新しいコピーを取得し、それが期限切れになるか他のデータによって押し出されるまでキャッシュに残ります。
キャッシュに適切な要素を保持することは、キャッシュミスを減らし、優れたユーザーエクスペリエンスを提供するために重要ですが、人間のトラフィックにとって「適切」なものは、AIクローラーにとって適切なものとは大きく異なる場合があります!
CloudflareにおけるAIトラフィック
ここでは、最近の分析で最もアクティブなAIボットタイプとして浮上し、当社が確認する自己識別AIボットトラフィックの80%を占めるAIクローラートラフィックに焦点を当てます。AIクローラーは、質問への回答やページの要約などのリアルタイムAIサービスをサポートするため、またLLMなどのモデル用の大規模なトレーニングデータセットを構築するためのデータ収集のためにコンテンツを取得します。
Cloudflare Radarから、単一目的AIボットトラフィックの大部分がトレーニング用であり、検索が遠い2位であることがわかります。(CloudflareでのAIクローラートラフィックの詳細な議論については、このブログ投稿を参照してください)。
検索とトレーニングの両方のクロールが、多数の順次的なロングテールアクセスを通じてキャッシュに影響を与えますが、トレーニングトラフィックには高いユニークURL比率、コンテンツの多様性、クロールの非効率性などの特性があり、キャッシュへの影響をさらに大きくします。
CDNにとってAIトラフィックは他のトラフィックとどう違うのか?
AIクローラートラフィックには3つの主要な差別化特性があります:高いユニークURL比率、コンテンツの多様性、クロールの非効率性です。
月次ベースで大規模なWebクロールを実行するCommon Crawlの公開クロール統計によると、ページの90%以上がコンテンツによってユニークです。異なるAIクローラーも異なるコンテンツタイプをターゲットにします:例えば、技術文書に特化するものもあれば、ソースコード、メディア、ブログ投稿に焦点を当てるものもあります。最後に、AIクローラーは必ずしも最適なクロールパスに従いません。人気のあるAIクローラーからの取得の相当な部分が404エラーやリダイレクトを引き起こし、多くの場合、不適切なURL処理が原因です。これらの非効果的なリクエストの率は、クローラーがライブで意味のあるコンテンツをターゲットにするためにどれだけ適切に調整されているかによって異なります。
AIクローラーは通常、人間のユーザーと同じ方法でブラウザ側キャッシュやセッション管理を使用しません。AIクローラーは複数の独立したインスタンスを起動でき、セッションを共有しないため、すべてのインスタンスが同じコンテンツをリクエストしても、それぞれがCDNにとって新しい訪問者として表示される場合があります。
単一のAIクローラーでさえ、典型的な人間のユーザーよりもウェブサイトをより深く掘り下げ、より広範囲のコンテンツを探索する可能性があります。Wikipediaの使用データによると、かつて「ロングテール」または滅多にアクセスされないと考えられていたページが現在頻繁にリクエストされており、CDNのキャッシュ内でのコンテンツ人気の分布を変化させています。実際、AIエージェントは検索結果を改良するために反復的にループし、同じコンテンツを繰り返しスクレイピングする場合があります。
私たちはこれをモデル化して、この反復的なループが低いコンテンツ再利用と広いカバレッジにつながることを示しています。AIエージェントの行動のモデリングによると、検索結果を改良するために反復的にループする際(検索拡張生成の一般的なパターン)、一貫して高いユニークアクセス比率(上記の赤い列)を維持し、通常70%から100%の間です。これは、各ループが一般的にエージェントの精度を向上させる(ここでは青い線で表される)一方で、以前に見たページを再訪するのではなく、常に新しいユニークなコンテンツを取得していることを意味します。
このロングテール資産への繰り返しアクセスは、人間のトラフィックが依存するキャッシュをチャーンします。これにより、クローラートラフィックの量が増加するにつれて、既存のプリフェッチングや従来のキャッシュ無効化戦略の効果が低下する可能性があります。
AIトラフィックはキャッシュにどのような影響を与えるか?
CDNにとって、キャッシュミスはリクエストされたコンテンツを取得するためにオリジンサーバーに行く必要があることを意味します。キャッシュミスを、地元の図書館に本が在庫になく、図書館間貸出から本を取得するのを待たなければならないことと考えてください。最終的には本を手に入れることができますが、望んでいたよりも時間がかかります。また、その本を地元に在庫として持つことが良いアイデアかもしれないことを図書館に知らせます。
ロングテールの再利用を伴う広範で予測不可能なアクセスパターンの結果として、AIクローラーはキャッシュミス率を大幅に上昇させます。そして、キャッシュ推測やプリフェッチングなど、キャッシュヒット率を改善する典型的な方法の多くが、大幅に効果が低下します。
以下の最初のチャートは、識別されたAIクローラーありとなしでのCloudflareのCDNの単一ノードのキャッシュヒット率の違いを示しています。クローラーの影響はまだ比較的限定的ですが、AIクローラートラフィックの追加によるヒット率の明確な低下があります。
私たちは「least recently used」またはLRUと呼ばれるアルゴリズムでキャッシュを管理しています。これは、ストレージスペースが満杯になったときに、より人気のあるコンテンツのためのスペースを作るために、最も要求の少ないコンテンツを最初にキャッシュから削除できることを意味します。ヒット率の低下は、LRUがAIクローラーの繰り返しスキャン行動の下で苦戦していることを示唆しています。
下の図は、この期間中のAIキャッシュミスを示しています。これらのキャッシュミスのそれぞれは、オリジンへのリクエストを表し、応答時間を遅くし、エグレスコストとオリジンへの負荷を増加させます。
このAIボットトラフィックの急増は現実世界に影響を与えています。私たちの論文の以下の表は、いくつかの大規模ウェブサイトへの影響を示しています。各例はそのソースレポートにリンクしています。
| システム | 報告されたAIトラフィック行動 | 報告された影響 | 報告された軽減策 |
|---|
| Wikipedia | モデルトレーニング用の一括画像スクレイピング | マルチメディア帯域幅使用量の50%急増 | クローラートラフィックをブロック |
| SourceHut | コードリポジトリをスクレイピングするLLMクローラー | サービスの不安定性と速度低下 | クローラートラフィックをブロック |
| Read the Docs | AIクローラーが大きなファイルを1日に数百回ダウンロード | 帯域幅の大幅な増加 | 一時的にクローラートラフィックをブロック、IPベースのレート制限を実行、キャッシュを改善するためにCDNを再構成 |
| Fedora | AIスクレイパーがパッケージミラーを再帰的にクロール | 人間ユーザーの応答が遅い | 既知のボットソースからのトラフィックを地理的にブロック、複数のサブネットや国もブロック |
| Diaspora | robots.txtを尊重しない攻撃的なスクレイピング | 人間ユーザーの応答が遅く、ダウンタイム | クローラートラフィックをブロックし、レート制限を追加 |
影響は深刻です:Wikimediaは一括画像スクレイピングによりマルチメディア帯域幅使用量が50%急増しました。大きなソフトウェアパッケージをホストするFedoraとDiasporaソーシャルネットワークは、重い負荷と人間ユーザーの性能低下に苦しみました。他の多くも、AIボットが大きなファイルを繰り返しダウンロードすることによる帯域幅の増加や速度低下を指摘しています。
クローラートラフィックをブロックすることで影響の一部を軽減できますが、よりスマートなキャッシュアーキテクチャにより、サイト運営者は人間ユーザーの応答時間を維持しながらAIクローラーにサービスを提供できるでしょう。
AI対応キャッシュ
AIクローラーは検索拡張生成(RAG)やリアルタイム要約などのライブアプリケーションを動かすため、レイテンシが重要です。そのため、これらのリクエストは、より大きな容量と適度な応答時間のバランスを取ることができるキャッシュにルーティングされるべきです。これらのキャッシュは依然として新鮮さを保持すべきですが、人間向けキャッシュよりもわずかに高いアクセスレイテンシを許容できます。
AIクローラーはトレーニングセットの構築や大規模なコンテンツ収集ジョブの実行にも使用されます。これらのワークロードは大幅に高いレイテンシを許容でき、時間に敏感ではありません。そのため、それらのリクエストは到達に時間がかかる深いキャッシュ層(例:オリジン側SSDキャッシュ)から提供されるか、バックエンドの過負荷を防ぐためにキューベースの受付やレート制限を使用して遅延させることもできます。これにより、インタラクティブな人間やAIの使用例に影響を与えることなく、インフラストラクチャが負荷を受けているときに一括スクレイピングを延期する機会も開かれます。
CloudflareのAI IndexやMarkdown for Agentsなどの既存のプロジェクトにより、ウェブサイト運営者は既知のAIエージェントやボットに対してウェブサイトの簡略化または縮小版を提示できます。私たちは、CDNキャッシュへのAIトラフィックの影響を軽減し、すべての人にとってより良いキャッシュ性能をもたらすために、はるかに多くのことを行う計画を立てています。
ETH Zurichの共同研究者と共に、2つの補完的なアプローチを実験しています:第一に、AI対応キャッシュアルゴリズムによるトラフィックフィルタリング、第二に、AIクローラートラフィックをAIクローラーと人間トラフィックの両方の性能を向上させるキャッシュに分離する全く新しいキャッシュ層の追加の探求です。
LRU(「Least Recently Used」)、LFU(「Least Frequently Used」)、FIFO(「First-In, First-Out」)など、キャッシュが満杯で新しい要素を追加する必要があるときに、ストレージキャッシュがキャッシュから要素を削除する方法を管理するいくつかの異なるタイプのキャッシュ置換アルゴリズムがあります。LRUは多くの場合、汎用的な状況において、シンプルさ、低オーバーヘッド、効果のバランスが最も良く、広く使用されています。
しかし、人間とAIボットの混合トラフィックに対しては、私たちの初期実験では、異なるキャッシュ置換アルゴリズムの選択、特にSEIVEやS3FIFOの使用により、人間トラフィックがAIの干渉ありまたはなしで同じヒット率を達成できることが示されています。
私たちはまた、より高速で安価なキャッシュのためにリアルタイムでキャッシュ応答をカスタマイズする、より直接的にワークロード対応の機械学習ベースのキャッシュアルゴリズムの開発も実験しています。
長期的には、AIトラフィック用の別個のキャッシュ層が最良の進路になると予想しています。人間とAIトラフィックをネットワークの異なる層に展開された異なる層にルーティングするキャッシュアーキテクチャを想像してください。人間トラフィックは引き続き