8月31日、It's FOSSが「AI Crawlers Are Bleeding The Linux Kernel Repo's Compute Power」と題した記事を公開した。この記事では、AIクローラーがLinuxカーネルリポジトリの計算資源を大量消費し、インフラ担当者との「いたちごっこ」が続いている実態が報告されている。It's FOSSの記事はLinux Foundationのインフラ担当者であるKonstantin Ryabitsev氏が自身のブログに公表した一次データをもとにしており、具体的な数字の出典はそのブログポストだ。
日次リクエストの98%はAIクローラー
Ryabitsev氏はカーネル.orgのインフラ管理を担っており、git.kernel.orgの負荷状況を詳細に記録・公開している。
同サイトは5ノード・計90コアのサーバーで動いているが、そのうち14〜16コアが常時、AIスクレイパーへのHTMLレンダリングだけに消費されている。平均で全体の**20%**相当だが、クローラーが波状に押し寄せるため実際の負荷グラフはさらに激しくスパイクする。
なぜここまでコストが膨れ上がるのか
ここが本件の核心だ。
linux.gitをまるごとgit cloneした場合、サーバー側の処理コストは約200 CPU秒。これに対し、cgit(Webインターフェース)の個別コミットページを1件ずつスクレイピングすると、同じ148万コミット分で280 CPU時間かかる。
280 CPU時間を秒換算すると約1,008,000 CPU秒となり、git cloneの200 CPU秒に対して約5,000倍のコスト差になる。しかし、話はここで終わらない。
git.kernel.orgには922のフォークリポジトリが存在する。全フォークを同じ方法でスクレイピングすると合計258,160 CPU時間に達する。git clone 1回(200 CPU秒≒0.056 CPU時間)との比較では、約460万倍(258,160時間÷0.056時間)のコストになる計算だ。
さらにcgitはコミットごとにパッチ・diff・プレーンテキストといった別URLも生成するため、1フォークが外部に公開するページ数は数千兆(quadrillions)規模に達する。
しかも、そうやって得られるデータは最初からcloneで無料で取れたものと同じだ。
防衛策はことごとく突破された
Ryabitsev氏らは複数の対策を試みてきた。
- Fail2BanとIPブロック → ボットがサブネット全体に分散して回避
- ASNブロック(自律システム番号単位での遮断)→ 住宅用・モバイル回線の大量IPに切り替えて突破
- **Anubis**(プルーフ・オブ・ワーク型のボット検証ツール)→ しばらく有効だったが、クローラーが難易度上昇に追従して突破
現状は完全な「軍拡競争」の状態だ。
OSSインフラへの構造的な問題
Ryabitsev氏は「AIバブルが弾ければ、スクレイパーの数は急減するだろう」と予測しつつ、それまでの間に「せめてもっとマシな方法でデータを取ってくれ」と訴えている。
同氏がブログで指摘するように、git.kernel.orgの状況は特別ではない。Linuxカーネルリポジトリが最も可視化された事例というだけで、同じ問題は他のOSSインフラ全体に広がっている。近年ではDebianが生成AIの貢献を条件付きで許可し、Rustが段階的なAIポリシーを採用するなど、OSSコミュニティ全体がAIとの付き合い方を模索している最中だ。
AIモデルの学習データ収集は、本来であればgit clone一発で済む話だ。それをWebスクレイピングで迂回する理由はrobots.txtの無視やクロール制御の回避など複数考えられるが、いずれにしてもその「非効率の代償」をインフラコストとして払わされているのはOSSコミュニティ側である。
詳細はAI Crawlers Are Bleeding The Linux Kernel Repo's Compute Powerを参照していただきたい。