2026年のブラウザ自動化は、「決定論的タスク(Playwright)」と「非構造化・自律タスク(browser-use / Stagehand)」のハイブリッド運用がデファクトスタンダードです。 商用クラウドLLMの厳しいセーフティフィルターを回避し、NSFW(成人向けコンテンツ販売管理等)の自動化を規約内で安全に実現するには、「ローカルLLM(Ollama/vLLM + Qwen2.5-VL等)を接続したbrowser-use」のセルフホスト構成が唯一の現実解となります。
| ツール名 | 操作アプローチ | ローカルLLM接続 | NSFWサイト操作 | 適したユースケース |
|---|---|---|---|---|
| Playwright | コードベース (DOM/CSS) | 不要 (決定論的) | 完全可能 | 定型ログイン、高速スクレイピング、確定フォーム投稿 |
| browser-use | LLM自律型 (Vision/DOM) | 容易 (Ollama等) | ローカルLLMで可能 | 動的UIの探索、非定型フォーム入力、認知的ブラウジング |
| Stagehand | AIハイブリッド (Playwright拡張) | 設定次第で可能 | ローカルLLMで可能 | 自然言語による要素特定、既存PlaywrightコードのAI化 |
| Computer Use | OSレベル (画面ピクセル/座標) | 高負荷/未確証あり | ローカルLLMで可能 | ブラウザ外アプリ(Excel、デスクトップ専用アプリ)との連携 |
page.act() や page.extract() を用いて、「『ログイン』と書かれたボタンをクリックする」といった指示をコード内に埋め込める。成人向けコンテンツの販売管理画面(商品の登録、売上データの取得、投稿自動化など)を操作する場合、「LLMのセーフティフィルター(安全規約)」が最大の障壁となります。
【規約制限】 API経由であっても、性的コンテンツ(NSFW)のテキストや画像がプロンプト/スクリーンショットに含まれると、Refusal (拒否) が発生し、エージェントが停止します。
【リスク】 繰り返し拒否が発生すると、APIアカウント自体が凍結(BAN)されるリスクがあります。
【規約内運用】 自身のローカル環境(またはプライベートクラウドGPU)でオープンソースLLMを稼働させるため、外部の利用規約やフィルターに抵触せず、完全なプライバシーを保ったまま自動化が可能です。
【推奨モデル】 Qwen2.5-VL-7B-Instruct または Llama-3.2-Vision。これらはローカルで動作し、ブラウザのスクリーンショット(視覚情報)を解析可能です。
以下は、ローカルで起動した Ollama (Qwen2.5-VL等) を使用して、browser-useを動作させるPythonコードです。
from langchain_ollama import ChatOllama
from browser_use import Agent
import asyncio
async def main():
# ローカルで稼働するOllamaのVisionモデルを指定
# (セーフティフィルターのないローカルモデルを使用)
llm = ChatOllama(
model="qwen2.5-vl:latest",
num_predict=1024,
temperature=0.0
)
agent = Agent(
task="成人向けコンテンツ管理画面にログインし、未承認のコメントをすべて承認してください。",
llm=llm,
)
result = await agent.run()
print(result)
asyncio.run(main())
Anthropicの「Computer Use」やOSWorldなどのOSレベルの自動化と、ブラウザ自律操作の使い分け基準は明確です。
| ステップ | 実施内容 | 使用ツール | 目的 |
|---|---|---|---|
| Step 1 | 定型操作(ログイン、データ取得)のコード化 | Playwright | 基盤となるブラウザ操作の安定化とセッション維持 |
| Step 2 | ローカルLLM環境の構築 (GPU搭載PC/サーバー) | Ollama + Qwen2.5-VL | セーフティフィルターのない推論エンジンの確保 |
| Step 3 | browser-useとローカルLLMの統合テスト | browser-use + LangChain | 非定型タスク(動的な投稿、フォーム入力)の自律化検証 |
| Step 4 | ハイブリッド運用の設計 | Playwright + browser-use | 「ログインはPlaywrightで確実に、投稿内容の選別・入力はbrowser-useで柔軟に」の役割分担 |