Kitesurf:V8サンドボックス内で動作するエージェントファーストブラウザ

2026/08/07 19:42

Kitesurf:V8サンドボックス内で動作するエージェントファーストブラウザ

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Cloudflare は、AI エージェントと自動化タスク用に設計された、Workers だけで構築された全新ブラウザ「Kitesurf」を発表します。12 週間の開発を経て、チームは AI ワークロードにおける Chromium ベースのエンジンによる高コストおよび制限事項を克服するために、独自のエンジンの構築を決断しました。

Kitesurf は、タブ、テーマ、拡張機能、ピクセル完璧なレンダリングなどの機能を犠牲にして、トークン数、コンテキストウィンドウ、スケーラビリティ、パフォーマンス、コストを最適化しています。ネイティブ Rust を WebAssembly にコンパイル(wasm-bindgen を介して)し、Cloudflare の RPC システムを利用した孤立された Dynamic Workers を採用することで、顕著な効率向上を実現しています:スクリーンショットにおける CPU 使用量を 3.1 倍削減、メモリ使用量を 4.7 倍削減し、HTML 抽出においては CPU を 3.8 倍、メモリーを 7.0 倍削減します(Chromium のウォームプールと比較)。アーキテクチャは、ページ読み込みごとにステートレスで使い捨てのセッションを作成することで、エラーが発生してもクラッシュではなく空白のフレームとして処理されるようにしています。

このエンジンは、215,000 超の Web プラットフォームテストを通過しており、CSS、DOM、HTML、SVG、XHR など、エージェントに重要な機能の Coverage が拡大しています。「obscura」に触発され、AI エージェントを使用して成功裏に移植された Kitesurf は、現在 Wikipedia や Hacker News のページ(そして Doom でも)のレンダリングをサポートしていますが、ビデオ再生、WebGL、ボットチャレンジハンドシェイク、永続的な認証セッションはまだサポートされていません。

Browser Run 内のベータ版として、Kitesurf は

browser=kitesurf
パラメータを通じて無料で利用可能であり、Puppeteer、Playwright、chrome-remote-interface などのクライアントをサポートしています。今後の計画としては、プロジェクトをすぐにオープンソース化してカスタムデプロイメントを可能にすることに加え、CDP Coverage、レンダリング忠実度、WPT 互換性のさらなる改善が続けられる予定です。

本文

私たちのブラウザは自分で作るべきか:Kitesurf の誕生と進化

クラウドフレア社内で長年にわたり議論されてきた課題の一つが、「ブラウザの自作」です。私たちはインターネットの「オペレーティングシステム」であるブラウザにおいて、より良くなったインターネット構築に貢献したいと願っていますが、技術的な難易度と解決すべき課題とのバランスを見つけるのは容易ではありませんでした。

しかし、WebAssembly(Wasm)の成熟AI エージェントの台頭を背景に、従来の Chromium などのブラウザエンジンが AI にとって必要以上にリソースを消費し、コスト面で持続可能ではないという問題意識が高まりました。これを受け、**AI エージェント向けに特別に構築された新しいブラウザ「Kitesurf」**を発表します。


Kitesurf の概要と背景

Kitesurf は、Chromium よりも CPU とメモリの消費量を著しく削減した、エージェント専用のブラウザです。現在、ブラウザラン(Browser Run)のベータ版として無料で利用可能です。

開発ストーリー

  • きっかけ: 「Chrome なし、Node.js なし、依存関係なし」の Rust ヘッドレスエンジン「Obscura」のアイデアから始まりました。
  • AI による開発加速: 当初は失敗しましたが、AI エージェントに明確な計画と成功基準を与えたことでプロジェクトが軌道に乗りました。
  • 目的: AI はタブや拡張機能には興味を示さないため、トークン数、コンテキストウィンドウ、スケーラビリティ、コストを最優先とした軽量なブラウザを提供することを目指しました。

設計上の判断

Kitesurf の開発は以下の原則に基づいています。

  • テスト重視: プロトタイプから本番環境へ移行するためには大量の反復が必要です。AI を活用しつつ品質を維持するために、可能な限り多くのテストを導入しました。
    • Web プラットフォームテスト(WPT)で機能適合性を検証。
    • 統合テストと視覚的リグレッションテストを行い、Chromium と同等の実績を確認。
  • Rust の採用: 高性能な Wasm コンパイルを実現するため、ネイティブの Rustを選択し、不要なエミュレーション層を回避しました。
  • 堅牢な例外処理: ブラウザは不確かなウェブを扱うため、**「あらゆる失敗は空白のフレームか欠落要素に劣化させ、セッションを死なせることは決して行わない」**というルールを守っています。
  • 完全隔離(アイソレーション): エージェントが任意のコードを実行するため、信頼できる環境とは異なります。「ページの読み込みはすべて不審な入力」と仮定し、各コンポーネントを厳密に隔離しています。
  • ステートレス設計: クラッシュからの回復を容易にするため、状態を持たない(使い捨て)コンポーネントを採用しました。これにより、負荷がバーストとして到着した際のコスト効率が最大化されます。

技術構成:どのように構築されたか

Kitesurf は以下の 3 つの主要コンポーネントで構成されており、全てを Wasm で動作させています。

1. オリジンからのフェッチ

不審なウェブページから画像、フォント、CSS、JavaScript、Wasm など任意のアセットを取得するプロセスです。

  • サンドボックス化: ネットワークへの直接アクセスは「SandboxOutbound ワーカー」のみが許可され、他のコンポーネントは一切触れられません。
  • セキュリティポリシー: CORS を強制し、ブラウザ形状のヘッダーを注入、レスポンスをフィルタリング。ポリシー違反はすべて 403 エラーでブロックされます。

2. エンジン(Engine)

Kitesurf と外部(クライアントなど)が通信する唯一のコンポーネントです。

  • プロトコル対応: Chrome DevTools プロトコル(CDP)、WebSocket、HTTP REST API を処理します。
  • ステートフルな管理: 各セッションの状態を保存し、他のコンポーネントとの連携ハブとなります。
  • 互換性: Puppeteer, Playwright, chrome-remote-interface など既存のクライアントと完全互換です。

3. PageScript(動的ワーカー)

新しいページやプロセス外フレーム(OOPIF)を処理するための永続的なアイソレートです。

  • DOM オブジェクト: HTML の解析結果と JavaScript の実行結果で満たされたクリーンな環境を提供します。
  • レンダリングエンジン:
    Blitz
    と Firefox の高性能 CSS パーサー
    Stylo
    を Rust で実装し、高いパフォーマンスを実現しています。
  • eval の扱い: セキュリティ上の理由からワーカーではネイティブの eval がサポートされていないため、**Rust で書かれた ECMAScript エンジン「Boa JS」**を使用してコンパイルして実行しています(将来的にはネイティブサポートが導入されれば移行予定)。

4. PageRenderer

計算されたページオブジェクトから実際のピクセルを生成する責任を持つコンポーネントです。

  • 描画処理: Engine ワーカーと連携し、静的アセットから内部フォントや画像を取得してラスタライズします。
  • 出力形式: JPEG/PNG または PDF としてバッファをエンジンに返します(
    blitz-paint
    を使用して文字整形を行っています)。

ワーカー間の RPC システム

Kitesurf は、異なるアイソレート間でのデータ転送とメソッド呼び出しを容易にする組み込みの RPC(遠隔手続き呼び出し)システムを利用しています。

  • 非同期処理: Engine は PageRenderer に対して
    renderFrame()
    を RPC で呼び出し、結果を受け取ります。
  • 耐障害性: レンダラーはステートレスなため、失敗しても安全に停止・再起動が可能で、リクエスト自体は自己完結型です。

パフォーマンス比較:Chromium と Kitesurf

Kitesurf はすでに WPT テストを 215,000 件以上通過し、その数は増え続けています。以下のグラフは、Chromium(ウォームプール)との比較データです。

項目Kitesurf (中央値)Chromium (中央値)改善率
CPU: スクリーンショット380 ms1,173 ms約 3.1 倍少ない
CPU: HTML 抽出229 ms877 ms約 3.8 倍少ない
メモリ: スクリーンショット57.8 MiB271.0 MiB約 4.7 倍少ない
メモリ: HTML 抽出39.4 MiB273.7 MiB約 7.0 倍少ない
ウォール時間 (全体的)1,148 ms - 820 ms637 ms - 472 msChromium の方が早いが差は縮まりつつあり
  • メモリ削減の重要性: メモリ使用量が 3〜7 倍少ないため、より多くのセッションを並列実行でき、スケーラビリティが向上し、コストを大幅に削減できます。
  • ウォール時間の課題: ストップウォッチでの時間は依然として Chromium に劣りますが(主にラスタライズとエンコーディングによる)、将来的には最適化を進めます。

実証:Kitesurf で Doom が動作する

テストの重要性を示すため、数年前から行っている小さな実験の一つとして、Silent Space Marine (https://silentspacemarine.com/) を Kitesurf で実行することに成功しました。これにより、単純なゲーム環境であってもブラウザとしての機能は十分であることが確認できました。


利用方法:今日から Browser Run でお試しください

現在、ベータ版として無料で利用可能です。既存のクライアント(Puppeteer, Playwright など)や AI エージェントは、エンドポイントに

browser=kitesurf
パラメータを追加するだけで動作します。

MCP クライアントでの使用方法例

Opencode などの MCP クライアントを Kitesurf と連携させる設定例です。

{
  "mcp": {
    "kitesurf": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "chrome-devtools-mcp@latest",
        "--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf",
        "--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\""
      ],
      "enabled": true
    }
  }
}

クイックアクション(コマンドライン)での使用方法

Wikipedia からの急なスクリーンショットなどを取る場合、以下のコマンドで利用可能です。

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/screenshot?browser=kitesurf' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://example.com" }' \
  --output "screenshot.png"

プレイグラウンドでの検証

任意の URL を入力すると、Kitesurf がページをどのように描画・操作するかを確認できます。UI には Chrome DevTools が注入されており、以下が確認可能です。

  • 拡張された DOM 要素の検証
  • コンソールメッセージの読み取り
  • ネットワークアクティビティの監視
  • WebAssembly フットプリントの報告(各アイソレートごとのメモリ使用量の明確な理解)

長所と短所:Kitesurf が優れている・できないこと

Kitesurf が優れているケース

  • 完全機能ではないが十分な AI エージェント用: 完璧な Chromium ではなくても、コンテンツ抽出や PDF 生成、スクリーンショット作成などの一発型クイックアクションに適しています。
  • 高いスケーラビリティ: ステートレスで使い捨ての設計により、バースト型の AI ワークロードで効率的に動作します。
  • 既存ツールの互換性: CDP 標準に従うため、主要な自動化ツールとの統合が容易です。

現時点では Kitesurf が不向きなケース

以下の機能が必要な場合は、ブラウザ Run のデフォルト(Chromium)を使用してください。

  • ビデオの再生
  • WebGL の描画
  • 本物の TLS フィンガープリントによるボットチェックの回避や認証セッション
  • 永続的な状態を必要とする長時間のタスク

今後の展望

Kitesurf はすでに 12 ヶ月経過し、5 月の最初のコミット以来、以下の取り組みを行っております。

  • CDP カバレッジの拡大: エージェントと自動化ツールの要件(堅牢な DOM、ネットワーク検査など)をさらに網羅します。
  • レンダリング忠実度向上: スクリーンショットや PDF 用の画質を改善し、LLM の画像認識精度を高めます。
  • WPT カバレッジの拡大: より多くのウェブ API を追加し、本番環境での互換性を強化します。
  • 効率性の追求: CPU、メモリ、ウォール時間のベンチマークを継続的に実施し、コストパフォーマンスを向上させます。

結論:コミュニティとの連携

Kitesurf は初期段階ですが、フィードバックを通じて迅速に改善していきます。

  • オープンソース化の計画: 準備が整う次第に Kitesurf をオープンソース化する予定です(近日中)。
  • 独自デプロイ: お客様が必要であれば、ご自身のアカウントで独自のバージョンをデプロイできるようにすることを目指しています。
  • 参加方法: プレイグラウンドで試したり、変更ログを見守ったり、Discord でチームとチャットして経験を共有してください。

私たちは新しいブラウザを構築する難しさと複雑さを軽々しく見ずとも、AI とウェブの未来のために尽力していきます。

同じ日のほかのニュース

一覧に戻る →

2026/08/08 2:56

DeepSeek V4 フラッシュ 7 月 31 日

## Japanese Translation: ARC プライズ 2026 コンテストは開催中です。コンテストの最新情報を受け取るため、公式更新への登録を開始することで、参加者は情報を入手することができます。本サービスは、無断でスパムが送信されないことを保証しており、コンテストに関連する情報のみを送信します。参加者はいつでも登録を解除でき、組織側とのコミュニケーション経路について完全なコントロールと透明性のある、不快でない連絡手段を確保できます。

2026/08/08 3:01

屈辱の集会所

## Japanese Translation: 「恥辱の議場」プロジェクト(クリスチャン・ドマスの主導)は、速度最適化ではなく単一指令の絶対的なフローア(最小値)を記録することを目的としています。最も高速に計測された指令はインテル Core i7 での `nop`(1 サイクル)ですが、極端な遅延は `vmovdqu ymm` 命令(約 1.39 秒)や AMD Ryzen チップ上の `wrmsr` 命令(約 0.92 秒)に見られます。勝者の高遅延戦略には、GPU レジスタへのアクセスのために PCIe ファブリックを飽和させるなどの複雑な回避策や、微コードアシストをトリガーするために NaN などの特殊値の使用が含まれます。注目されるエントリーには、仕様違反の非対齐読み込み命令やネスト深さ最大級の `enter` 命令があります。この競技は厳格な規則に従っており、ファクトリーストックのハードウェア上で単一かつ割り込み不能な指令の実行を要求します。将来のプロジェクトでは、インテル Sapphire Rapids でさらなる長遅延(推定で 1 トリリオンサイクル)を探る可能性がありますが、ARM と RISC-V のリーダーボードは引き続き観測中です。これらの発見は深層アーキテクチャ的不効率を明らかにし、開発者が理論的な性能限界と、ハードウェアの欠陥や微コード振る舞いによる実際の物理的遅延を区別するのに役立ちます。

2026/08/08 3:51

古の図書館 – ギリシア語・ラテン語のテクストが 1,060 点、単語をタップして解析する

## Japanese Translation: このデジタルプラットフォームは、古典正典のための完全な解析リーダーを提供し、ラテン語およびギリシャ語の両方で 140 名の著者による 1,060 の基礎的作品へのアクセスを可能にします。コレクションには、叙事詩(ホーマー)、哲学(プラトン、キケロ)、歴史(タチトゥス)、伝記(サッルスティウス、リヴィウス)、弁論(キケロ、カエサル)、書簡(オラティウス、セネカ)といったジャンルにわたる 293 のラテン語作品が含まれ、さらに叙事詩(ホーマー、ヘシオドス)、悲劇と喜劇(ソフォクレース、アリストファネス)、歴史(ヘロドトス、トゥキディデス)、哲学(プラトン、アリストテレス)、伝記(プルートルコス)、地理学(ストラボン、パウサニアス)、医学(ガレン、ヒポクラテス)、数学・科学(ユークリッド、プトレマイオス)を網羅する 767 のギリシャ語作品が含まれています。また、聖書テキスト、初期キリスト教の著作、参考用文法書も含まれています。コア機能には統合された辞典エンジンがあり、あらゆる単語をクリックすると、すぐにその基本形・形態論学および完全な辞書項目が表示され、ラテン語の場合は Lewis & Short、ギリシャ語の場合は Liddell-Scott-Jones を経由します。このシームレスな相互作用により、物理的な書籍を相互参照する必要がなくなり、古代の知識の包括的なライブラリがユーザーの手のひらにあります。したがって、学者や学生は、デジタルインタフェースから離れることなく、形態論学的詳細の効率的な探索を行いながら、文化財を保護しつつ、現代教育および厳密な研究のために entire canon を跨いで直接テキスト内で深い言語分析を実行することができます。