Stagehandとは|AIブラウザ自動化の使い方とPlaywrightとの違い【v3対応】
Stagehandは、Browserbaseが開発したオープンソース(MITライセンス)のAIブラウザ自動化フレームワークです。「クリック」「入力」といった操作を自然言語で書けるのが特徴で、CSSセレクタを直接指定する従来の自動化に比べてUI変更に強く保守しやすいのが利点です。英単語の「stagehand(舞台係)」とは別物で、本記事はこのソフトウェアを扱います。2025年10月29日公開のv3で内部エンジンが刷新され、従来のPlaywrightへのランタイム依存を撤廃しました(最新は3.7.3/2026年7月)。以下では4つの中核機能、Playwrightとの違い、インストール、料金の考え方、向く/避ける場面までを実務目線で整理します。
まとめ:Stagehandの要点
- Stagehandは自然言語+コードでブラウザを操作するAI自動化フレームワーク。中核はact・extract・observe・agentの4機能。
- v3(2025-10-29)でPlaywright依存を撤廃し、Chrome DevTools Protocol(CDP)を直接叩く独自エンジンへ移行。iframeやShadow DOMの操作が平均44.11%高速化した。
- 導入は Node.js が
npm i @browserbasehq/stagehand、Python がpip install stagehand。別途LLMプロバイダのAPIキーが必要。 - ローカル実行はOSSなので無料で、費用はLLMのトークン課金のみ。大規模並列やマネージド環境が要るときにBrowserbaseの有料クラウドを使う。
- UIが頻繁に変わる操作や自然言語指示に向き、ミリ秒単位の決定性・大量実行が要る用途は決め打ちのPlaywrightが優る。
Stagehandとは|自然言語でブラウザを操作するAI自動化フレームワーク
StagehandはブラウザをAIとコードの両方で制御するためのフレームワークで、GitHubで2万超のスター、週70万回超のダウンロードがある(2026年時点)。開発元のBrowserbaseはブラウザ実行基盤を提供する企業で、Stagehand自体はローカルでも動くOSSとして公開されています。狙いは、壊れやすいセレクタ指定を自然言語の指示に置き換え、「実行できる自動化」と「意図が読めるコード」を両立させることです。
中核となる4つの機能(act・extract・observe・agent)
- act:「ログインボタンを押す」のような自然言語の指示を1つのブラウザ操作(クリック・入力・スクロール等)に変換して実行する。
- extract:ページから構造化データを取り出す。TypeScriptではZodスキーマで型を指定し、抽出結果を検証できる。
- observe:操作を確定する前に「そのページで何が操作可能か」を洗い出す。actの空振りを減らすための下見に使う。
- agent:「最新のPRまでたどり着く」のような複数ステップのタスクを、モデルに委ねて自律実行する。
従来のセレクタ依存の自動化との違い
SeleniumやPlaywrightを素で書く場合、要素は#login-buttonのようなセレクタで指定します。この方式はサイトのHTML構造が変わると即座に壊れます。Stagehandはactに自然言語を渡し、AIがその時点のページから対象要素を解決するため、クラス名やDOM構造の小さな変更で落ちにくくなります。一方で、実行のたびにLLM呼び出しが挟まる分、実行速度とコストは素のPlaywrightに劣ります。この速度・コストと保守性のトレードオフが選定の軸になります。
Playwrightとの違いとv3での位置づけ
「stagehand playwright」という検索が示すとおり、両者の関係は混同されやすい論点です。v1・v2のStagehandはPlaywrightの上に構築されていましたが、v3(2025年10月29日公開)でPlaywrightへのランタイム依存を撤廃し、CDPを直接操作する独自エンジンに置き換えました。これによりiframeやShadow DOMをまたぐ操作が平均44.11%高速化しています。ただし完全に切り離したわけではなく、必要な場面ではPlaywrightやPuppeteerを組み合わせて使える拡張性も残しています。
| 観点 | Stagehand v3 | Playwright | Selenium |
|---|---|---|---|
| 操作の書き方 | 自然言語+コード | セレクタ・API | セレクタ・API |
| AI/LLM | 必須(要APIキー) | 任意(1.56+のAgents) | なし |
| 実行エンジン | 独自CDPエンジン | 独自ドライバ | WebDriver |
| UI変更への耐性 | 高い | セレクタ依存 | セレクタ依存 |
| 速度・決定性 | LLM分だけ低下 | 高い | 中 |
使い分けの目安は明確です。要素が安定していて決め打ちのセレクタで足りるなら、速くて決定的なPlaywrightが有利です。対象サイトのUIが頻繁に変わる、あるいは「この条件の行を探して申し込む」のように自然言語で意図を書きたい場合にStagehandが効きます。Playwright側の詳細はPlaywrightとは|仕組み・できること・Seleniumとの違いを解説、最新版のAIエージェント機能はPlaywright 1.56の新機能紹介で確認できます。
インストールと最小コード例
Node.jsとPythonの両方に公式実装があります。いずれもStagehand本体に加えて、OpenAI・Anthropic・GoogleなどLLMプロバイダのAPIキーを別途用意します。
# Node.js(TypeScript)
npm i @browserbasehq/stagehand
# ひな形から始める場合
npx create-browser-app
# Python(3.9以上)
pip install stagehand
最小のact実行は次のように書きます。ページ遷移はPlaywright互換のAPIで、操作の指示だけを自然言語で渡します。
import { Stagehand } from "@browserbasehq/stagehand";
// 別途 OPENAI_API_KEY など LLMプロバイダのAPIキーを環境変数で設定しておく
const stagehand = new Stagehand();
await stagehand.init();
const page = stagehand.page;
await page.goto("https://example.com/login");
await page.act("メールアドレス欄に[email protected]と入力する");
await page.act("ログインボタンを押す");
対応するLLMモデルと料金の考え方
Stagehandはモデル非依存で、OpenAIのGPT系、AnthropicのClaude、GoogleのGeminiなど主要プロバイダを自分のAPIキー(BYOK)で使えます。公式のModel Gateway経由で切り替えることも可能です。費用構造は誤解されやすいので、内訳を分けて押さえます。
- Stagehand本体は無料:OSSなのでローカル実行に利用料はかからない。実質のコストはactやextractのたびに発生するLLMのトークン課金だけ。
- Browserbaseクラウドは有料:マネージドなブラウザ環境や大規模並列実行が必要なときに使う従量課金サービスで、Stagehandを使うこと自体の必須条件ではない。
コストはLLMの呼び出し回数にほぼ比例します。actを闇雲に連発せず、observeで操作対象を先に特定してから最小限のactに絞る、抽出はextractで一度にまとめる、といった設計がそのまま費用の抑制につながります。
実務での使いどころと避けるべき場面
向いているのは、HTML構造が頻繁に変わる外部サイトのスクレイピング、ログインや検索など分岐の多いフロー、非エンジニアが自然言語で組みたい簡易自動化です。UI変更でセレクタが壊れる保守コストを、AIによる要素解決で肩代わりできます。
逆に、素のPlaywrightを選ぶべき場面もはっきりしています。ミリ秒単位の決定性が要る負荷試験、同じ処理を毎分大量に回すバッチ、LLMの出力揺れが許されないミッションクリティカルな処理では、Stagehandは速度・コスト・再現性のいずれでも不利になります。Seleniumで大規模並列を組むならSelenium Gridとは|Grid 4の構成・環境構築、Chrome DevToolsを直接扱う軽量用途はPuppeteerとは何かが候補です。まずは壊れやすい一部の操作だけをStagehandに置き換え、決定的でよい処理はPlaywrightに残す併用が現実的です。
よくある質問
Stagehandの意味・読み方は?
読みは「ステージハンド」。英単語のstagehandは舞台の裏方(舞台係)を指しますが、本記事のStagehandはBrowserbase製のブラウザ自動化フレームワークの固有名です。検索意図が辞書かソフトウェアかで結果が分かれるため、ソフトウェアを探すときは「stagehand ブラウザ」「stagehand playwright」等で絞ると精度が上がります。
StagehandにPlaywrightは必要ですか?
v3では不要です。ランタイム依存が撤廃され、独自のCDPエンジンで動作します。ただしPlaywrightやPuppeteerと併用する拡張構成も選べるため、既存のPlaywright資産を活かしながら一部だけStagehand化することもできます。
無料で使えますか?
Stagehand本体はOSSで無料です。実際にかかるのは自分で契約するLLMプロバイダのトークン料金だけで、Browserbaseの有料クラウドは大規模・マネージド運用を求める場合の選択肢です。
Pythonでも使えますか?
使えます。pip install stagehandで導入でき、Python 3.9以上に対応します。TypeScriptが主実装ですが、act・extract・observe・agentの中核機能はPythonでも利用できます。
v2から移行するには?
Playwright依存の撤廃とCDPエンジン化に伴い内部挙動が変わるため、公式の移行ガイドに沿った確認が必要です。ページ操作はPlaywright互換のAPIが残るため、act等の呼び出し部分よりも初期化やドライバ設定周りの差分を優先して見直すのが実務的です。