Cloudflare が AI エージェント専用のブラウザ Kitesurf を公開した
メモリは今までの1/7、必要なときに大量に立ち上げられて安い
今までAIにウェブを見せるのに、人間用の重いブラウザをそのまま動かすしかなかったけど
タブも拡張機能もぬるぬるスクロールも全部いらねえブラウザ爆誕
人間向けブラウザからタブも拡張機能もスクロールの滑らかさも取り払って、AI がページを読むことだけに絞ってある。Workers の上で動き、処理が終われば状態を残さず消える
要するに、AI にウェブを見せるための使い捨てブラウザ
X で毎日 AI 情報を配信してるコムテです。Claude Code テクニックを配信しています
公式が動作確認したと挙げているのは Wikipedia、Hacker News、Cloudflare Blog、TodoMVC。全部英語圏のサイトで、日本のサイトで動くかはどこにも書かれていない
そこで日本のサイト22個を実際に開いて、本文まで取れるかを測った
AI に試してもらった
結論 17個は通る、落ちるのは2種類だけ
こんな感じ

zenn は一部

Amazon は、白紙ですねえ。サイトによって違う感じ
| 判定 | 件数 |
|---|---|
| 本文まで描画できた | 17 |
| 枠だけ描画・本文が入らない | 3 |
| 弾かれた | 2 |
落ちるパターン
- ボット対策に弾かれる(Amazon.co.jp、食べログ)
- 本文を JavaScript で後から差し込む作りになっている(Zenn、note、e-Gov 法令検索)
逆に言えば、サーバー側で HTML を組み立てて返すサイトは、日本語でもほぼそのまま通る。ニュースも官公庁も EC も通った
測り方
Kitesurf は公開プレイグラウンドがあって、アカウントなしで試せる
この画面で URL を入れると、Kitesurf が描画した結果を返してくれる。中を見ると /html?url= というエンドポイントを叩いていて、JavaScript 実行後の HTML がそのまま返る仕組み
つまり curl で回せる。22サイトを順に叩いて、返ってきた HTML から次を記録した
- HTTP ステータスと所要時間
- HTML のバイト数
- タグを剥がした後の日本語文字数
判定は日本語の文字数で切った。本文まで描画できていれば日本語が数百字以上入る。枠だけなら数十字で止まる
プレイグラウンドには1ページあたり CPU 20秒・実時間60秒の制限がある。重いサイトはここに当たる可能性がある
全22件の結果
| サイト | 分類 | 判定 | 所要 | 日本語 |
|---|---|---|---|---|
| Yahoo! JAPAN | ポータル | ◯ | 3.6s | 1,152字 |
| 日経電子版 | ニュース | ◯ | 5.0s | 7,548字 |
| ITmedia NEWS | ニュース | ◯ | 2.5s | 2,282字 |
| GIGAZINE | ニュース | ◯ | 1.0s | 2,529字 |
| はてなブックマーク | ソーシャル | ◯ | 3.3s | 13,157字 |
| Qiita | 技術メディア | ◯ | 3.6s | 1,394字 |
| Zenn | 技術メディア | △ | 1.5s | 192字 |
| note | 技術メディア | △ | 2.2s | 146字 |
| 楽天市場 | EC | ◯ | 8.0s | 5,819字 |
| Amazon.co.jp | EC | × | 1.7s | 0字 |
| メルカリ | EC | ◯ | 1.8s | 553字 |
| 食べログ | 口コミ | × | 0.8s | 163字 |
| クックパッド | 口コミ | ◯ | 5.0s | 1,998字 |
| e-Gov 法令検索 | 官公庁 | △ | 1.8s | 4字 |
| デジタル庁 | 官公庁 | ◯ | 3.5s | 2,919字 |
| 国税庁 | 官公庁 | ◯ | 1.7s | 6,708字 |
| 個人情報保護委員会 | 官公庁 | ◯ | 6.0s | 6,802字 |
| freee | SaaS | ◯ | 5.8s | 3,406字 |
| マネーフォワード | SaaS | ◯ | 5.3s | 1,578字 |
| サイボウズ | SaaS | ◯ | 25.7s | 7,050字 |
| izanami.dev | 個人メディア | ◯ | 5.2s | 4,171字 |
| Wikipedia 日本語版 | 参照 | ◯ | 8.5s | 3,081字 |
落ちたサイトの中身を見る
Amazon.co.jp はボット対策で止まった
返ってきた HTML の中身が awsWafCookieDomainList から始まっていた。AWS WAF のチャレンジ画面で、日本語は1文字も入っていない
公式ドキュメントは、ボット対策のハンドシェイクが必要なサイトはまだ対象外と明記している。その記述どおりの結果になった
食べログは自前の遮断ページ
タイトルが「現在アクセスが集中しています」だった。サイト側の混雑ページが返ってきていて、Kitesurf の描画能力とは別の話
Zenn と note と e-Gov は SPA
3つとも、枠は描画できるのに本文が入らない。中を見ると原因が揃っていた
| サイト | 返ってきた HTML | 中身 |
|---|---|---|
| Zenn | 201KB | Next.js の __NEXT_DATA__ |
| note | 135KB | webpack で組まれたクライアント側描画 |
| e-Gov 法令検索 | 1.1KB | id="app" だけの空シェル |
e-Gov が分かりやすくて、返ってきた HTML はわずか1.1KB。本文はすべて JavaScript が後から差し込む作りで、Kitesurf の実行環境ではそこまで進まなかった
Zenn はトップの見出しやイベント名までは取れていて、記事一覧が入らない。完全な失敗ではなく、途中で止まっている状態
SPA が全滅するわけではない。同じ技術メディアでも Qiita は1,394字まで取れている。作りごとに結果が変わるので、対象サイトは実際に開いて確かめるしかない
測定ミスを1つ直した
最初の判定では、Qiita・メルカリ・マネーフォワード・Wikipedia を失敗に分類していた。HTML の中に captcha という文字列が入っていたからで、判定スクリプトがそれを拾っていた
中身を見たら、Qiita は recaptchaSiteKey、Wikipedia は wgConfirmEditCaptchaNeeded という設定値だった。ページ自体は普通に描画できている
文字列の一致だけで判定すると、こういう誤検知が混ざる。判定をタイトルの内容で切り直したところ、失敗は5件から2件に減った
同じことを自分の実測でやると、公式の「ボット対策のサイトは非対応」という記述を過大に見積もることになる。数字を出す前に中身を開くのが要る
速いわけではない
もう1つ、公式のベンチマークで見落とされやすい行がある
| 項目 | Kitesurf | Chromium | 差 |
|---|---|---|---|
| CPU スクリーンショット | 380 ms | 1,173 ms | 3.1倍少ない |
| メモリ HTML 抽出 | 39.4 MiB | 273.7 MiB | 7.0倍少ない |
| 実時間 スクリーンショット | 1,148 ms | 637 ms | 1.8倍遅い |
| 実時間 HTML 抽出 | 820 ms | 472 ms | 1.7倍遅い |
CPU とメモリでは勝っているが、処理が終わるまでの時間では負けている。Cloudflare はこの差の多くを画像化と JPEG・PNG 変換だと説明していて、改善対象に挙げている
今回の実測でも、サイボウズが25.7秒かかった。1件ずつ速く返してほしい用途には向かない
じゃあ何が嬉しいのかというと、公式ブログの一文が答えになっている
Kitesurf wins on memory and CPU, the things that actually drive your bill
請求額を動かしているのは実時間ではなく CPU 時間とメモリだという主張。1本あたりが遅くなっても、同じ枠に何倍も詰められるなら総額は下がる
使い方はパラメータ1つ
Chrome DevTools Protocol の一部に対応しているので、Puppeteer や Playwright を使っているならエンドポイントに browser=kitesurf を足すだけで切り替わる
スクリーンショットを単発で叩く Quick Actions も同じ
ベータ期間中はアカウントごとの上限つきで無料
まとめ
日本のサイトで試した結論はこうなる
向いている
- ニュース・官公庁・EC など、サーバー側で HTML を返すサイトの読み取り
- スクリーンショットや PDF の生成
- 短時間で終わる処理を、波のあるタイミングで大量に流す
まだ向かない
- ボット対策のあるサイト(Amazon.co.jp で確認)
- 本文を JavaScript で差し込む SPA(Zenn・note・e-Gov で確認)
- 動画の再生や WebGL
- ログイン状態を長時間保つ処理
対象サイトが決まっているなら、プレイグラウンドに URL を入れれば10秒で判定できる。全面的に置き換えるものではなく、通るサイトだけ Kitesurf に寄せて、落ちるものは Chromium 側に残す使い分けになる