世界を動かす技術を、日本語で。

カイトサーフ:V8アイソレートで動作するエージェントファーストブラウザ

概要

  • 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-paintParley でフォント・テキスト描画
  • SandboxOutbound Worker :ネットワークアクセスを一元管理、CORS制御・Cookie分離・ポリシー違反は403返却
  • WorkersのRPC機能 :コンポーネント間で安全かつ効率的なリモート呼び出しを実現

Kitesurfの今後と意義

  • AIエージェントのための新しいブラウザ設計 の先駆け
  • Cloudflare Workersの スケーラビリティ・セキュリティ と親和性の高いアーキテクチャ
  • 無料ベータ提供 により、幅広いAI自動化シナリオでの活用を期待
  • 今後も 機能・パフォーマンス改善 とAI時代の新たなWeb体験の創出を目指す

Hackerたちの意見

この記事からリンクされているページ https://developers.cloudflare.com/browser-run/ にはこう書いてあるね:> Cloudflareのグローバルネットワーク上でヘッドレスChromeを実行して、ブラウザの自動化、ウェブスクレイピング、テスト、コンテンツ生成を行う。CloudflareのCDNは、これらのブラウザインスタンスが自社のアンチボットメカニズムを回避するのを許可するの?それとも、他のプロバイダーからスクレイピングボットを実行しているのと同じようにブロックするのかな?CloudflareのCDNによって保護されたコンテンツに対して、CloudflareワーカーのKitesurfは特別なバイパス特権を持つの?

いや、そんなことはないよ。全然役に立たない。彼らはパブリッシャーがスクレイパーに料金を請求できるようにしようとしているから、これを強く推進してるんだ。

ChromiumやKitesurfからのBrowser Runリクエストは、Cloudflareによって常にボットトラフィックとして識別されるよ。https://developers.cloudflare.com/browser-run/faq/ それに、我々はドキュメント化されたUAを持っていて、リクエストにはWeb Bot Authで署名してるんだ。https://developers.cloudflare.com/browser-run/reference/auto...

これはBlitz(https://github.com/dioxuslabs/blitz)の上に構築されているんだ:ここ2.5年で作ってきた新しいモジュラー(オープンソース)ブラウザエンジンだよ。Kitesurfの開発には関わってないけど、彼らがパッチをオープンソースにして上流に送るつもりだって聞いてる。

自動化のためにwebdriver bidiをサポートする計画はあるの?(手伝うよ!)[編集:普段ブラウザの自動化プロトコルについて詳しくない人向けに:webdriver bidiは、CDPにインスパイアされた新しいW3Cのクロスブラウザ標準だよ。主なポイントはWebSocketへのアップグレードと、ネットワークレベルのトラフィックのキャプチャを標準化することだった。CDPとBiDiの間にはまだ機能のギャップがあるけど、長期的には、特定の会社が管理するプロプライエタリプロトコルではなく、ウェブ標準に賭けるべきだと思う。(開示:seleniumとappiumのプロジェクトを始めた。)]

Webkitの外に別のレンダラーを作ってるの? Webkitのアーキテクチャについてどう思ってるのか気になるんだけど、モジュラーシステムじゃないから「ローカルストレージ」サポートみたいなものを分けることはできないのかな?

Cloudflareが雇ったり、スポンサーになったり、少なくともいいお金を寄付してくれることを願ってるよ。

100%だね!

BlitzのGitHubページには「Blitzは現在プレアルファ状態です。」と書いてあって、「まだアプリを作ることはおすすめしません。」って。もうBlitzの上に何かを作るのは良いアイデアかな?

ブラウザでエージェントを使う例を教えてくれない?「人々はエージェントを使って物を買わせる」って経営者が言ってるのは聞いたけど、実際には見たことがないんだ。

もしそれが可能なら、キャプチャを解決するために使いたいな。

70mmのIMAX版『オデッセイ』を観るために、ひどくない席を見つけるためにエージェントを使いたいと思ったことがある。でも、それもアンチボット検出器に厳重に守られているようなものだよね。

Hacker Newsで議論の続きを見る