コンピュータ使用

Agent Platform Computer Use サンドボックスは、エージェントが操作できる安全で隔離されたブラウザ環境を提供します。これらのサンドボックスを使用すると、エージェントは人間の操作を模倣したタスク(クリック、サイトの移動、スクリーンショットの作成など)を自動化できます。

仕組み

Computer Use サンドボックスを作成すると、Gemini Enterprise Agent Platform はウェブブラウザ エージェントを実行するコンテナ化された環境をプロビジョニングします。ブラウザは次の 2 つの方法で制御できます。

  • API リクエスト: サンドボックスにコマンドを送信して、 URL への移動、要素のクリック、テキストの入力などのアクションを実行します。
  • ブラウザ制御: 標準の Chrome DevTools Protocol(CDP)接続を使用してブラウザに接続し、ブラウザ自動化 ツール(Playwright など)を使用してブラウザを自動化できます。

考慮事項

プレビュー期間中、Agent Platform Computer Use Sandbox のレイテンシはトラフィック量が少ない場合に最適化されます。トラフィック量が多い場合は、レイテンシが一時的に増加する可能性があります。

API を使用してブラウザを制御する

API リクエストをサンドボックスに送信して、一般的なブラウザ操作を実行できます。サンドボックスは、隔離された環境内でこれらのアクションの実行を処理します。

Active Edge で行える操作:

  • URL に移動する。
  • 特定の座標をクリックする。
  • フィールドにテキストを入力する。
  • スクリーンショットを作成する。

コマンドの送信方法の例については、 Computer Use のクイックスタートをご覧ください。

CDP 接続を使用してブラウザを制御する

より高度な自動化を行うには、Chrome DevTools Protocol(CDP)接続を介してサンドボックス ブラウザに接続します。この方法では、Playwright などの標準のブラウザ自動化ツールを使用して、ウェブページを操作できます。

Playwright をサンドボックスに接続する手順は次のとおりです。

  1. Python SDK の generate_browser_ws_headers メソッドを使用して、サンドボックスの WebSocket URL と必要なヘッダーを生成します。
service_account_email = "SERVICE_ACCOUNT_EMAIL"
ws_url, ws_headers = client.agent_engines.sandboxes.generate_browser_ws_headers(
    sandbox_environment=sandbox,
    service_account_email=service_account_email,
)
  1. Playwright の connect_over_cdp メソッドを使用して接続を確立します。

生成された WebSocket URL とヘッダーを使用して、Playwright を使用して CDP 経由で接続します。

import asyncio
from playwright.async_api import async_playwright
import nest_asyncio
nest_asyncio.apply()

async def connect_over_cdp(ws_url, ws_headers):
    async with async_playwright() as p:
        try:
            browser = await p.chromium.connect_over_cdp(
                endpoint_url=ws_url,
                headers=ws_headers
            )
            print("Successfully connected to browser over CDP.")

            # You can now interact with the browser
            page = browser.contexts[0].pages[0]
            await page.goto("https://www.example.com")
            print(f"Page title: {await page.title()}")

            await browser.close()
            print("Browser connection closed.")
        except Exception as e:
            print(f"An error occurred: {e}")

# Run CDP connection
asyncio.run(connect_over_cdp(ws_url, ws_headers))

ライブ ストリーミング ビュー

Computer Use サンドボックスはライブ ストリーミング ビュー(VNC)をサポートしているため、エージェントのアクションをリアルタイムで視覚的にモニタリングできます。エージェントの動作をデバッグして確認できます。

次のステップ