結論:本記事では「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選
- 競合価格モニタリング(毎朝定時実行)
- 顧客サイトの在庫切れアラート
- 採用媒体への求人転記自動化
- SaaSダッシュボードからのKPIスクレイピング
- SEO順位チェック(Google検索結果収集)
- EC自動発注(在庫閾値で発注ボタン押下)
- 役所・銀行サイトへのフォーム入力
- SNSの予約投稿(API非対応プラットフォーム)
- QA・E2Eテスト自動化(Playwrightのみより堅牢)
- ニュース要約botのソース収集
失敗パターン4選
- Vision無効で複雑UIに突撃 → ボタン位置がDOMから判別できず無限ループ。判別困難なUIは
use_vision=True必須 - max_actions_per_step制限なし → LLMが暴走して数百アクション実行・コスト爆発。
max_actions_per_step=3〜5を必ず設定 - 本番でheadless=False放置 → サーバー上でブラウザUIをレンダリングしてリソース食いつぶす。本番は必ず
headless=True - CAPTCHA軽視 → reCAPTCHA / hCaptchaは原則突破不可。CAPTCHAが出る画面は人間レビューに切り替えるフロー設計が必要
まとめ|AIブラウザエージェントの主役
Browser-useは「LLMにブラウザを使わせる」というアイデアを、最も簡潔なPython APIで実現したライブラリです。Playwrightベースで実ブラウザ駆動なので商用サイトの大半に対応でき、Controller拡張で業務ロジックまで合成できます。導入コストはpip installとPlaywrightだけ。Stagehand(TypeScript)と並んで、2026年のAIブラウザエージェント自動化の主役です。
AIエージェント導入を相談したい方へ
Browser-useやAIブラウザ自動化を自社業務に入れる場合は、対象業務、権限、ログ、承認フローを最初に設計するのが重要です。
参考・出典
関連記事
📚 公式リファレンス・出典
Browser-use完全ガイド2026のFAQ
導入判断で迷いやすい点を、実務運用の観点から整理します。
導入判断の比較表
| 比較軸 | 小さく試す場合 | 本番運用する場合 | 確認ポイント |
|---|---|---|---|
| 目的 | 個人や小チームの検証 | 部門横断の業務改善 | 成果指標を事前に決める |
| データ | 公開情報・ダミーデータ中心 | 社内データ連携を含む | 機密情報と権限範囲を分離する |
| 運用 | 手動確認を前提にする | ログ、承認、監査を標準化する | 失敗時の停止条件を作る |
| コスト | 無料枠・少量APIで検証 | 月次予算と上限を管理 | モデル選択と再試行回数を見る |
よくある質問
browser-useは何をするライブラリですか?
AIエージェントがブラウザを操作し、フォーム入力、画面確認、情報収集、クリック操作などを自動化するためのライブラリです。
Playwrightだけ使う場合と何が違いますか?
Playwrightは決め打ちの自動操作に強く、browser-useはLLMに状況判断をさせながら操作させる用途に向きます。
本番業務に入れる時の注意点は?
勝手に送信・購入・削除しない承認境界、テスト環境、操作ログ、失敗時の停止条件を必ず作ります。
向いている業務は?
管理画面の定期確認、公開ページの検証、フォームの下書き、複数サイトの情報収集などです。
避けるべき用途は?
金融取引、法的申請、個人情報の大量入力、不可逆操作の自動実行は、人間承認なしで扱うべきではありません。
最終確認日: 2026年5月19日
