Gemini API の Computer Use は、モデルが回答するだけでなく、画面を見て、どこをクリックするか、何を入力するかを判断し、その操作をクライアント側のコードに渡す機能です。
ブラウザ自動化 Agent、Web フローのテスト、繰り返しフォーム入力、ページ情報の整理などに向いています。ただし、モデルが直接ブラウザを操作するわけではありません。モデルは操作を提案し、実行、スクリーンショット返送、停止制御はクライアント側が担当します。
公式ドキュメント:
|
|
仕組み
- タスク、ツール設定、現在の画面状態を Gemini に送る。
- Gemini がクリック、入力、スクロール、ページを開くなどの操作を返す。
- Playwright などでその操作を実行する。
- 新しいスクリーンショットを撮って Gemini に返す。
- 完了、安全確認、または停止条件まで繰り返す。
推奨モデルは gemini-3.5-flash です。Interactions API の tools に次を指定します。
|
|
Python の最小例
|
|
|
|
enable_prompt_injection_detection は有効にしておくのがおすすめです。Web ページ内に敵対的な指示文が含まれる可能性があるためです。
Playwright で実行する
|
|
座標は正規化されていることが多いため、実際の画面座標に変換します。
|
|
モデルが返した function_call を実行し、実行後にスクリーンショットを返します。難しいのは最初の API 呼び出しではなく、このループを安定させることです。
小さく始める
最初は実アカウントや本番画面を避け、検索、ローカルテストページ、フォーム検証など低リスクなタスクにします。各ステップの intent を確認し、モデルの判断が妥当かを見ます。
安全境界
- サンドボックス化したブラウザ、コンテナ、VM を使う。
- 履歴、自動入力、保存済みパスワードへのアクセスを禁止する。
- ログイン、支払い、投稿、メッセージ送信、規約同意ではユーザー確認を必須にする。
- CAPTCHA や人間確認を回避させない。
- 許可リストまたは禁止リストを用意する。
- プロンプト、スクリーンショット、操作、安全判断、実行ログを残す。
Function Calling との違い
Function Calling はモデルが API を選び、構造化パラメータを埋める仕組みです。Computer Use は実際の UI を見て操作します。安定した API があるなら Function Calling を優先し、画面操作が必要な場合に Computer Use を使います。
よくある落とし穴
- モデルが自分でブラウザを操作すると思い込む。
- 座標変換を忘れる。
- ポップアップや Cookie バナーがある状態から始める。
- 最大ステップ数や停止条件を入れない。
- 金融、医療、アカウント安全など重要な判断に使う。
実用的な構成
|
|
API 呼び出し、UI 実行、安全ポリシーを分けておくと、後でブラウザ以外の環境にも広げやすくなります。
まとめ
Gemini Computer Use は、固定スクリプトだったブラウザ自動化を、画面状態に応じて次の操作を決める形へ近づけます。使うなら、実行環境を固定し、操作ループを安定させ、安全ルールを先に置くことが重要です。