GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/高度な活用
高度な活用/2026-03-26中級

Gemini 3 Pro の Computer Use Tool でブラウザを操作する — 実装と安全設計

Google Gemini 3 Proの新機能『Computer Use Tool』の使い方を整理。ブラウザ自動化、API統合、実装パターンから安全性まで、AI エージェント開発の実践的な要点をまとめました。

gemini-3-pro4computer-use2browser-automation2ai-agents2gemini-api279

ブラウザを操作する AI エージェントが変えるもの

2026年3月、Googleが発表した「Gemini 3 Pro Computer Use Tool」は、AI エージェントに新たな可能性をもたらす革新的なテクノロジーです。このツールを使うことで、AI が直接ブラウザを操作し、デスクトップアプリを制御し、複雑な自動化タスクを実行できるようになりました。

Computer Use Tool とは

何ができるのか

Computer Use Toolは、AI が人間のように画面を「見て」、マウスをクリックし、キーボードを操作する能力です。従来のAPIのように「データを入出力する」のではなく、UI そのものを操作する点が特徴。

具体的には以下のようなタスクが可能になります:

  • ブラウザでの自動フォーム入力と送信
  • 複数のWebサイトからのデータ収集
  • オンラインサービスのアカウント管理
  • デスクトップアプリの自動制御(スクリーンショット→判断→操作のループ)
  • 複雑なワークフロー自動化

なぜ重要か

従来のAI APIは「構造化データ」を入出力することが得意でした。しかし現実の業務の多くは、「UIを通じた操作」に依存しています。Computer Use Tool はこのギャップを埋め、AI エージェントが真の意味で実世界のシステムと対話できるようにしたのです。

セットアップと基本設定

必要な環境

  • Python 3.10 以上
  • Google Gemini API アクセス(Cloud Platform での設定)
  • google-generativeai Python SDK

インストール

pip install google-generativeai

APIキーの設定

import os
from google import genai
 
# 環境変数から API キーを取得
api_key = os.getenv("GEMINI_API_KEY")
client = genai.Client(api_key=api_key)

セキュリティ上の注意:APIキーを環境変数として管理し、コードに直接記述しないでください。

ブラウザ自動化の実装例

基本的なパターン:スクリーンショット → AI 判断 → アクション

Computer Use Tool の核心は「スクリーンショット」→「AI による画面解析」→「マウス/キーボード操作」のループです。以下は、実際の検索フォーム自動入力の例です。

from google import genai
 
def automate_search(query: str):
    client = genai.Client(api_key="YOUR_API_KEY")
 
    # Step 1: 現在のスクリーンショットを取得
    screenshot = capture_screen()
 
    # Step 2: AI にスクリーンショットを渡し、次のアクションを判断させる
    message = client.messages.create(
        model="gemini-3-pro",
        max_tokens=1024,
        system_prompt="You are a web automation agent. Analyze the screenshot and help complete the search task.",
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "image",
                        "source": {
                            "type": "base64",
                            "media_type": "image/png",
                            "data": screenshot
                        }
                    },
                    {
                        "type": "text",
                        "text": f"Search for '{query}' on this page. Tell me the coordinates where I should click the search box and what text to type."
                    }
                ]
            }
        ]
    )
 
    # Step 3: AI の指示に基づいてアクション実行
    response = message.content[0].text
    # パースして click_x, click_y, text を抽出
    # (実装例は省略)
 
    return response
 
# 実行例
result = automate_search("Gemini AI automation")
print(result)

期待される出力

Search box found at coordinates (640, 320). Clicking and typing 'Gemini AI automation'...
Search completed successfully.

より実践的なパターン:複数ステップのワークフロー

複雑なワークフロー(例:E コマース注文)では、複数のステップを組み合わせます。

def complete_ecommerce_workflow(product_name: str, qty: int):
    """
    E コマース自動購入フロー:
    1. 商品検索
    2. 商品ページを開く
    3. 数量入力
    4. カートに追加
    5. チェックアウト実行
    """
    client = genai.Client(api_key="YOUR_API_KEY")
    step = 1
    max_steps = 10
 
    while step <= max_steps:
        # 現在の画面状態を確認
        screenshot = capture_screen()
 
        # AI に次のアクションを判断させる
        response = client.messages.create(
            model="gemini-3-pro",
            max_tokens=500,
            messages=[
                {
                    "role": "user",
                    "content": [
                        {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": screenshot}},
                        {"type": "text", "text": f"Step {step}/{max_steps}: I want to buy {qty} of '{product_name}'. What's the next action?"}
                    ]
                }
            ]
        )
 
        # AI の判断に従ってアクション実行
        instruction = response.content[0].text
        execute_action(instruction)  # click, type, wait など
 
        step += 1
 
    return "Workflow completed"

安全性とベストプラクティス

リスク管理

Computer Use は強力な機能ですが、悪用の可能性もあります。以下の対策は必須です。

対策項目説明
API キー管理環境変数で管理し、ログに出力しない
アクション承認重要な操作(送信・削除)は実行前に人間による確認を入れる
スクリーンショット処理個人情報(パスワード、クレジット番号)を含む画像は保存しない
エラーハンドリング予期しない状態に達した場合は自動停止
監査ログ実行したアクションを記録・検証

実装例:承認プロセス付き自動化

def safe_automated_action(action_type: str, details: dict):
    """人間による承認が必要な場合のみ実行"""
 
    # システムが提案したアクションをユーザーに表示
    print(f"AI is proposing to: {action_type}")
    print(f"Details: {details}")
 
    # ユーザー確認
    approval = input("Approve? (yes/no): ")
 
    if approval.lower() == "yes":
        execute_action(action_type, details)
        log_action(action_type, details, approved=True)
    else:
        print("Action cancelled by user")
        log_action(action_type, details, approved=False)

Gemini とのアプローチの比較

GoogleとAnthropicの両社とも AI エージェント技術を提供していますが、異なるアプローチを取っています。

観点Gemini 3 Pro Computer UseClaude Agents (MCP)
アーキテクチャUI ベース(画面操作)Tool 統合型(API呼び出し)
学習曲線直感的(既存UIを活用)構造化(カスタムTool開発)
デスクトップアプリ対応直接サポート別途Tool実装が必要
API レスポンス時間若干長い(画面解析)高速(構造化データ)
運用における予測性UI 変更の影響を受けやすいTool仕様が安定

どちらのアプローチが優れているかではなく、ユースケースに応じて使い分ける点が肝心です。一度、Gemini 3 Pro ガイドでアーキテクチャを、Gemini エージェントフレームワークで統合パターンを学ぶことをお勧めします。

実践的なユースケース

1. データ収集・スクレイピング

複数のニュースサイトから同時に記事を収集し、要約を作成。

def scrape_news_articles(sources: list):
    """複数のニュースサイトから記事を自動収集"""
    client = genai.Client(api_key="YOUR_API_KEY")
    articles = []
 
    for source_url in sources:
        # ブラウザをそのURLに移動
        navigate_to(source_url)
 
        # AI に「重要な記事3件のタイトルと URL をリストアップ」と指示
        screenshot = capture_screen()
        response = client.messages.create(
            model="gemini-3-pro",
            max_tokens=1000,
            messages=[
                {
                    "role": "user",
                    "content": [
                        {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": screenshot}},
                        {"type": "text", "text": "Extract 3 important articles with titles and URLs"}
                    ]
                }
            ]
        )
 
        articles.extend(parse_response(response.content[0].text))
 
    return articles

2. 定期的なレポート生成

毎日、複数のダッシュボードからデータを抽出し、自動レポートを作成。

3. カスタマーサポート自動化

ユーザーの質問に対し、AI が実際にシステムにログインして状況を確認・対応。

Gemini エージェント本番システム への次のステップ

Computer Use Tool の基本を習得したら、実運用環境での考慮事項が重要です。監視、エラーハンドリング、スケーリング、セキュリティの統合的な設計が必要です。詳細は「Gemini エージェント本番システム」ガイドで解説しています。

フォーム自動入力とデータ抽出を実装に落とし込む

ここまでは流れをつかむためのスケッチでした。実際に手元で動かす段になると、Computer Use は専用モデルと専用ツールを通して呼び出します。2026 年春時点で公開されているのは gemini-2.5-computer-use-preview-10-2025 で、gemini-3-flash-preview にも組み込まれています。チャット用のテキストモデルとは別物だと考えておくと、最初の戸惑いが減ります。

呼び出しの形はこうなります。スクリーンショットとゴールを渡すと、モデルは function_call を返してきます。その名前が click_attype_text_at といった UI 操作で、座標は画面サイズに依存しない 0〜999 の正規化値で返ります。受け取った側が Playwright などで実際のピクセルに直して実行します。

from google import genai
from google.genai import types
 
client = genai.Client()  # GEMINI_API_KEY は環境変数から読み込みます
 
config = types.GenerateContentConfig(
    tools=[types.Tool(computer_use=types.ComputerUse(
        environment=types.Environment.ENVIRONMENT_BROWSER,
    ))],
)
 
response = client.models.generate_content(
    model="gemini-2.5-computer-use-preview-10-2025",
    contents=contents,   # ユーザーの指示 + 直近のスクリーンショット
    config=config,
)

フォームを一項目ずつ埋める

問い合わせフォームのような入力は、type_text_at で一フィールドずつ進めます。引数の clear_before_typingpress_enter を意識しておくと、暴発を防げます。

press_enter=False を指定しておくと、文字を入れた瞬間に送信されてしまう事故が起きません。すべての項目を埋め終えてから、最後に送信ボタンを click_at で押す、という二段構えにします。

# モデルが返してくる type_text_at の引数イメージ
# {"name": "type_text_at",
#  "args": {"x": 371, "y": 470, "text": "お問い合わせ本文",
#           "press_enter": False, "clear_before_typing": True}}
 
def denormalize(value: int, length: int) -> int:
    # 座標は 0〜999 の正規化値なので、実画面サイズへ戻します
    return int(value / 1000 * length)
 
def fill_field(page, args, width, height):
    x = denormalize(args["x"], width)
    y = denormalize(args["y"], height)
    page.mouse.click(x, y)
    if args.get("clear_before_typing", True):
        page.keyboard.press("Control+A")
        page.keyboard.press("Backspace")
    page.keyboard.type(args["text"])
    if args.get("press_enter", True):
        page.keyboard.press("Enter")

入力欄が増えるほど、座標のわずかなずれが効いてきます。個人開発でアプリを運営していると、レビューの巡回や在庫の確認といった単純作業はどうしても積み重なります。私自身、フォーム系のタスクでは推奨解像度の 1440×900 に固定し、毎回同じ初期状態から始めるようにしています。前のタスクのポップアップが残っているだけで、モデルは平気で別の場所をクリックします。

抽出結果を構造化して受け取る

データ収集では、ページを巡回させたあとの「最終回答」を構造化して受け取ると、後段の処理が一気に楽になります。ゴールの文面で出力形式を具体的に指定しておくのがコツです。

たとえば「商品名・価格・URL を JSON 配列で。各要素のキーは name, price, url」と頼んでおくと、ループが終わったときのテキスト応答をそのまま json.loads に渡せる確率が上がります。曖昧な指示のままだと、整形済みの表だったり箇条書きだったりが混ざり、毎回パーサを書き直す羽目になります。

送信・購入の直前で必ず止める

Computer Use には、危険そうな操作を検知すると safety_decision を返す仕組みがあります。require_confirmation が付いた function_call は、利用者の許可を取るまで実行してはいけない決まりです。規約上もこの確認を迂回することは認められていません。

実装では、送信・購入・ログイン・Cookie 同意・CAPTCHA をこちら側のルールでも止めるようにしています。モデルの判定に任せきりにせず、フォームを埋め終えた状態でいったん人間に渡す。RPA を業務に乗せられるかどうかは、この「最後の一押しを誰が押すか」を設計できているかにかかっていると感じています。

実行環境はサンドボックス化したブラウザプロファイルかコンテナに隔離し、巡回先はあらかじめ許可リストで絞っておくと、想定外のサイトへ迷い込む事故を減らせます。

まとめ

Gemini 3 Pro の Computer Use Tool は、AI エージェント開発の新しい時代を切り開く機能です。

学んだポイント:

  • Computer Use とは、AI による UI 操作能力
  • スクリーンショット → AI 判断 → アクションのループが基本パターン
  • セキュリティと人間による承認プロセスが不可欠
  • UI 型と Tool 型のアプローチの使い分けが重要
  • 実装は段階的に、まず単純なタスクから始める

ブラウザ自動化、データ収集、レポート生成など、Computer Use の可能性は無限です。今から実装を始めて、AI エージェントの時代に備えましょう。


参考資料:

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

高度な活用2026-04-27
Gemini Computer Use の自己修復アーキテクチャ — 失敗するブラウザ自動化を本番で安定稼働させる設計パターン
Gemini Computer Use のブラウザ自動化を本番で運用すると、要素消失・モーダル割り込み・ネットワーク遅延で頻繁に失敗します。失敗を「自己修復」させる回復戦略を、検出・分類・リトライ・人間介入のレイヤーに分けて、Pythonの動くコードで設計します。
高度な活用2026-07-16
システム指示を何語で書くか — 現地語のプロンプトが多数になったアプリで3方式を測り直す
システム指示を英語で固定するか、ユーザーの言語に訳して渡すか。countTokens で言語別の入力トークンを実測し、出力言語の一致率とスキーマ遵守率を並べて、9トークンで足りる場所と訳すべき場所を切り分けます。
高度な活用2026-07-09
無料ユーザー一人あたりのトークン予算を決める — AdMob 収益と AI 機能のコストを釣り合わせる設計
レート制限は秒あたりを守りますが、月末の請求は守ってくれません。広告収益から一人あたりのトークン予算を逆算し、呼び出しラッパー一か所で台帳を作り、ソフトキャップで段階的に降格させ、上位1%の消費比率で濫用を検知するまでを、動くコードとともにまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →