Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloudflare「Kitesurf」を読む
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
赤神青空
PRO
August 11, 2026
Video
Programming
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflare「Kitesurf」を読む
赤神青空
PRO
August 11, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【ORM不要論の歴史】運用の問題は、いまの責務論に直結する
akagami
PRO
0
10
【ORM不要論の歴史】なぜ生まれ、20年前に何を言われたか
akagami
PRO
0
15
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
84
【ORM不要論の歴史】「ORM」と呼ばれているものが3つある
akagami
PRO
0
38
【Vitest5.0大解剖】Vitest5.0で消えた記法とAPI
akagami
PRO
0
23
【Vitest5.0大解剖】Vitest5.0で増えた書き方
akagami
PRO
0
32
【Vitest5.0大解剖】Vitest5.0で静かに変わる挙動
akagami
PRO
0
24
【Vitest5.0大解剖】Vitest5.0のTrace View
akagami
PRO
0
26
【Vitest5.0大解剖】Vitest5.0は何が速くなったのか
akagami
PRO
0
28
Other Decks in Programming
See All in Programming
バグを直したら useEffect が消えた
colorful12
3
840
信頼性の目標を誰も求めてない
shubox
0
490
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
360
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
570
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
XHTMLが残したもの
yosuke_furukawa
PRO
2
430
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
520
初めての模倣学習とVLA
natsutan
0
500
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
アクセシビリティから考える情報設計
high_g_engineer
0
280
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Prompt Engineering for Job Search
mfonobong
0
440
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Producing Creativity
orderedlist
PRO
348
41k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
2026年8月 Cloudflare「Kitesurf」を読む 人間が見ないブラウザは、どう設計されるのか 赤神 青空
▪2026年8月6日、Cloudflare「Agents 何が起きたか Week」 Cloudflareがブラウザを作った。 ただし、人間が見るためのものではない。 名前 Kitesurf。Browser Run でベータ提 供中、現在は無料。
中身 Chromiumを使わず、Workers上の V8 isolateで動く。 結論を先に Chromiumより速くない。それでも 意味がある、という話。 AIエージェントが使うことだけを前提に設計された、初期段階のブラウザです。 今ココ はじめに 2/13
▪世の中のブラウザの大半が、これで動いている そもそもChromiumとは Googleが公開しているオープンソースのブラウザ実体。ここを土台に各社が製品を作っています。 これを使っている主なブラウザ Chrome、Edge、Brave、Opera、Vivaldi など Safari は別系統(WebKit)、Firefox も別系統(Gecko) 画面のない使い方もできる(ヘッドレス)
PuppeteerやPlaywrightが既定で動かすのがこれ スクレイピングやE2Eテストは、たいていこれを動かしている だからこれまでのAIエージェントも、人間用のChromiumを借りて使ってきた 今ココ はじめに 3/13
▪同じ仕事を、別の部品で組み直している Kitesurfが捨てたもの Chromium ⼈間のために作られた Kitesurf エージェントのために作られた タブ‧テーマ‧拡張機能 端末間の同期‧セッション保持 GPU合成‧60fpsスクロール この4層は、そもそも無い
エージェントは画⾯を⾒ないので要らない ピクセル単位で正確な描画 HTML / CSS の解析とレイアウト Blitz + Stylo(Rust製) JavaScript の実⾏ V isolate + Boa JS ネットワークからの取得 SandboxOutbound 人間のための4層を落とし、エージェントが使う3層だけをWorkersの上で組み直した 今ココ しくみ 4/13
▪「何を敵と想定するか」が、人間向けとずれている 脅威モデルも違う 脅威モデル=「何を敵と想定して守るか」の前提。 使い手が人間かエージェントかで、ここが入れ替わる。 人間のブラウザ 自分で選んだサイトを開く。前提は ある程度の信頼。 エージェントのブラウザ 任意のサイトを開けと指示される。 信頼の前提が置けない。
だから主役の脅威が変わる プロンプトインジェクションなど、 指示の乗っ取り。 Kitesurfは「すべてのページ読み込みは信頼できない入力」から出発しています。 今ココ しくみ 5/13
▪隔離とステートレスを、構造で担保している 3つの部品と、1つの出口 Kitesurf(Cloudflare Workers の上で動く) 画像‧CSS‧fetch() ページを開く エージェント Puppeteer /
MCP Engine 唯⼀の公開⾯(CDP) セッション状態を持つ RPC: renderFrame() PageScript 1ページ = 1 isolate HTML/CSS解析‧JS実⾏ シーン(ページ内容) 最初の⽂書取得 PageRenderer SandboxOutbound 唯⼀の出⼝ CORS強制‧Cookie分離 違反は403で落とす Web 任意のサイト ラスタライズ PNG / JPEG / PDF この範囲から直接インターネットには出られない 状態を持つのは Engine だけ。ネットに出られるのは SandboxOutbound だけ 今ココ しくみ 6/13
▪行ごとに長いほうを最大幅にしている(14URL・5回計測の中央値) 何が良くなり、何が悪くなったか Chromium Kitesurf(有利) Kitesurf(不利) CPU時間 メモリ 所要時間 スクリーンショット取得時‧中央値 ,
ms ms . MiB . MiB ms , ms 3.1倍 少ない 4.7倍 少ない 1.8倍 遅い 上2つが請求書に乗る。下1つは体感にしか乗らない。 有利な2つと不利な1つは、効いてくる場所が違う 今ココ 数字 7/13
▪普通のブラウザなら「失敗」と呼ばれる結果 ここが一番おもしろい 速いブラウザを作ったのではない。 安いブラウザを作った。 遅い理由 温まったJITに、冷たいソフトウェアレンダラは勝てない。 それでも良い理由 課金されるのはCPU時間とメモリであって、体感速度では ない。 1台をどれだけ速くするかではなく、同時に何台立てて捨てられるかで評価する製品です。
今ココ 数字 8/13
▪Cloudflare自身がそう案内している 今は二階建てで使う ◯ Kitesurfが向く HTML抽出、スクリーンショット、PDF生成 単発で終わる Quick Actions 短時間・大量・並列のバースト処理 使い捨て前提のエージェント作業
✕ まだChromiumが要る 動画の再生、WebGLの描画 TLSフィンガープリントを見るbot対策 長時間ログインを維持する処理 表示互換性が厳しく問われる場面 「全部置き換える」ではなく「安いほうに流せる仕事を流す」という出し方をしています。 今ココ 使う 9/13
▪CDP互換なので、既存のコードは書き換えない 切り替えはパラメータ1つ Puppeteer / Playwright / MCPクライアントが、そのまま向き先を変えられます。 bash # Quick
Actions(スクリーンショット) curl -X POST "$BASE/browser-run/screenshot?browser=kitesurf" \ -H "Authorization: Bearer $TOKEN" \ -d '{"url": "https://example.com"}' text # CDPエンドポイント wss://.../browser-run/devtools/browser?browser=kitesurf 今ココ 使う 10/13
▪発表時点で決まっていないこと 保留にしておきたいこと 面白い一方で、まだ判断材料が揃っていないところもあります。 ベータの無料枠で試すぶんには関係ありませんが、載せる前には効いてきます。 01 02 03 現在はベータで無料。アカウント単位の 上限つき 「準備ができたら」のみ。リポジトリも
ライセンスも未公開 移植性やデータ所在に制約があるなら、 そこから検討が要る 正式な料金が未発表 今ココ 使う OSS化は時期未定 Workers前提 11/13
▪Kitesurfをどう位置づけるか まとめ 01 評価軸が置き換わった 速度ではなくCPU・メモリで測る。同時実行数と使い捨てやすさで評価する製品。 02 安全性を構造で担保している 出口を1つに絞り、毎回まっさらなisolateで開く。モデル任せにしない。 03 今は併用が前提
短時間の抽出・撮影はKitesurf、動画や長時間セッションはChromium。 今ココ まとめ 12/13
▪個人的に気になっていること 最後に Webが人間用とエージェント用に分かれ始めている。 ブラウザが分かれたのは、その一番わかりやすい形かもしれない。 同じ週の発表 WebMCPなど、サイト側がエージェントに機能を差し出す 仕組みも並んでいる。 これから見る点 実サイトの互換性、正式料金、OSS化の時期。採用可否は ここで決まる。
まずはPlaygroundに手元のURLを入れてみるのが、一番早い確かめ方です。 今ココ まとめ 13/13