AI エージェント向け headless ブラウザ:自分で動かすもの、借りるもの、そしてログイン情報の行き先
執筆: ReviewRamble editors ·
ウェブを読むエージェントにはブラウザが必要で、headless Chrome はその中で費用のかかる方法です。稼働中のブラウザ 1 つにつき 1 ギガバイト以上のメモリを使い、しかもそれはどのモデルも見ることのないピクセルのためです。2026 年 11 月の時点では、Chrome を自分で動かす軽量エンジンに置き換えるか、他社から Chrome を時間単位で借りるかを選べます。前者はメモリを節約できる代わりに壊れるページが出ます。後者はサーバー運用の手間が省ける代わりに、エージェントの cookie やログイン情報が他社のマシンに置かれます。
以下の数字はすべて、Lightpanda、Moli、Obscura、Cloudflare Browser Run(Kitesurf を含む)、Steel、Browserbase MCP のレビューと、それらが引用する資料に基づきます。GitHub リポジトリと料金ページは 2026 年 11 月 13 日に読み直しました。私たちはこれらのブラウザを自分たちで動かしてはおらず、速度とメモリの数字の多くは開発元自身によるものです。

Chrome が高くつく標準である理由
今のウェブの大半は JavaScript で作られているため、エージェントは HTML をダウンロードするだけでは済みません。何かがスクリプトを実行してページを組み立てる必要があります。Chrome はそれを上手にこなしますが、人が見ているかのように各ページのレイアウトを計算して描画もします。Lightpanda のクローラーベンチマークでは、headless Chrome は 100 ページで最大 2 GB に達しました。Lexmount による 192 サイトのクロールでは、中央値が 773 MiB でした。50 個のエージェントを同時に動かすなら、このメモリがサーバー費用の大半を占めます。
新しいエンジンは、エージェントに必要な部分(JavaScript、ページの構造、cookie、ネットワークリクエスト)を残し、描画を省くか後回しにします。どれも Chrome DevTools Protocol(CDP)を話します。これは Puppeteer や Playwright が Chrome を操作するのと同じ接続方式なので、既存のスクリプトはたいてい接続先のアドレスを変えるだけで済みます。
自分で動かせるエンジン
| エンジン | 実装言語 | ライセンス | GitHub スター数(11 月 13 日) | 最新リリース | 知っておくべき初期設定 |
|---|---|---|---|---|---|
| Lightpanda | Zig | AGPL-3.0、CLA あり | 41,990 | 1.0.4、2026 年 11 月 13 日 | LIGHTPANDA_DISABLE_TELEMETRY=true を設定するまで利用状況のテレメトリーが有効 |
| Obscura | Rust | Apache-2.0 | 34,844 | v0.2.6、2026 年 10 月 31 日 | 32 バイトのトークンがなければ自分のマシンの外では待ち受けない |
| Moli | Rust | Apache-2.0 または MIT | 23,647 | v1.1.24、2026 年 11 月 12 日 | CDP ポートに認証なし。プライベートネットワークの遮断は明示的に有効化が必要 |
| Kitesurf(Browser Run 内) | WebAssembly にコンパイルした Rust | Apache-2.0 | 306 | タグ付きリリースなし | 認証機能を内蔵していない。Cloudflare は前段に Access か独自のログインを置くよう勧めている |
Lightpanda は成熟した選択肢です。2026 年 10 月 2 日に 1.0 に到達し、4 つの中で最大のコミュニティを持ち、ネイティブの MCP サーバーと、セッションをモデルなしで再生できるスクリプトとして記録するエージェントモードを備えています。自社のベンチマークでは、100 ページで Chrome の 2 GB に対して 123 MB、46 秒に対して 5 秒です。ネイティブの Windows 版はなく、Linux バイナリには glibc 2.35 以降が必要なので、Alpine イメージでは動きません。
Moli は速度と引き換えに、動くページを増やします。スクリーンショットなど、リクエストが必要とするときだけレイアウトを計算するため、他のエンジンより多くのウェブ機能(iframe、worker、WebSocket、IndexedDB)を扱えます。Lexmount のクロールでは 192 サイト中 103 サイトで有用な内容を取得し、Chrome は 101、Lightpanda は 85、Obscura は 57 でした。一方で公開から 3 か月しか経っておらず、数日おきにリリースされ、ほぼ 1 人の開発者の仕事です。
Obscura は少ないメモリと検出回避を売りにしています。Chrome の 200 MB 以上に対して 1 インスタンスあたり約 30 MB とうたっていますが、独立した測定はありません。オプションの stealth ビルドはブラウザのフィンガープリントをランダム化し、自動化の典型的な痕跡を隠します。所有者は匿名で、--obey-robots を渡さない限り robots.txt は無視されます。セキュリティの初期設定は 3 つの中で最も慎重です。
Kitesurf は、自分のマシンで動かせるようになった最新の選択肢です。Cloudflare は 2026 年 8 月 6 日に Browser Run 内で提供を始め、11 月 12 日に cloudflare/kitesurf としてソースを Apache-2.0 で公開しました。各ページは Chrome のプロセスではなく Workers の isolate で動きます。ローカルでは wrangler dev で動きますが、その前に Rust のコアを Bazel で初回ビルドする必要があり、README によると時間がかかります。Cloudflare 上で動かすには Dynamic Workers に依存するため Workers Paid プランが必要です。Cloudflare は実験的で開発が盛んな段階だとしており、pull request を出す前にメンテナーの保証を得るよう貢献者に求めています。
互換性:どのベンチマークを読むか
開発元のベンチマークは、参考になる形で食い違っています。Lexmount の 1,308 タスクからなる Lexbench では、Chrome が 99.85%、Moli が 81.88%、Kitesurf が 62.08%、Lightpanda が 53.29%、Obscura が 44.88% を通過しました。テストを書いたのは Lexmount で、Moli の数字は何バージョンも前の 0.1.1 のものです。
10 月 19 日の Lightpanda のベンチマークはコストを測りました。25 タブで 940 ページをクロールしたところ、Lightpanda は 4.5 秒でピーク 109 MB、Obscura は 11.5 秒で 201 MB、Moli は 17.4 秒で 230 MB でした。Cloudflare 自身の 14 サイトのテストでは、Kitesurf は起動済みの Chrome よりメモリ使用量が 4.7 から 7 分の 1 でしたが、1 ページあたりの時間は 1.7 から 1.8 倍かかりました。
合わせて読むと結論は同じです。どの軽量エンジンも、Chrome なら扱える実際のページの一部で失敗し、軽く速いエンジンほどその割合が大きくなりがちです。Moli と Kitesurf は動画と WebGL を扱わず、Obscura はメディア再生とフォントが異なる場合があると注意しています。Lightpanda は何も描画しないため、スクリーンショットと PDF はテキストだけになり、どのエンジンも Chrome とピクセル単位で一致するとは約束していません。ページあたりのコストを数えるクローラーなら Lightpanda から始める理由があり、ページが半分しか動かないと失敗するエージェントなら Moli を検討する理由があります。人のブラウザとまったく同じように振る舞う必要があるものには、今も Chrome が必要です。
ブラウザを借りる
ホスト型のサービスは本物の Chrome を動かしているので、互換性は Chrome と同じです。違うのは料金、セッションの最大の長さ、そして人に見せかける努力の度合いです。
| サービス | 始め方 | ブラウザ 1 時間あたり | 同時実行ブラウザ数 | セッションデータの保存 |
|---|---|---|---|---|
| Cloudflare Browser Run | 無料:1 日 10 分。Workers Paid は月 $5 で 10 時間付き | $0.09 | 無料は 3。Paid は 10、超過分は 1 ブラウザ $2 | レンダリング後に破棄。クロールは 14 日、録画は 30 日 |
| Browserbase | 無料:1 時間。Developer は $20 で 100 時間、Startup は $99 で 500 時間 | Developer は $0.12、Startup は $0.10 | 3、25、100、Scale は 250 以上 | 無料は 7 日、有料は 30 日 |
| Steel Cloud | Launch は $0 で 90 日有効の $30 クレジット付き。Scale は $250 で毎月 $100 付き | Launch は $0.10、Scale は $0.08 | Launch は 10、Scale は 100 | Launch は 7 日、Scale は 14 日 |
| Lightpanda cloud | Explorer は無料で 10 時間。Builder は $19 で 300 時間 | Builder は $0.08 | 無料は 5、Builder は 30 | 公開されていない |

月 1,000 ブラウザ時間なら、定価で Cloudflare は約 $94(同時実行の追加料金は別)、Browserbase は Developer で $128、Startup で $149、Steel は Launch で約 $100、Scale で $230、Lightpanda Builder は $75 です。Browser Use Cloud は 1 時間 $0.02、約 $20 と例外的ですが、GB あたり $5 のレジデンシャルプロキシが初期設定で有効になっています。プロキシと CAPTCHA の解決は、提供しているどのサービスでも別料金です。
時間単価よりも、その周りの制限のほうが重要です。Cloudflare は操作のないセッションを 60 秒で閉じ、keep_alive を使っても最大 20 分です。Kitesurf はそもそも長時間のログイン状態のセッションを維持できません。Steel のセッションは Launch で 15 分、Scale で 1 時間で止まります。Browserbase の無料セッションは 15 分で止まります。長い購入手続きや取引先ポータルを進むエージェントは、請求額より先にこの壁に当たります。
もう一つの違いは礼儀です。Browser Run はすべてのリクエストに署名し、Cloudflare から来たことをサイトに伝えます。プロキシ、IP ローテーション、CAPTCHA の解決はありません。ボットを遮断するサイトは Browser Run も遮断します。Steel と Browserbase は、自動化に抵抗するサイト向けにレジデンシャルプロキシと CAPTCHA の解決を販売しており、そうしたサイトの利用規約に関するリスクを負うのは事業者ではなくあなたです。
cookie とログイン情報はどこへ行くか
多くのチームが飛ばしてしまう問いです。エージェントのログイン情報を持つブラウザは、その中にあるすべてのアカウントの鍵です。しかもそれを操作するモデルは見知らぬ人が書いたページを読み、そのどれもが指示を含んでいる可能性があります。
- ローカルでは、プロファイルは自分のディスクにあります。Moli は --profile-dir、--cookie、--http-cache-dir を渡したときだけ cookie とキャッシュを書き込みます。Playwright MCP は初期設定でディスク上に永続プロファイルを保持し(--isolated ならメモリ上)、README はセキュリティ境界ではないと明記しています。Chrome DevTools MCP はブラウザプロファイルの中身をすべてエージェントに公開し、オプトアウトしない限り利用統計を Google に送ります。
- ローカルのサーバーは無防備なことが多いです。Moli の CDP ポートと、セルフホスト版 Steel のポート 3000 と 9223 には認証がないため、そこに到達できるものなら何でもブラウザを操作し、クラウドのメタデータアドレスを取得できます。Steel のセキュリティポリシーは、1 行の docker run が両方のポートをすべてのインターフェースで公開すること、そして Docker が UFW などのホストのファイアウォールを迂回することを警告しています。トークンなしでループバック以外での待ち受けを拒否するのは Obscura だけです。これらは 127.0.0.1 に置き、前段に自前の認証を置いてください。
- 借りる場合、事業者はすべてを見ます。Browserbase はブラウザをホストし、すべてのページとフォームの入力値を見ます。ホスト型 MCP サーバーは API キーを URL のクエリパラメーターとして受け取るため、キーがログに残る可能性があります。Steel Cloud は、cookie と保存済みログイン情報を含む Chrome のユーザーデータディレクトリ全体のスナップショットとしてプロファイルを保存し、30 日使われなくなるまで米国のサーバーに置きます。Cloudflare は、レンダリングしたページは返した時点で破棄するとしています。セッションに渡した cookie は、セッションが続く間その事業者のブラウザ上に残ります。
- パスワードをモデルから遠ざけるサービスもあります。Steel の Credentials API は、保存したユーザー名、パスワード、ワンタイムコードを、エージェントに見せずにページへ入力します。Cloudflare の Human in the Loop は Live View を通じてログインを人に引き渡し、録画ではフォーム欄への入力がすべて伏せられます。

ログイン済みのサイトでエージェントがあなたとして操作する必要があるなら、easi.run や BrowserOS neo のようなセルフホストの本物の Chrome を使えばプロファイルを手元に置けます。ただし、コーディングエージェントを守るためのガイドがそのまま当てはまります。作業ごとに 1 つのプロファイル、必要なアカウントだけ、そしてマシンの外から到達できるものは何もない状態にすることです。
操作する側は別の選択
ブラウザと、ブラウザに何をするかを指示するものは別の層です。Playwright MCP(バージョン 0.0.85、11 月 9 日)は各ページのアクセシビリティスナップショットをモデルに渡すもので、最初に使うべきサーバーです。Chrome DevTools MCP(1.13.0、11 月 11 日)は、ページが壊れた理由を知りたいときのために、パフォーマンストレース、ネットワークログ、コンソールエラーを加えます。Stagehand と Browser Use は、予測できない手順だけをモデルに判断させます。どれも CDP で接続するので、各エンジンが対応する範囲で Chrome、Lightpanda、Moli、Obscura、借りたブラウザのどれでも操作できます。エージェントを書き直さずに、後からブラウザを替えられます。
妥当な構成
- まずローカルの Chrome。Playwright MCP と、分離したプロファイルを持つ普通の Chrome でエージェントを作り、正常に動く状態を把握します。
- 量をこなすには軽量エンジン。大規模にクロールや閲覧をするようになったら、自分の対象ページを Lightpanda か Moli で処理し、失敗したページ用に Chrome のプールを残し、節約額を数える前に失敗の数を数えます。
- 難しい部分は借りる。宣言されたボットを受け入れるサイトを安く読むなら Browser Run。長時間のログイン状態のセッション、多数の同時ブラウザ、プロキシが必要なら Steel か Browserbase です。
- バージョンを固定する。Moli は数日おき、Lightpanda は数週間おきにリリースされ、Obscura と Steel はまだ 1.0 前で、Kitesurf にはリリースがありません。最新のインストーラーをそのままシェルに流し込むのではなく、決まったバージョンをインストールしてください。
注意点:ここにある数字のほぼすべては、売りたい製品を持つ誰かが公開したものです。Moli が勝つベンチマークは Lexmount が、Lightpanda が勝つベンチマークは Lightpanda が書き、Kitesurf を測ったのは Cloudflare です。エンジンはどれも数か月しか経っておらず毎週変わるため、9 月の合格率はあなたがインストールするバージョンについてほとんど何も語らないかもしれません。実際のトラフィックを移す前に、自分の対象ページのサンプルをどのエンジンでも試してください。
結論:軽量な headless ブラウザは自転車便で、Chrome はバンです。小さな荷物の大半は自転車便のほうが安くて速く、どうしても載らない荷物もあります。そうした荷物のためにバンを残し、午後だけ車両が何台も要るときは借り、そしてどのバンにあなたのアカウントの鍵を預けるのかをよく考えてください。