Skyvern と Stagehand の比較
どちらもコンピュータ操作に分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | Skyvern | Stagehand |
|---|---|---|
| ライセンス | AGPL-3.0 | MIT |
| 言語 | Python | TypeScript, Python, Go |
| 提供形態 | セルフホスト / マネージドクラウド | セルフホスト / ローカル実行 / マネージドクラウド |
| 成熟度 | 成長期 | 成長期 |
| スター | 22.8k | 23.9k |
| 直近7日間のスター増加数 | +0 ★ | +1 ★ |
| フォーク | 2.1k | 1.6k |
| オープンIssue | 214 | 315 |
| 最終コミット | 2026年8月16日 | 2026年8月14日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
Skyvern
画像認識とDOM解析を組み合わせることで、サイトが刷新されてもフローが動き続けます。これは従来のセレクタ依存スクリプトを壊してきた典型的な失敗要因です。ライセンスがAGPLである点に注意してください。ネットワークサービスとして提供する予定がある場合は、実装に着手する前に条項を確認する必要があります。
詳細を見る →Stagehand
手順が分かっている部分は決定論的なPlaywrightで書き、ページの構造が予測できない箇所だけ自然言語に切り替えられます。この混在方式が現実的な中間解です。完全にAI任せの自動化は遅く不安定であり、完全にスクリプト化した自動化は画面刷新のたびに壊れます。
詳細を見る →できること
Skyvern
- 画面刷新に耐える自動化 — 事前に決めたXPathではなくVision LLMが画面を解釈して操作するため、レイアウトが変わってもフローが壊れにくくなります。page.click("#submit-btn", prompt="Click the Submit button")のようにセレクタを先に試し、合わなくなった場合だけAIに任せる書き方もできます。
- ページから構造化データを取り出す — page.extract(prompt, schema)にJSONスキーマを渡すと指定した形でデータが返り、page.validate("Check if the user is logged in")は真偽値を返すため、後続の分岐を自分のコードで書けます。
- 複数手順をワークフローにまとめる — ワークフローのブロックにはFor Loops、Validation、File parsing、HTTP Request Block、Custom Code Blockが用意され、保存したワークフローはpage.agent.run_workflow(workflow_id)からも呼び出せます。
- ログインと2要素認証を通す — page.agent.login(credential_type, credential_id)で保存済みの認証情報を使ってログインでき、Skyvern自身の資格情報ストアのほかBitwardenにも対応します。2要素認証はQRコード型(Google AuthenticatorやAuthy)、メール、SMSを扱えます。
- ローカルにサーバを立てる — pip install "skyvern[all]"の後にskyvern quickstartを実行すると、同梱UI付きのローカルサーバが起動します。--database-stringでPostgresを指定でき、TypeScriptからはnpmの@skyvern/clientを使います。
Stagehand
- 自然言語とロケータの併用 — 構造が読めない操作はstagehand.act("click on the stagehand repo")のように自然言語で指示し、observe()が返すセレクタをpage.locator()に渡せば、同じ操作を決定論的に繰り返せます。
- スキーマに沿った情報抽出 — extract()にZodスキーマを渡すと、宣言したフィールドだけが型の付いた値として返ります。ページ本文を受け取ってから自前で切り出す処理は不要です。
- 画面変更への自動追従 — act、observe、extractはself-healingで、サイト側の変更を検知して操作方法を組み直します。セレクタが1つ合わなくなっただけでスクリプト全体が止まる状況を避けられます。
- 入れ子になったDOMへの到達 — deep locatorがプロセス外iframeやclosed Shadow DOMの内側まで届き、通常の自動化では触れない要素を操作できます。クリップボード操作やバッチコマンドも用意されています。
- TypeScript・Python・Goで書ける — 同一のブラウザドライバが3つのSDKとして提供されます。npmでは@browserbasehq/stagehand、PythonとGoは同じリポジトリのpackages/sdk-pythonとpackages/sdk-goにあり、just installとjust buildでまとめてビルドできます。