project
Webwright - マイクロソフトのオープンソース、端末ネイティブなWebインテリジェンスフレームワーク
Webwrightは、Microsoft Researchが開発したオープンソースのターミナルネイティブなWebベースのインテリジェントエージェントフレームワークです。わずか約1000行のコードで、AIモデルがPlaywrightコードを記述したり、bashコマンドを実行したり、ログを表示したり、ターミナル内でエラーを繰り返し修正したりすることを可能にします。
Webwrightとは何ですか?
Webwrightは、Microsoft Researchが開発したオープンソースのターミナルネイティブなWebベースのインテリジェントエージェントフレームワークです。わずか約1000行のコードで、AIモデルがPlaywrightコードを記述し、bashコマンドを実行し、ログを表示し、ターミナル内でエラーを繰り返し修正して複雑なWebページタスクを完了できるようにします。Webwrightを使用すると、モデルはターミナルでコードを記述することでブラウザを直接制御できます。GPT-5.4をベースにしたWebwrightは、Odysseysの長リンクブラウジングベンチマークで60.8%のスコアを獲得しました。これは、以前の最高結果から35.1%向上し、ベースGPT-5.4から81.49%向上しています。また、300の実際のWebサイトを含むOnline-Mind2Webタスクで86.67%の精度を達成しました。
Webwrightの主な機能
-
ブラウザを制御するためのターミナルコードAIモデルは、クリックや入力を一つずつ予測するのではなく、端末上にPlaywrightスクリプトを書き込んで、ブラウザセッションを直接開始、確認、終了させます。
-
シェルコマンドは自由に実行できます。bashコマンドの実行をサポートし、コードとシステムレベルの操作を組み合わせることで、ファイル、ログ、環境設定を柔軟に処理できます。
-
自己反省と検証メカニズムタスクが完了したら、モデルは新しいフォルダで最終スクリプトを実行し、ログとスクリーンショットを組み合わせてパフォーマンスを検証することで、「時期尚早な完了宣言」を防ぐ必要があります。
-
コンテキスト圧縮管理20ステップごとに履歴の流れを自動的に要約に圧縮することで、長いリンクを持つタスクにおけるコンテキストの肥大化問題を解決します。
-
再利用可能なツール生成完了したタスクスクリプトは、CLIツールにパラメータ化してワークスペースに保存し、後で再利用することで、重複した探索を回避できます。
Webwrightの技術原則
-
3つのモジュールからなるミニマルな建築このフレームワーク全体は、ランナー(約150行、ループオーケストレーションを担当)、モデルエンドポイント(約550行、LLM API呼び出しをカプセル化)、および環境(約300行、シェルコマンドを実行し、ターミナルと対話)のみで構成されており、マルチエージェントオーケストレーションや複雑な階層型プランニングは含まれていません。
-
行動としてのコードパラダイムフォームへの入力、日付の選択、ページ間操作など、複数のステップからなるウェブページのタスクを、ループ、関数、抽象化を活用して再利用性を高めながらコードで表現することは、従来の単一ステップのアクションチェーンよりも効率的です。
-
観察・行動サイクルランナーはタスク履歴とターミナル観測をモデルに送信します → モデルは思考プロセスとシェルコマンドを返します → 環境は実行され、ターミナル出力、ログ、スクリーンショット、またはエラーを返します → 完了するまで繰り返します。
-
ワークスペースの永続性すべてのスクリプト、ログ、スクリーンショット、および出力はローカルワークスペースに保存され、最終的に再利用可能なタスクプログラムが生成されます。
Webwrightの使い方
-
環境準備リポジトリをクローンして依存関係をインストールし、LLM APIキーを設定します。
-
タスクの開始:走る
run.py自然言語でタスクの説明を入力してください(例:「予算1000ドル未満で、33~49インチの240Hz OLEDディスプレイを検索してください」)。 -
サイクルを観察してくださいフレームワークは自動的にランナー・モデル・環境のループに入り、そこでモデルはスクリプトを作成し、コマンドを実行し、出力を取得します。
-
自己検証タスクが完了すると、モデルは
final_runs/ディレクトリでスクリプトを再実行します。self_reflection検証結果。 -
多重出力:から
workspace/生成されたものを抽出する.pyこのスクリプトは、再利用可能なCLIツールとして機能します。
Webwrightの主な利点
-
最小限の実装ハーネスコードはわずか約1,000行で、理解しやすく拡張しやすい明確なアーキテクチャを備えています。
-
パフォーマンスの飛躍的向上Odysseysロングリンクタスクにおいて、このモデルは視覚ベースラインモデルを大幅に上回り、GPT-5.4では81.49%の改善、Claude Opus 4.7では大幅な性能向上を実現しました。
-
ターミナルネイティブこれにより、AIは真の端末の自由度を得ることができ、ブラウザセッションを自由に作成および破棄したり、コードやログを永続的に保持したりすることが可能になる。
-
出力は再利用可能です保存、共有、再利用が可能なプログラムの生成をサポートすることで、後続の同様の作業のコストを削減します。
Webwrightのプロジェクトアドレス
- プロジェクト公式サイト:https://microsoft.github.io/Webwright/
- GitHubリポジトリ:https://github.com/microsoft/webwright
Webwrightの競合製品比較
| 寸法 | Webwright | Browser Use |
|---|---|---|
| 開発者 | マイクロソフトリサーチ | 独立したオープンソースプロジェクト(browser-use.com) |
| コアパラダイム | ターミナルコードの優先順位:AIはターミナルでPlaywrightスクリプトを作成し、bashコマンドを自由に実行できます。 | DOM抽出の優先順位:無関係なHTML要素を除去した後、それらをLLMに渡して次のアクションを予測します。 |
| 建築の複雑さ | 約1000行のコード、ランナー+モデル+環境という最小限の3モジュール構成で、マルチエージェントオーケストレーションは使用していません。 | PlaywrightのSDKをベースにした、中程度の複雑さのモジュール。DOM操作や複数タブ管理のためのモジュールが含まれています。 |
| コードの再利用性 | 強力タスクが完了すると、再利用可能なCLIツールが生成され、後から直接使用できるようにワークスペースに保存されます。 | 真ん中開発者向けにSDKが提供されていますが、これは主に単一タスクでの使用を想定しており、再利用可能なロジックを手動でカプセル化する必要があります。 |
| 端末のネイティブサポート | はい完全な端末閉ループにより、モデルは端末内でログを自律的に書き込み、実行し、表示することができる。 | いいえこれはPython SDKの形式であり、開発者は呼び出しコードを記述する必要があります。ネイティブな端末操作ではありません。 |
| 視覚依存 | スクリーンショットやDOMの状態に依存しず、純粋にコードによって動作するブラウザ。 | ブレンドモード:ビジュアルモデルのスクリーンショットとテキストDOM抽出のデュアルチャネル処理をサポートします。 |
| コンテキスト管理 | 履歴は、コンテキスト情報の肥大化を防ぐため、20ステップごとに自動的に要約に圧縮されます。 | これはSDKレベルの会話履歴管理に依存しており、自動圧縮メカニズムを備えていません。 |
| タスク検証メカニズム | 自己反省ゲートモデルは、最終スクリプトを含む全く新しいフォルダで再実行する必要があり、ログとスクリーンショットによる検証が完了した後にのみ完了とみなされます。 | 自己検証機能が組み込まれておらず、タスクが成功したかどうかを判断するには外部のチェックに依存している。 |
| 代表的なパフォーマンス | Odysseys 60.8%(最先端技術と比較して35.1%の改善)、Mind2Web 86.7% | WebVoyager 89.1%,GAIA 66.6% |
| 適用モデル | GPT-5.4、Claude Opus 4.7、Qwen-3.5-9Bなど。 | GPT-5.5 Instant、Claude 4.0 Sonnet、DeepSeekなど。 |
| オープンソースライセンス | MIT(GitHub: microsoft/Webwright) | MIT(GitHub: browser-use/browser-use) |
| 主な適用シナリオ | 開発者は、再利用可能なウェブページ自動化ツールを構築したり、一連の長いタスクのためのスクリプトを生成したり、エンドツーエンドのテストを実行したりすることができる。 | 開発者は、カスタムAIブラウザプロキシを迅速に構築し、複雑なマルチタブタスクを処理し、既存のアプリケーションと統合することができます。 |
| 展開方法 | ローカル端末で実行するには、LLM APIキーを設定する必要があります。 | ローカルPython環境+Playwright、Dockerデプロイメントをサポート |
| 探知回避機能 | 検出回避機能は内蔵されていません。Playwrightの基本機能に依存しています。 | 内蔵ステルスプラグイン、プロキシローテーション、CAPTCHA処理、その他の検出回避メカニズム |
| 複数タブ対応 | コードによる自由な制御が可能。ただし、モデルの自己管理が必要となる。 | ネイティブサポートタブの状態を自動的に追跡し、複数のタブをまたぐタスクをサポートします。 |
Webwrightのアプリケーションシナリオ
-
ウェブページのデータ収集の自動化AIは端末上でPlaywrightスクリプトを作成し、表の一括キャプチャ、フォームへの入力、ページ間の情報統合を行い、最終的に再利用可能なデータ抽出ツールを生成する。
-
エンドツーエンドのウェブページテストこのモデルは、テストコードを自律的に生成および実行し、スクリーンショットとログをキャプチャし、自己反省を通じて機能の正しさを検証し、標準化されたテストレポートを出力します。
-
長文リンクのオンラインタスク航空券の価格比較やホテルの予約といった複数ステップのプロセスでは、ループや関数を用いて複雑な操作を一度に抽象化することで、従来のような単一ステップのクリック操作による非効率性を回避します。
-
再利用可能なツールの開発頻繁に実行されるタスクは、パラメータ化されたCLIツールにカプセル化され、ワークスペースに保存されるため、後で直接実行でき、繰り返し探索する必要がなくなります。