CloudflareのKitesurf:人間ではなくAIエージェントのために作られたブラウザ
CloudflareがKitesurfを発表。Workers上で完全に動作するエージェントファーストのブラウザで、HTML抽出やスクリーンショットなどのAI駆動タスクにおいてChromiumよりも大幅な効率向上を約束する。

Cloudflareはついに、何年も自問してきた問いに答えを出した。自社ブラウザを構築すべきかどうか。今回の答えは、断固たるイエスだ。その結果がKitesurfであり、AIエージェント専用に設計され、Cloudflare Workers上で完全に動作するブラウザだ。現在、Browser Runを通じて無料のベータ版として利用できる。
Kitesurfの背後にある核心的な洞察は、従来のブラウザ(Chromiumなど)は人間のために作られており、機械のためではないということだ。それらはタブ、テーマ、拡張機能、ピクセル完璧なレンダリングといったオーバーヘッドを抱えており、AIモデルには単に不要だ。エージェントが気にするのは、トークン数、コンテキストウィンドウ、スケーラビリティ、コストだ。Kitesurfは人間中心の機能を取り除き、AIにとって重要なことに焦点を当てる:効率的なHTML抽出、構造化コンテンツ、低リソース消費だ。
技術的な基盤は、Cloudflareの開発者プラットフォームにおける一連の進歩だ:成熟したWebAssemblyサポート、ダイナミックワーカー、SQLiteベースのDurable Objects、ワーカー間RPC。これらのプリミティブにより、従来のブラウザエンジンを介さずに、エッジ上で完全に動作するブラウザを構築することが可能になった。
設計上の決定
ブラウザの構築は大変な作業であり、チームはAI支援開発に大きく依存した。彼らはWeb Platform Tests(WPT)スイートを機能適合性のベンチマークとして使用し、AIエージェントが明確なゴールに対して反復できるようにした。実際の互換性を確保するために、ChromiumとKitesurfの両方に対してPuppeteerスクリプトを実行し、各ステップで出力を比較する統合テストとビジュアル回帰テストも実装した。
チームはパフォーマンスが重要なコンポーネントにRustを選択し、エミュレーションレイヤーを避けるためにwasm-bindgenを介してWebAssemblyにコンパイルした。例外処理は、どのような障害でも空白フレームや要素の欠落に劣化し、セッションが停止することはないように設計されている。分離は最重要であり、すべてのページロードは信頼できない入力として扱われ、各コンポーネントは厳密に必要なリソースにのみアクセスできる。
ステートレス性は指針となる原則だ。可能な限り、コンポーネントはステートレスであり、本質的に使い捨て可能で並列性がある。これは自動化に完璧に適合し、負荷がバーストで到着し、最も安価な方法は、使用した分だけコストがかかり、完了すると消える作業をスピンアップすることだ。
アーキテクチャ
Kitesurfのアーキテクチャは、エンジン、PageScript、PageRendererの3つの主要コンポーネントを中心に構築されている。エンジンは唯一の公開コンポーネントであり、CDP WebSocketとHTTP REST APIを処理し、セッション状態を保存する。他のすべてのコンポーネントはステートレスだ。
ネットワークアクセスは、単一のコンポーネントであるSandboxOutboundワーカーを通じて集約され、CORSを強制し、ブラウザ型のヘッダーを注入し、レスポンスをフィルタリングし、各ページのクッキーを独自のジャーに保持する。他のコンポーネントはネットワークに直接アクセスできず、Dynamic Workersによって強制される。
その結果、スクリーンショットやHTML抽出などの一般的なエージェントタスクにおいて、CPUとメモリ消費がChromiumよりも大幅に効率的なブラウザが実現した。これは、ブラウジングの未来は人間のためではなく、ますます私たちに代わって行動するエージェントのためになるという大胆な賭けだ。
AIはタブ、テーマ、ブラウザ拡張機能、デバイス間の同期を気にしない。気にするのは、トークン数、コンテキストウィンドウ、スケーラビリティ、パフォーマンス、コストだ。