概要
- Cloudflareで 独自ブラウザ開発 の是非が長年議論されてきた背景
- AIエージェント向けに最適化された 新ブラウザKitesurf の誕生
- Workers基盤 ・WebAssembly・Rust活用による効率的な設計
- テスト重視・ 隔離性 ・ステートレス設計などの工夫
- Kitesurfの 主要コンポーネント構成 と技術的特徴
Cloudflareが独自ブラウザを開発する理由
- ブラウザ は現代のPCで最も重要なソフトウェア、インターネットの「OS」
- Cloudflareのミッションは より良いインターネットの構築 支援
- これまで 技術的難易度 と独自性のバランスが取れず、開発は見送られてきた
- 最近の AIエージェント需要 と自社Developer Platformの進化で再検討
- WebAssembly(Wasm)・Workersの成熟、 AIエージェント向け自動化API 「Browser Run」の成長
- 既存ブラウザ(Chromium等)は 人間向け 設計、AI用途には非効率
- AIエージェントには 高効率・低コスト なブラウザが必要
Kitesurf:AIエージェント特化型ブラウザの設計思想
- Kitesurf はWorkers上で動作し、AIエージェント専用に設計
- Chromium比で CPU・メモリ消費が大幅減、HTML抽出やスクリーンショット等で高効率
- 人間向け機能(タブ・拡張・テーマ等)を削減、AIに必要な性能・スケーラビリティ・コスト重視
- 構造化・機械可読性 を優先、見た目の完璧さは重視しない
- 新しい脅威モデル (プロンプトインジェクションやツール安全性)に対応
開発の経緯と初期アイデア
- Rust製ヘッドレスエンジン「obscura」から着想
- AIエージェントを活用 しWorkersへの移植に挑戦、明確な成功定義で進展
- プロトタイプ検証 を経て、チームで本格開発を決断
設計上の主な意思決定
- 徹底したテスト重視 :Web Platform Tests(WPT)で機能検証、実サイトでの統合・ビジュアルリグレッションテストも実施
- Rustの積極活用 :Wasmへの直接コンパイルで高速・軽量化、Emscripten回避
- 例外処理の徹底 :障害時は「空フレーム」や「要素欠落」で安全にデグレード、セッション全体のクラッシュ回避
- コンポーネントごとの隔離性 :各ページ・セッションは完全に分離、Cloudflare Workersの設計思想に合致
- ステートレス指向 :状態を極力持たず、障害時の復旧・スケーリングを容易化
Kitesurfの主要コンポーネント
- Engine :CDP(Chrome DevTools Protocol)互換APIを提供、セッション状態を管理
- PageScript :各ページやiframeごとに Dynamic Worker で独立実行、HTML/CSSパース・JS/Wasm実行を担当
- Blitz (HTMLパーサ)、 Stylo (CSSパーサ)、 Boa JS (eval対応)等Rust製ライブラリを活用
- PageRenderer :ページオブジェクトから画像バッファ生成、 blitz-paint ・ Parley でフォント・テキスト描画
- SandboxOutbound Worker :ネットワークアクセスを一元管理、CORS制御・Cookie分離・ポリシー違反は403返却
- WorkersのRPC機能 :コンポーネント間で安全かつ効率的なリモート呼び出しを実現
Kitesurfの今後と意義
- AIエージェントのための新しいブラウザ設計 の先駆け
- Cloudflare Workersの スケーラビリティ・セキュリティ と親和性の高いアーキテクチャ
- 無料ベータ提供 により、幅広いAI自動化シナリオでの活用を期待
- 今後も 機能・パフォーマンス改善 とAI時代の新たなWeb体験の創出を目指す