5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemini Computer UseにAmazonで買い物をしてもらう

Last updated at Posted at 2025-12-19

こんにちは。フューチャーアーキテクト 製造・エネルギーサービス事業部の柴田です😌 見真の心で本質を探求しています!
この記事はフューチャー Advent Calendar 2025の20日目の記事です。

今回の目的

Gemini Computer Useでどんな使い方ができるのかを理解する。
具体的には業務に使うためには特定サービスへのログインやロボット検知の回避などが必要になるため、どの程度使えそうなのか把握する。

Gemini Computer Use とは

Gemini Computer Use は、画面のスクリーンショットを視覚的に解析し、次にどのような操作(クリック、タイピング、スクロールなど)を行うべきかを AI が判断して実行する仕組みです。RPAツールと異なり、AI が「画面上のボタンがどこにあるか」「どのような入力が必要か」をリアルタイムで理解して行動します。

image.png

内部的には、Microsoftが開発したWeb UI自動化・E2EテストフレームワークのPlaywrightというフレームワークをGeminiが操作しているという構造になっています。

従来の RPA ツールとの違い

従来のRPA(Robotic Process Automation)と Gemini Computer Use の主な違いは、変化に対する適応力と柔軟性にあります。

比較項目 従来のRPAツール Gemini Computer Use
操作の仕組み あらかじめ設定した手順(シナリオ)に従う 画面を視覚的に理解し、その場で判断する
UIの変化への対応 ボタンの位置が変わるとエラーになりやすい デザインが変わっても視覚的に判断して継続可能
設定の手間 専門のスキルで詳細なフローを作成する必要がある 自然言語による指示だけで複雑なタスクをこなす
認識能力 座標やコードでの指定が主 画像、手書き文字、文脈を理解できる

インストールとセットアップ手順
Gemini Computer Use を利用するためには、開発環境の構築と APIキーの取得が必要です。以下の手順で進めてください。

  1. Gemini API キーの取得
    Google AI Studio にアクセスし、プロジェクトを作成してComputer Useに対応したAPIキーを生成します

  2. 環境構築
    Python 3.10 以上の環境を用意し、必要なライブラリをインストールします。主にブラウザを操作するためのツールとしてPlaywrightなどが併用されます

  • 公式のGitHubリポジトリからソースコードをクローンします
git clone https://github.com/google/computer-use-preview.git
cd computer-use-preview
  • 依存ライブラリをインストールします
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Qiitaでlikeする

まずはQiitaで動作確認してみます。

python main.py --query "Googleで'Qiita'を検索してフューチャーのアドベントカレンダーを探してください。そして1日の記事に対してlikeしてください。もしログインが必要ならユーザー名はxxxでパスワードはxxxです"

このようにユーザー名とパスワードを含んでいるため、必ずプロンプトを学習に使用されないモデルを利用してください

実行結果

まずはQiitaを検索して
cap000389.JPG

フューチャーのアドベントカレンダーに到達
cap000392.JPG

無事1日の記事にlike
cap000395.JPG

ほとんどオリジナルのソースコードでいけましたが、Bot対策への対策を追加しました。

palaywright.pylaunch_options

launch_options = {
    "args": [
        "--disable-blink-features=AutomationControlled",  # 追加:自動化検知を回避
        "--disable-extensions",
        "--disable-file-system",
        "--disable-plugins",
        "--disable-dev-shm-usage",
        "--disable-background-networking",
        "--disable-default-apps",
        "--disable-sync",
    ],
    "headless": bool(os.environ.get("PLAYWRIGHT_HEADLESS", False)),
}

Amazonで買い物をする

Amazonはログイン対策が厳しいため、一度手動でログインして状態を保持するという戦法にしました。

def __enter__(self):
    print("Creating session...")
    self._playwright = sync_playwright().start()
    user_data_dir = "playwright_user_data"

    self._context = self._playwright.chromium.launch_persistent_context(
        user_data_dir,
        headless=bool(os.environ.get("PLAYWRIGHT_HEADLESS", False)),
        args=[
            "--disable-blink-features-AutomationControlled" "--disable-extensions",
            "--disable-file-system",
            "--disable-plugins",
            "--disable-dev-shm-usage",
            "--disable-background-networking",
            "--disable-default-apps",
            "--disable-sync",
            # No '--no-sandbox' arg means the sandbox is on.
        ],
        viewport={
            "width": self._screen_size[0],
            "height": self._screen_size[1],
        },
    )
    self._browser = self._context.browser  # Keep a reference to the browser

ポイントはuser_data_dirのセットで、これによってブラウザのセッション情報が保持されます。

まずはAmazonにアクセスするところまでを実行します。

python main.py --query "amazon.co.jpにアクセスして"      

Amazonに到着したら、手動でログインします。ログインが完了したら終了してOKです。

次に買い物をお願いしてみます。
流石に購入したくないので、カートに入れるまでを指示します。

python main.py --query "amazon.co.jpでセールになっているマウスとキーボードをカートに入れて"      

CAPTCHAに引っかかった場合はyesで継続できます
image.png

セールになっているマウスとキーボードのセットに辿り着いてくれました

スクリーンショット 2025-12-19 19.05.39.png

ここまでは上手くいくのですが、ここからがほとんど上手くいきませんでした。たまたま一度だけカートに入ってくれたことがありましが、他はカートに商品が入っていないのに、カートに入りましたと判断して処理が終了してしまいました。

カートや注文履歴ボタンを押してしまうことが多かったので、その辺りのボタンを押さないで。と追加で指示をしても上手くいかず。。。当初の目的であったサービスへのログインや使用感は分かったので今回はよしとします。

まとめ

今回は以下のことができました

  • 目的の場所まで自力で辿り着いて特定の操作をする
  • ID, パスワードを指示してログインする
  • セッション情報を保存することでログインした状態から処理を開始できる

Amazonはスクレイピングや自動操作に対して非常に厳しい制限をかけているらしく、今回の目的にはあまり適していなかったかもしれませんが、制限がないサービスであれば、ログインして何か操作をお願いするということはできそうなので、業務改善に利用することはできそうです。

マクロやRPAツールとは異なり、AI が意思を持ってPCを操作することができるため、これまでは人間が手作業で行うしかなかったような、複雑なWeb調査やデータ入力にも活用することができるかもしれないです。

参考資料

Gemini APIドキュメント > Computer Use
https://ai.google.dev/gemini-api/docs/computer-use?hl=ja

Github Gemini Computer Use
https://github.com/google-gemini/computer-use-preview

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?