AIエージェント入門

Browser-use使い方2026|AIブラウザ自動化を30行で実装する

Browser-use完全ガイド2026|AIエージェントのブラウザ自動化

この記事の結論

Browser-useはGitHub 78k+のOSS。pip install→30行のAgent定義で「AIがブラウザを自動操作」が動く。インストール・基本実装・LangChain連携・競合比較を実装例つきで解説。

結論:本記事では「Browser-use完全ガイド2026」の定義・主要機能・実際の活用方法を、初心者でも理解できる形で体系的に解説します。

対象読者:本テーマに興味がある実務担当者・意思決定者。

読了後にできること:本記事の要点を踏まえて、自社や自分の状況に合わせた次のアクションを判断できます。

Browser-useはLLMに「人間と同じようにブラウザを操作させる」ためのOSS Pythonライブラリです。GPT-5・Claude Opus・Gemini など主要LLMをそのまま使え、Playwrightベースの安定性とビジョン併用で複雑なフォーム送信・スクレイピング・E2Eテストまで自律実行できます。GitHub Stars 5万以上を突破し、AIブラウザエージェント領域の事実上のデファクトです。本記事ではインストールから本番運用パターン・失敗回避まで、コード15本付きで実装目線で解説します。

Browser-useとは|LLM×Playwrightの設計思想

Browser-useは「LLMにDOMの構造化情報+スクリーンショットを渡し、自然言語タスクを操作シーケンスに翻訳して実行させる」設計です。Playwrightで実ブラウザ(Chromium / Firefox / WebKit)を駆動するため、JavaScript重めのSPA・ログイン保護されたサイト・カレンダー予約・在庫確認などにも強く、単純なPythonスクリプトでは届かない領域を自然言語で書き下せます。

インストール|pip + Playwright dependencies

# Python 3.11以上 推奨
pip install browser-use
playwright install chromium

# LangChain LLM bindings(任意)
pip install langchain-anthropic langchain-openai

Linuxサーバーで動かす場合はplaywright install-deps chromiumを追加実行し、必要なシステムライブラリ(libnss3 / libxkbcommon / libgbm 等)を揃えてください。Docker運用の場合はmcr.microsoft.com/playwright/pythonベースイメージが最短です。

基本Agent定義|30行で動くサンプル

import asyncio
from browser_use import Agent
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(model="claude-opus-4-7", temperature=0)

agent = Agent(
    task="Hacker News のトップ3記事タイトルとURLをJSONで返す",
    llm=llm,
    use_vision=True,
)

async def main():
    result = await agent.run()
    print(result.final_result())

asyncio.run(main())

Browser-useはタスクを受け取ると(1)スクリーンショット撮影、(2)DOMから操作可能な要素にindex付与、(3)LLMに状況送信、(4)返ってきたactionを実行、(5)次のステップへ、というループを回します。use_vision=Trueでスクリーンショットも一緒に渡すため、純テキストDOMでは判別困難なUI(モーダル・カルーセル・カレンダー)に強くなります。

マルチタブ・複雑フロー

from browser_use import Agent, Browser, BrowserConfig

browser = Browser(
    config=BrowserConfig(
        headless=False,
        disable_security=False,
        new_context_config={"viewport": {"width": 1280, "height": 800}},
    )
)

agent = Agent(
    task=(
        "Amazon と楽天で『ノイズキャンセリングヘッドホン 4万円以下』を検索し、"
        "それぞれ上位5件の商品名と価格を抽出して比較表を返す"
    ),
    llm=llm,
    browser=browser,
    use_vision=True,
)
result = asyncio.run(agent.run())

Browserインスタンスを使い回せば、複数Agentで同じセッションを共有できます。タブ切替・別ドメイン横断もLLMが自動で判断します。

カスタムAction定義|Controller拡張

from browser_use import Agent, Controller
from pydantic import BaseModel

controller = Controller()

class Product(BaseModel):
    name: str
    price: int
    url: str

@controller.action("商品データをDBに保存", param_model=Product)
async def save_product(params: Product):
    # 実際はSupabase / Postgres へ insert
    print("save:", params.model_dump())
    return f"saved {params.name}"

agent = Agent(
    task="価格.com で iPhone 17 Pro の最安5件を抽出してDB保存",
    llm=llm,
    controller=controller,
)

Pydanticモデルで型を縛ることで、LLM出力のJSONハルシネーションをほぼ防げます。Browser-useの強みは「ブラウザ操作」と「業務ロジック」をこのControllerで合成できる点で、Slack通知・Stripe請求・Salesforce登録などサイト外の処理も同じパイプラインに乗ります。

DOM抽出と LLM への渡し方

agent = Agent(
    task="このページの全プラン名・月額・年額をJSONで返す",
    llm=llm,
    use_vision=False,  # DOMのみで十分なケース
    max_actions_per_step=3,
)

Browser-useはクリック可能な要素・入力可能な要素・テキストを階層化して整形し、index付きでLLMに送ります。トークン肥大を抑えるため、DOMのみで読める情報ならuse_vision=Falseに切り替えるとレイテンシ・コストとも30〜50%下がります。

ビジョンモード|スクリーンショット併用

agent = Agent(
    task="Google Mapsの『新宿のラーメン店 評価4.5以上』を地図ピンから5件抽出",
    llm=ChatAnthropic(model="claude-opus-4-7"),
    use_vision=True,
)

地図・カレンダー・ヒートマップなどビジュアル要素が中核のサイトではuse_vision=Trueが必須。Claude Opus 4.7・GPT-5系・Gemini 3 Pro はいずれも視覚理解に強く、CAPTCHA以外の大半のUIを読み解けます。

セッション保存・再利用パターン

from browser_use import Browser, BrowserConfig

browser = Browser(
    config=BrowserConfig(
        headless=True,
        cookies_file="./.cache/session.json",
        disable_security=True,
    )
)

# 1回目: ログイン
agent_login = Agent(task="GitHubに ID/PW でログイン", llm=llm, browser=browser)
asyncio.run(agent_login.run())

# 2回目以降: ログイン状態を再利用
agent_task = Agent(task="自分のリポジトリのIssue一覧を取得", llm=llm, browser=browser)
asyncio.run(agent_task.run())

Cookieやセッションストレージをファイル保存しておけば、ログインを毎回やり直す必要がありません。OAuth2 / SSO 連携が必要なエンタープライズ用途では、Playwrightのstorage_stateと組み合わせて「初回管理者ログイン → 以降は無人化」のパターンが定石です。

LangChain / CrewAI 連携

from crewai import Agent as CrewAgent, Crew, Task
from browser_use import Agent as BrowserAgent

# CrewAIのToolとしてBrowser-useをラップ
async def web_research(topic: str) -> str:
    a = BrowserAgent(task=f"{topic} の最新情報を3社から収集", llm=llm)
    r = await a.run()
    return r.final_result()

researcher = CrewAgent(role="Web Researcher", tools=[web_research], llm=llm)
crew = Crew(agents=[researcher], tasks=[Task(description="競合価格調査", agent=researcher)])
crew.kickoff()

マルチエージェント構成では、Browser-useは「Webリサーチ担当」として組み込むのが王道です。CrewAI / LangGraph / AutoGen いずれも、Browser-useをToolとして登録できます。

競合・代替|Stagehand / AgentQL / Playwright AI

  • Stagehand(TypeScript): Browserbase社製。Zod型で抽出結果を縛れる。Stagehand完全ガイド
  • AgentQL(Python): 独自クエリ言語ベース。深いネスト構造の抽出が得意
  • Playwright AI(商用): Microsoft連携、エンタープライズSLA
  • OpenAI Operator / Anthropic Computer Use 2.0: クラウド完結型、自前ブラウザ不要

選定基準は「スクリプト密に書けるか・型安全か・コストが読めるか」の3軸。OSSで自社環境完結したいならBrowser-use、TypeScript統一したいならStagehand、エンタープライズSLA重視ならOperator/Computer Use 2.0、というのが2026年5月時点の整理です。AIブラウザ製品比較記事もあわせて参照してください。

実運用パターン10選

  1. 競合価格モニタリング(毎朝定時実行)
  2. 顧客サイトの在庫切れアラート
  3. 採用媒体への求人転記自動化
  4. SaaSダッシュボードからのKPIスクレイピング
  5. SEO順位チェック(Google検索結果収集)
  6. EC自動発注(在庫閾値で発注ボタン押下)
  7. 役所・銀行サイトへのフォーム入力
  8. SNSの予約投稿(API非対応プラットフォーム)
  9. QA・E2Eテスト自動化(Playwrightのみより堅牢)
  10. ニュース要約botのソース収集

失敗パターン4選

  1. Vision無効で複雑UIに突撃 → ボタン位置がDOMから判別できず無限ループ。判別困難なUIはuse_vision=True必須
  2. max_actions_per_step制限なし → LLMが暴走して数百アクション実行・コスト爆発。max_actions_per_step=3〜5を必ず設定
  3. 本番でheadless=False放置 → サーバー上でブラウザUIをレンダリングしてリソース食いつぶす。本番は必ずheadless=True
  4. CAPTCHA軽視 → reCAPTCHA / hCaptchaは原則突破不可。CAPTCHAが出る画面は人間レビューに切り替えるフロー設計が必要

まとめ|AIブラウザエージェントの主役

Browser-useは「LLMにブラウザを使わせる」というアイデアを、最も簡潔なPython APIで実現したライブラリです。Playwrightベースで実ブラウザ駆動なので商用サイトの大半に対応でき、Controller拡張で業務ロジックまで合成できます。導入コストはpip installとPlaywrightだけ。Stagehand(TypeScript)と並んで、2026年のAIブラウザエージェント自動化の主役です。

AIエージェント導入を相談したい方へ

Browser-useやAIブラウザ自動化を自社業務に入れる場合は、対象業務、権限、ログ、承認フローを最初に設計するのが重要です。

生成AI導入・AIエージェント開発について相談する

参考・出典

関連記事

📚 公式リファレンス・出典

Browser-use完全ガイド2026のFAQ

導入判断で迷いやすい点を、実務運用の観点から整理します。

導入判断の比較表

比較軸小さく試す場合本番運用する場合確認ポイント
目的個人や小チームの検証部門横断の業務改善成果指標を事前に決める
データ公開情報・ダミーデータ中心社内データ連携を含む機密情報と権限範囲を分離する
運用手動確認を前提にするログ、承認、監査を標準化する失敗時の停止条件を作る
コスト無料枠・少量APIで検証月次予算と上限を管理モデル選択と再試行回数を見る

よくある質問

browser-useは何をするライブラリですか?

AIエージェントがブラウザを操作し、フォーム入力、画面確認、情報収集、クリック操作などを自動化するためのライブラリです。

Playwrightだけ使う場合と何が違いますか?

Playwrightは決め打ちの自動操作に強く、browser-useはLLMに状況判断をさせながら操作させる用途に向きます。

本番業務に入れる時の注意点は?

勝手に送信・購入・削除しない承認境界、テスト環境、操作ログ、失敗時の停止条件を必ず作ります。

向いている業務は?

管理画面の定期確認、公開ページの検証、フォームの下書き、複数サイトの情報収集などです。

避けるべき用途は?

金融取引、法的申請、個人情報の大量入力、不可逆操作の自動実行は、人間承認なしで扱うべきではありません。

最終確認日: 2026年5月19日

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年6月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事