DEV Community

Cover image for Python, Ollama, DeepSeek を使ったAIブラウザ自動化の作り方
Akira
Akira

Posted on • Originally published at apidog.com

Python, Ollama, DeepSeek を使ったAIブラウザ自動化の作り方

現代のブラウザ自動化は、Seleniumのような固定的なスクリプトだけに依存する方法から、自然言語で指示できるAIエージェント型の実装へ移行しつつあります。Browser Use、Ollama、DeepSeekを組み合わせると、ローカルLLMで推論しながら、ブラウザ操作、フォーム入力、データ抽出、複数ステップのWebタスクをPythonから自動化できます。

今すぐApidogを試す

この記事では、Browser Use、Ollama、DeepSeekを使って、ローカル環境で動くPythonベースのAIブラウザ自動化エージェントを構築します。API開発者、バックエンドエンジニア、QAエンジニアが、Web操作やAPI連携を含むテスト・検証ワークフローを実装するための手順に絞って解説します。

AIブラウザ自動化にBrowser Use、Ollama、DeepSeekを使う理由

この構成では、各コンポーネントが次の役割を持ちます。

  • Browser Use: Pythonからブラウザ操作を制御するためのパッケージ。ナビゲーション、クリック、入力、抽出などを扱います。
  • Ollama: ローカルでLLMを実行するためのサーバー。推論を自分のマシン上で実行できます。
  • DeepSeek: 高レベルの自然言語指示を、実行可能なブラウザ操作ステップに変換する推論モデルとして使用します。

この組み合わせにより、次のようなタスクを実装できます。

  • Webページの巡回とデータ抽出
  • フォーム入力や検索操作の自動化
  • 複数ステップのWebワークフロー実行
  • 自然言語プロンプトによるタスク定義

前提条件: 開発環境を準備する

作業前に、以下をインストールしておきます。

  • Python 3.11+
python --version
Enter fullscreen mode Exit fullscreen mode
  • Ollama

    ollama.com からダウンロードします。

  • Node.js

    Playwright経由のブラウザ自動化に必要です。

node --version
Enter fullscreen mode Exit fullscreen mode
  • Git

    Browser Useのリポジトリをクローンするために使用します。

  • ハードウェア

    • CPU: 4コア以上
    • RAM: 16GB以上
    • 空きストレージ: 12GB以上
    • GPU: 必須ではありませんが、大きなモデルを使う場合は推奨です

不足しているツールがある場合は、先にインストールしてから進めてください。

ステップ1: プロジェクトを作成する

作業用ディレクトリを作成します。

mkdir browser-use-agent
cd browser-use-agent
Enter fullscreen mode Exit fullscreen mode

ステップ2: Browser Useをクローンする

Browser Useのリポジトリを取得します。

git clone https://github.com/browser-use/browser-use.git
cd browser-use
Enter fullscreen mode Exit fullscreen mode

ステップ3: Python仮想環境を作成する

依存関係を分離するため、仮想環境を作成します。

python -m venv venv
Enter fullscreen mode Exit fullscreen mode

Mac/Linuxの場合:

source venv/bin/activate
Enter fullscreen mode Exit fullscreen mode

Windowsの場合:

venv\Scripts\activate
Enter fullscreen mode Exit fullscreen mode

有効化できると、ターミナルに (venv) が表示されます。

ステップ4: VS Codeでプロジェクトを開く

VS Codeを使う場合は、次のコマンドで開きます。

code .
Enter fullscreen mode Exit fullscreen mode

VS Codeを使わない場合は、任意のエディタで同じディレクトリを開いてください。

OllamaとDeepSeekをローカルにセットアップする

1. Ollamaをインストールする

ollama.com からOllamaをインストールします。

インストール後、バージョン確認を行います。

ollama --version
Enter fullscreen mode Exit fullscreen mode

download ollama

2. DeepSeekモデルをダウンロードする

DeepSeekの seed モデルをOllama経由で取得します。

ollama pull deepseek/seed
Enter fullscreen mode Exit fullscreen mode

モデルサイズは約12GBです。ストレージやGPUリソースに制約がある場合は、代替として qwen2.5:14b など、より軽量なモデルを検討できます。

インストール済みモデルを確認します。

ollama list
Enter fullscreen mode Exit fullscreen mode

一覧に deepseek/seed または選択したモデルが表示されていれば準備完了です。

pull deepseek model

Browser Useと依存関係をインストールする

1. Browser Useをインストールする

仮想環境が有効な状態で、Browser Useと開発用依存関係をインストールします。

pip install . ."[dev]"
Enter fullscreen mode Exit fullscreen mode

2. LangChainとOllama連携パッケージを追加する

Browser UseのエージェントからOllamaのローカルLLMを呼び出すために、次のパッケージを追加します。

pip install langchain langchain-ollama
Enter fullscreen mode Exit fullscreen mode

3. Playwrightのブラウザをインストールする

Browser Useはブラウザ操作にPlaywrightを使用します。

playwright install
Enter fullscreen mode Exit fullscreen mode

Linux環境などで依存関係エラーが出る場合は、次も実行します。

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

Ollamaサーバーを起動する

別ターミナルでOllamaサーバーを起動します。

ollama serve
Enter fullscreen mode Exit fullscreen mode

Ollamaはデフォルトで次のURLにサーバーを立てます。

http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

以降、Pythonスクリプトを実行する間は、このプロセスを起動したままにしてください。

実装例: Googleでボストンの天気を調べるAIエージェント

ここでは、Browser Useエージェントに「Googleでボストンの天気を調べる」というタスクを実行させます。

プロジェクトフォルダに test.py を作成します。

import asyncio
from browser_use import Agent
from langchain_ollama import ChatOllama


async def run_search() -> str:
    agent = Agent(
        task="Use Google to find the weather in Boston, Massachusetts",
        llm=ChatOllama(
            model="deepseek/seed",
            num_ctx=32000,
        ),
        max_actions_per_step=3,
        tool_call_in_content=False,
    )

    result = await agent.run(max_steps=15)
    return result


async def main():
    result = await run_search()
    print("\n\n", result)


if __name__ == "__main__":
    asyncio.run(main())
Enter fullscreen mode Exit fullscreen mode

VS CodeでPythonインタープリターを確認する

VS Codeを使う場合は、仮想環境のPythonを選択します。

  1. Ctrl+P、Macでは Cmd+P を押す
  2. > Select Python Interpreter と入力する
  3. プロジェクト内の venv インタープリターを選択する

スクリプトを実行する

python test.py
Enter fullscreen mode Exit fullscreen mode

実行すると、エージェントがブラウザを起動し、Googleでボストンの天気を検索して、結果をターミナルに出力します。

browser-use search

エラーが発生した場合は、まず次を確認してください。

  • ollama serve が起動している
  • http://localhost:11434 にアクセス可能
  • ollama list に指定モデルが表示される
  • Python仮想環境が有効化されている
  • Playwrightのインストールが完了している

Ollama側のログは、通常次のディレクトリから確認できます。

~/.ollama/logs
Enter fullscreen mode Exit fullscreen mode

browser-use search result

タスクを変更して別の自動化を実装する

Browser Useでは、主に task の文字列を変えることで別のワークフローを試せます。

例:

task="Go to GitHub and search for browser-use repositories"
Enter fullscreen mode Exit fullscreen mode
task="Open a news website, find the top technology headline, and summarize it"
Enter fullscreen mode Exit fullscreen mode
task="Go to a product page, extract the product name and price"
Enter fullscreen mode Exit fullscreen mode

ただし、ログイン、購入、送信、応募などの操作を含む場合は、意図しない実行を避けるために、テスト用アカウントやステージング環境で検証してください。

Apidogの統合: ブラウザAIエージェント向けのAPIテスト

ブラウザAIエージェントがWeb APIと連携する場合、APIの挙動が安定していることを事前に検証する必要があります。

たとえば、次のようなケースです。

  • フロントエンド操作の裏側でAPIが呼び出される
  • エージェントがAPI駆動型のワークフローを自動化する
  • スクレイピング対象の画面がバックエンドAPIに依存している
  • E2Eテストの前提としてAPIレスポンスの一貫性を確認したい

Apidogを使うと、次のようなAPIテスト作業をワークフローに組み込めます。

  • APIエンドポイントが期待どおりに動作するか確認する
  • バックエンドAPIのテストケースを作成・管理する
  • ステージング環境と本番環境でAPIコントラクトを検証する
  • ブラウザ自動化の前提となるAPIレスポンスを確認する

ブラウザ操作の自動化だけでなく、その裏側にあるAPIのテストも合わせて行うことで、AIエージェントが依存する処理をより安定させられます。

API Contract Testing with Apidog

ApidogによるAPIコントラクトテスト

効果的なプロンプト設計のポイント

Browser Useのようなエージェント型自動化では、プロンプトの書き方が実行精度に大きく影響します。

具体的に書く

曖昧な指示ではなく、対象サイト、操作内容、条件、出力形式を含めます。

悪い例:

Find flights.
Enter fullscreen mode Exit fullscreen mode

良い例:

Go to kayak.com, search flights from Zurich to Beijing, 25.12.2025–02.02.2026, sort by price.
Enter fullscreen mode Exit fullscreen mode

複数ステップを明示する

複雑なタスクは、実行順序が分かるように書きます。

LinkedInにアクセスし、MLの求人を検索し、求人リンクをファイルに保存し、上位3件に応募する。
Enter fullscreen mode Exit fullscreen mode

出力形式を指定する

抽出結果を扱いやすくするには、フォーマットも指定します。

Extract the product name, price, and availability. Return the result as JSON.
Enter fullscreen mode Exit fullscreen mode

失敗したらプロンプトを小さくする

一度に多くの操作を任せて失敗する場合は、タスクを分割します。

Step 1: Open the website and search for the product.
Enter fullscreen mode Exit fullscreen mode
Step 2: Open the first result and extract the price.
Enter fullscreen mode Exit fullscreen mode

デバッグとトラブルシューティング

Ollamaが接続できない

確認項目:

ollama serve
Enter fullscreen mode Exit fullscreen mode
ollama list
Enter fullscreen mode Exit fullscreen mode
curl http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

指定したモデル名がコード内と一致しているかも確認してください。

model="deepseek/seed"
Enter fullscreen mode Exit fullscreen mode

Playwrightのブラウザが起動しない

Playwrightのインストールを再実行します。

playwright install
Enter fullscreen mode Exit fullscreen mode

Linuxの場合:

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

実行が遅い

DeepSeekモデルが重い場合は、以下を検討します。

  • より軽量なモデルを使う
  • GPU環境で実行する
  • max_steps を小さくする
  • タスクを短く分割する

例:

result = await agent.run(max_steps=8)
Enter fullscreen mode Exit fullscreen mode

エージェントが不要な操作をする

task をより具体化します。

悪い例:

Check the website.
Enter fullscreen mode Exit fullscreen mode

良い例:

Open the homepage, click the pricing link, extract the plan names and prices, and return them as a Markdown table.
Enter fullscreen mode Exit fullscreen mode

よくある質問

Q1. Browser Useとは何ですか?

Playwrightを使ってAI駆動のブラウザ自動化を行うためのPythonパッケージです。

GitHub

Q2. GPUは必要ですか?

必須ではありません。ただし、DeepSeekのような大きなモデルを快適に実行する場合は、GPUがある方が高速です。

Q3. DeepSeek以外のモデルも使えますか?

はい。Ollamaで利用でき、推論タスクに適したモデルであれば使用できます。

GitHub

Q4. データはローカルで処理されますか?

Ollamaをローカルで実行する場合、特別な設定をしない限り、推論は自分のマシン上で行われます。

Q5. ログインや複数ステップのタスクも自動化できますか?

可能です。高レベルのタスクを定義すると、エージェントがステップに分解して実行します。ただし、認証情報や重要操作を含む場合は、テスト環境で慎重に検証してください。

まとめ

Browser Use、Ollama、DeepSeekを組み合わせることで、自然言語の指示から実ブラウザを操作するPythonベースのAIエージェントを構築できます。

実装の流れは次のとおりです。

  1. Python仮想環境を作成する
  2. Browser Useをインストールする
  3. Ollamaを起動する
  4. DeepSeekモデルを取得する
  5. Agent にタスクとLLMを設定する
  6. Playwright経由でブラウザ操作を実行する

この構成は、QA、自動テスト、バックエンド連携、API駆動型ワークフローの検証に適しています。さらにApidogを組み合わせることで、ブラウザエージェントが依存するAPIのコントラクトやレスポンスを事前に検証し、自動化ワークフロー全体の信頼性を高められます。

Top comments (0)