Browser Useとは
ブラウザ操作エージェント / Browser Agent
AIエージェントがWebブラウザを直接操作し、Webサイト上のタスクを自律的にこなす技術
ひとことで言うと
AIが人と同じようにブラウザを開き、クリックや入力をして、Web上の作業を代わりにこなす技術。
概要
Browser Useは、AIエージェントがWebブラウザを直接操作し、リンクのクリック、フォームへの入力、ページのスクロールといった人間と同じ操作を通じて、Webサイト上のタスク(情報収集、予約、フォーム入力など)を自律的にこなせるようにする技術。 専用のAPIが用意されていないWebサイトであっても、画面上の要素(ボタンやリンク、入力欄)を認識して操作することで、対象サイトごとに個別の連携を実装することなく、幅広いWebサービスを横断的に操作できる可能性を持つ。 実装方式としては、ページのHTML構造(DOM)を解析して要素を特定する方式と、Computer Useのようにスクリーンショットを視覚的に認識してクリック位置を決める方式があり、両者を組み合わせるハイブリッドな実装も見られる。 オープンソースプロジェクトの「browser-use」をはじめ、複数のライブラリやサービスがこの分野に取り組んでおり、AIエージェントがAPI連携のないWeb上のタスクを代行する手段として注目されている。
背景
多くのWebサービスは人間のブラウザ操作を前提に作られており、API連携を提供していないサービスも多いため、AIエージェントがそうしたサービス上のタスクを自動化することは長らく難しかった。 Browser Useは、人間と同じブラウザ操作という手段でこの制約を回避し、API連携の有無にかかわらず幅広いWebサイトをエージェントの操作対象にする目的で発展してきた。
歴史
2023年以前: Webスクレイピングやブラウザ自動化(Selenium、Playwright等)の技術が、AIを介さない形で先行して発展。 2023-2024年: LLMと組み合わせ、自然言語の指示からブラウザ操作を自律的に計画・実行するエージェント型のツールが多数登場。 2024年: Computer Useなど、視覚情報に基づく汎用的な画面操作技術とも技術的に接近。
アーキテクチャ
エージェントは、対象ページのHTML/DOM構造の解析、またはスクリーンショットの画像認識のいずれか(もしくは両方)によって、クリック可能なボタンやリンク、入力欄といった操作可能な要素とその位置を特定する。 特定した要素の情報とタスクの目標をLLMへ渡し、次に実行すべき操作(どの要素をクリックするか、どのテキストを入力するかなど)をLLMに判断させる。 判断された操作は、PlaywrightやSeleniumなどのブラウザ自動化ツールを介して実際のブラウザへ実行され、操作後のページの状態を再度取得して次の判断のループに戻る。
ワークフロー
エージェントが、現在のページのDOM構造やスクリーンショットを取得して画面の状態を把握する。 タスクの目標に基づき、次に行うべき操作(クリック、入力、スクロールなど)を決定する。 決定した操作をブラウザ自動化ツール(Playwright等)経由で実行し、変化した画面の状態を再取得して次のステップの判断に使う。
コード例
browser-useライブラリでのエージェント実行
from browser_use import Agent
from langchain_openai import ChatOpenAI
agent = Agent(
task="OpenAIの創業者を検索して教えて",
llm=ChatOpenAI(model="gpt-4o"),
)
result = await agent.run()利点
- 専用APIが存在しないWebサイトでも、人間と同じ操作方法でタスクを自動化できる
- 対象サイトごとの個別連携を実装する必要がなく、幅広いWebサービスに横断的に対応できる可能性がある
- 情報収集やフォーム入力など、人手で行っていた定型的なWeb作業を代行できる
欠点
- Webサイトのレイアウト変更や予期しないポップアップに弱く、操作が失敗しやすい
- DOM解析やスクリーンショット認識を繰り返すため、専用API連携と比べて処理が遅くコストもかかる
- 誤操作によって意図しない購入や送信をしてしまうリスクがあり、重要な操作には確認ステップが必要になる
比較
- Computer Use — Computer Useが画面全体を対象にした汎用的な操作技術であるのに対し、Browser Useは主にWebブラウザ上の操作に特化している
- ツールコーリング — 専用APIが存在するサービスではツールコーリングが使われるのに対し、Browser Useは専用APIがない場合の代替手段として使われる
- Human-in-the-Loop — 誤操作のリスクを抑えるため、Browser Useの重要な操作にはHuman-in-the-Loopの確認ステップを組み合わせることが多い
関連用語
よくある質問
Browser UseとComputer Useの違いは?
Computer Useはデスクトップ全体を含む画面全般を操作対象にするのに対し、Browser Useは主にWebブラウザ上のページ操作に特化している。実装上はDOM解析とスクリーンショット認識のどちらか、または両方を使う。
Browser Useはどんな場面で使われる?
専用のAPIが提供されていないWebサービスでの情報収集、予約、フォーム入力など、人間が手作業でブラウザを操作していたタスクの自動化に使われる。
参考文献
- GitHubbrowser-use/browser-use
- DocumentationBrowser Use Documentation