面倒な操作は生成 AI に任せよう !

Amazon Bedrock でゲーム自動プレイさせてみた

2025-02-03
デベロッパーのためのクラウド活用方法

Author : Sheng Hsia Leng, 中村 一樹

面倒な操作は生成 AI に任せよう !

Amazon Bedrock でゲーム自動プレイさせてみた

2025-02-03
デベロッパーのためのクラウド活用方法

Author : Sheng Hsia Leng, 中村 一樹

ゲームなみなさんこんにちは ! Game Solutions Architect の Leng と Kazuki です。
この記事では Amazon Bedrock を使ってゲームを自動プレイさせることでゲーム開発の効率化の可能性を探ってみます。

近年のゲーム開発は肥大化しており、開発期間が 5 年を超えるものや、100 名を超えるメンバーで開発しているタイトルも珍しくありません。そのため、「開発効率や QA 効率を上げる」ことが重要視されています。可能な限り開発者が行わなくてよい作業や繰り返し行う作業などを自動化していきたいものです。その方法の一つとして AI 活用が注目されています。

今回は開発効率、QA 効率を上げるために Amazon Bedrock で利用可能な Anthropic 社が提供している Claude 3.5 Sonnet v2 の新機能の Computer Use を使用してゲームの自動プレイが可能かどうかを実際に試していきます。

ゲーム開発者向けのその他の記事はこちら

選択
  • 選択
  • Amazon DynamoDB で作るサーバーレスなゲーム用アチーブメントマイクロサービス
  • AWS の知識ゼロから始める AWS GameKit
  • Amazon GameLift を使って「最短」でマルチプレイヤーゲームを作る
  • Amazon DynamoDB で作るサーバーレスなゲーム用フレンドマイクロサービス
  • Amazon GameSparks でインフラを意識せずにゲームのバックエンドサービスを開発しよう
  • 魔法で作る Amazon DynamoDB の 簡単ゲームインベントリ
  • レベル 1 から作るゲームのクエスト手帳
  • サーバーレスなゲームのギルド検索
  • 一緒に学び考える ! ゲームの AI/ML 活用
  • 3 ステップで始める AI モデル開発 ! 始める前に知っておくべきコト !
  • 実践 ! 機械学習でゲームの休眠ユーザーを予測してみよう
  • Amazon GameLift Anywhere でサクッとマルチプレイゲームを開発しよう
  • ゲーム分析を Amazon Aurora と Amazon Redshift の Zero-ETL 統合ではじめよう
  • Amazon Redshift を活用したゲームの行動ログ分析
  • Amazon QuickSight によるゲーム分析ダッシュボードの構築
  • 品質管理に生成 AI は使えるのか !? テキストチェックを生成 AI にやらせてみた
  • 生成 AI を用いたヘルプソリューションを作成する
  • MagicOnion を使って AWS で専用ゲームサーバーを作ろう
  • 世界に 1 つだけの AI アシスタント作成 ~オリジナルにカスタマイズ
  • マルチモーダルな生成 AI 活用の入門編! - 画像認識と画像生成
  • Amazon S3 と Amazon CloudFront を活用したグローバル向けゲームビルドバイナリ共有環境の構築
  • Terraform を利用した Amazon EKS の構築
  • Amazon Bedrock でゲームの BGM を作ってみました !
  • Amazon EC2 ではじめる Unreal Engine Pixel Streaming 入門
  • Agones on Amazon EKS で構築するマルチプレイゲームの専用ゲームサーバー
  • AWS Summit Japan 2024 Game Industry Booth の舞台裏
  • ゲームクライアントエンジニアでも試せる !? カスタムゲームバックエンドのご紹介
  • 面倒な操作は生成 AI に任せよう ! Amazon Bedrock でゲーム自動プレイさせてみた

このクラウドレシピ (ハンズオン記事) を無料でお試しいただけます »

毎月提供されるクラウドレシピのアップデート情報とともに、クレジットコードを受け取ることができます。 


AWS for Games

AWS for Games ではより早い開発、よりスマートな運営、そしてより楽しいゲームへの成長という BuildRunGrow の 3 つの柱に沿ってサポートします。本記事は BuildGrow の柱、 クラウドゲーム開発の分野で生成 AI を利用したものになります。


なぜゲームの自動プレイが必要なのか

ゲーム開発は機能の開発、チェックの繰り返しで行われます。新しい機能やゲームバランス調整などゲームに手を加えたものが正しく動作しているか、面白くなっているか、など様々なチェックを行っています。全てのチェックをゲーム開発者やテスター
が行えばよいのですが、それでは人的なコストが多くかかってしまいます。同じ作業を行ってなんらかの数値を取得したい、ただゲームがクラッシュしないか確認がしたい、といった簡易チェックなどは人ではなく自動で行わせることでコストを削減することができます。

例えば、出来上がった ROM が問題ないかを確認するための簡易チェック、処理負荷を確認するために様々なステージやシステムに移動し CPU 使用率や FPS (frame per seconds) メモリ容量など処理上げに必要な数値の取得、ゲームを長時間動作させても問題がないか確認するためのエージングテスト、など開発中盤以降で様々な要件で自動プレイをさせたい場面は増えてきます。

多くの場合、自動プレイはエンジニアが専用のコードを組み込んだり、FSM (Finante State Machine) ツールなどを作成し、それを利用してもらうことで実現されることが多いです。「このボタンを押して、次にこのボタンを押して」といった簡単なシーケンス移動でも個別でリソース作成やプログラムの組み込みが必要となります。

この自動プレイ部分を生成 AI が行うことができれば、エンジニアが専用プログラムを作成する必要もなく、テスト専用の FSM リソースなどを作る必要もなくなります。そのことにより属人性の削減やテスト効率が上がるだけでなく、テストやデバッグ用の組み込みプログラムの量が減ることによるエンバグの防止やユーザーと同じ操作での動作確認が可能なので、よりユーザーのプレイを模倣した確認を行うことができます。


ゲームを自動プレイさせてみる

もし生成 AI による自動プレイが簡単に実装できれば上記のようなユースケースの実装が楽になり開発効率や QA 効率が上がりそうです。今回は Amazon Bedrock で利用できる LLM モデルの一つである Antropic 社が提供している Claude 3.5 Sonnet v2 の新機能である Computer Use を使用して実際に AWS メンバーが作成したゲームを自動プレイできるかを確認してみます。

今回自動プレイを試すゲームは、『AWS アイコン探しゲーム Find The Icon』です。これは、AWS サービスアイコンの中から指示されたサービスのアイコンを最も早く見つけ出す、最大 4 人まで同時参加可能なマルチプレイヤー対戦ゲームです。バックエンドには Amazon EKS や Agones を使用しています。このデモゲーム開発の詳細については、以前公開された 関連記事 もぜひご参照ください。

画像をクリックすると拡大します


Anthropic Claude 3.5 Sonnet v2 Computer Use とは

Anthropic 社が提供している Claude 3.5 v2 で新しく追加された機能です。Claude が入力されたプロンプトをもとに指定されたコンピューターを操作するという機能です。ユーザーは、Claude に画面を確認させたり、カーソルを移動させたり、ボタンを押させたり、テキストを入力させたり、など Claude に指示することで自身のコンピューターを操作させることができます。このことにより Claude にコンピューター上の様々なアプリケーションなどを使ってあるタスクを行わせる、など LLM 単体だけではできない作業を指示して行わせることができます。


Anthropic Claude 3.5 Sonnet v2 Computer Use 利用における注意点

記事を執筆した 2025 年 1 月では Computer Use はまだパブリックベータ版の機能となります。そのため今後機能の内容が変わる可能性もあります。また Anthropic からも Computer Use を使用する際には以下の注意事項の記載があります。

Caution
Computer use is a beta feature. Please be aware that computer use poses unique risks that are distinct from standard API features or chat interfaces. These risks are heightened when using computer use to interact with the internet. To minimize risks, consider taking precautions such as:
1.Use a dedicated virtual machine or container with minimal privileges to prevent direct system attacks or accidents.
2.Avoid giving the model access to sensitive data, such as account login information, to prevent information theft.
3.Limit internet access to an allowlist of domains to reduce exposure to malicious content.
4.Ask a human to confirm decisions that may result in meaningful real-world consequences as well as any tasks requiring affirmative consent, such as accepting cookies, executing financial transactions, or agreeing to terms of service.
In some circumstances, Claude will follow commands found in content even if it conflicts with the user's instructions. For example, instructions on webpages or contained in images may override user instructions or cause Claude to make mistakes. We suggest taking precautions to isolate Claude from sensitive data and actions to avoid risks related to prompt injection.
Finally, please inform end users of relevant risks and obtain their consent prior to enabling computer use in your own products.

要約すると

  • 標準的な API やチャットインターフェースとは異なるリスクが存在している。インターネットを操作する際にはリスクが高まる。
  • Claude が誤った操作をする可能性がある。そのため情報漏洩などのリスクがある。機密情報を扱うようなタスクには注意が必要。
  • リスクを最小限に抑えるためにアクセス制限などセキュリティの設定と、サンドボックス環境 (仮想マシンやコンテナ) での利用をお勧めする。


この機能はユーザーがプロンプトを記載して自身のパソコンを Claude に操作させて様々なタスクを実行させるため、誤ったプロンプトを記載することにより意図していない行動をとる可能性があります。その結果、ネットワーク上のどこかにパソコン内の機密情報などを送信してしまったり、自身のコンピューターの環境を壊してしまうなどの事故が発生する可能性があります。また、現在はプライベートベータのため不具合やエラーなどが発生することもあるかもしれません。そのため Anthorpic 社からはサンドボックス環境での利用やネットワークに繋いでの利用の注意などが促されています。
※今回の利用に関しても細心の注意を払って実装と検証をしておりますが、実際にお試しいただく際には上記注意点を踏まえた上で検証などを行ってください。


Amazon Bedrock の利用開始方法

上記注意点などを守りながら実際に Compute Use を使ってゲームを自動操作させてみましょう。

Amazon Bedrock のモデルアクセス設定

本章の作業は、オレゴンリージョンで行います。Bedrock 上の Anthropic Claude 3.5 Sonnet v2 が利用可能なリージョンは今後追加される可能性もありますので、詳しくは こちらのドキュメント をご覧ください。

Amazon Bedrock を利用を開始するには、利用するモデルのアクセス設定が必要です。マネジメントコンソールで Amazon Bedrock のページに遷移し、左側のペインで「モデルアクセス」を選択します。

それから、右上の「モデルアクセスを変更」をクリックしてください。ここで、利用したいモデルにアクセスできるようにします。今回は Computer Use に対応するモデル「Anthropic Claude 3.5 Sonnet v2」を利用します。

画像をクリックすると拡大します

Amazon Bedrock にアクセスできる権限を持つ AWS プロファイルを設定する

まず Amazon Bedrock にアクセスできる IAM ユーザーを作成し、AmazonBedrockFullAcces というポリシーをアタッチします。FullAccess を使用すると簡単に始められますが、本番環境では必要最小限の権限を持つカスタムポリシーを作成することを強く推奨します。

画像をクリックすると拡大します

IAM ユーザーの作成が完了しましたら IAM ユーザーのアクセスキーとシークレットアクセスキーを取得します。該当する IAM ユーザーを選択し、「セキュリティ認証情報」タブに移動して、新しいアクセスキーを作成します。

画像をクリックすると拡大します

作成されたアクセスキーとシークレットアクセスキーをコピーし、次のプロファイルの設定のステップで使います。アクセスキーの管理の詳細については、「AWS アクセスキーを管理するためのベストプラクティス」を参照してください。

画像をクリックすると拡大します


Computer Use を使ってみる

ローカルターミナルで AWS CLI でプロファイルを設定します。以下のコマンドを実行し、プロンプトに従います。アクセスキー ID、シークレットアクセスキー、デフォルトリージョン (us-west-2)、出力形式を入力します。

aws configure --profile bedrock-claude-user

入力例:

AWS Access Key ID [None]: THISISEXAMPLEKEY
AWS Secret Access Key [None]: THISISEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

AWS プロファイルの設定が完了しましたら、Anthropic が共有した Computer Use の Quick Start リポジトリをクローンします。このリポジトリは、必要な依存関係をすべて含む Docker コンテナを作成するためのビルドファイルや Bedrock を使用して Claude 3 Sonnet v2 モデルにアクセスするためのエージェントループ実装例が含まれていますので、Computer Use 利用を開始するのに役立ちます。

git clone https://github.com/anthropics/anthropic-quickstarts

その後、下記のコマンドでディレクトリを移動します。

cd anthropic-quickstarts/
cd computer-use-demo/

最後は aws configure で設定したプロファイルを利用し、Docker を起動します。

export AWS_PROFILE=bedrock-claude-user
docker run \
    -e API_PROVIDER=bedrock \
    -e AWS_PROFILE=$AWS_PROFILE \
    -e AWS_REGION=us-west-2 \
    -v $HOME/.aws:/home/computeruse/.aws \
    -v $HOME/.anthropic:/home/computeruse/.anthropic \
    -p 5900:5900 \
    -p 8501:8501 \
    -p 6080:6080 \
    -p 8080:8080 \
    -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest

実行されると下記のような内容が表示されて、http://localhost:8080 にアクセスすると、チャット UI と仮想のデスクトップが表示されます。

Xvfb started successfully on display :1
Xvfb PID: 9
starting tint2 on display :1 ...
starting mutter
starting vnc
PORT=5900
starting noVNC
noVNC started successfully
✨ Computer Use Demo is ready!
➡️ Open http://localhost:8080 in your browser to begin

画像をクリックすると拡大します


Claude にゲームを操作させる

Computer Use のチャット UI にプロンプトを入力することで、Claude がマシンを操作し色々なタスクをこなすことができます。まず、ブラウザを開いてゲームのリンクを開いてくださいという指示を出してみます。

動画で示されているように、Claude は 'computer' というツール機能を使用して、マウス操作、文字入力、スクリーンショット撮影などを行いながら、その結果を確認しています。

Tool Use: computer
Input: {'action': 'mouse_move', 'coordinate': [804, 736]}
Tool Use: computer
Input: {'action': 'type', 'text': 'https://...'}
Tool Use: computer
Input: {'action': 'screenshot'}

画像をクリックすると拡大します

画像をクリックすると拡大します

画像をクリックすると拡大します

『Find The Icon』ゲームのスタート画面が表示される際に Claude から「ゲームを開始するには "Start match!" ボタンをクリックする必要があります。ボタンの位置にカーソルを移動してクリックします。」と判断し、自動でマッチング画面まで進めることができました。

その後、 Claude から「マッチングを待っている状態が続いています。このゲームは他のプレイヤーとマッチングする必要があるようです。現在はマッチングを待っている状態で、対戦相手が見つかるのを待っています。」という返答がありました。Claude がここまで理解できることに感心しました。

今回は説明をわかりやすくするため、マルチプレイヤーモードではなく、Claude によるシングルプレイヤーでのプレイの様子を見ていきましょう。

画像をクリックすると拡大します

それでは早速、プレイを始めましょう ! Claude には初めてのゲームなので、基本的な画面操作から丁寧に説明していきます。正確にプレイできるよう、まずはゲームの概要、操作方法、スコアシステムについて順を追って説明します:

このゲームは、AWS サービスアイコンの中から指示されたサービスのアイコンを最も早く見つけ出すものです。「Game Start」を押すと、次の画面に移ります。次の画面下の十字キーでカーソルを動かし、該当するアイコンを見つけたら「Found!」ボタンを押してください。プレイヤーの点数は最初は 0 点ですが、正解の場合 10 点ずつ与えられます。

画像をクリックすると拡大します

動画からわかるように、アイコンを直接クリックするのではなく、十字キーを使って丁寧にアイコンを探していきます。実際の動作では、十字キーによる移動、アイコンの確認、スコアの変化など、一連の処理が順序立てて行われているのが確認できます。なお、動画は再生速度を調整することで、全体の流れをより速く把握することもできます。

画像をクリックすると拡大します

画像をクリックすると拡大します

画像をクリックすると拡大します

ゲームの結果を分析すると、興味深い傾向が見られました。最初の問題「Amazon FSx」と 2 問目の「AWS Cloud9」については、Claude は効率的に対応し、それぞれ約 1 分という比較的短時間でアイコンを特定することができました。これらのアイコンには特徴的な文字が含まれていたことが、素早い識別を可能にした要因と考えられます。

しかしながら、3 問目の「Amazon Aurora」については状況が大きく異なりました。2 分 30 秒という長い時間をかけ、画面上の様々なアイコンを慎重に確認し、複数回の試行錯誤を繰り返しましたが、最終的にアイコンを見つけることができませんでした。

これらの観察結果は、AI の視覚認識システムにおける学習データの多様性と量の重要性を浮き彫りにしています。特定の分野や文脈に特化したアイコンやシンボルの認識精度を向上させるには、それらに関する十分な学習データの蓄積が必要かもしれません。


現状と展望

現時点で生成AIをゲーム QA に活用する場合、その効果的な活用には明確な「向いているケース」と「向いていないケース」があることが、今回の検証で明らかになりました。

向いているケース :

  • ゲームの基本的な UI 要素の認識検証
  • 文字情報を含むアイコンの識別テスト
  • 画面上のナビゲーション確認
  • チュートリアルの自動化テスト
  • UI/UX の基本的な検証
  • アクセシビリティ評価

向いていないケース :

  • リアルタイムでの複雑な状況判断が必要なシーン
  • 即時的な対応が求められるゲームプレイテスト
  • 高速な判断を要する場面での信頼性テスト

まとめ

生成 AI による自動プレイの実験から、興味深い発見と課題が見えてきました。現時点では、ゲームの基本的な UI 要素の認識や文字情報を含むアイコンの識別、画面上のナビゲーションなどで予想以上の成果を上げていますが、状況判断のスピードが遅い場面が多く、複雑な判断や即時対応が必要な状況での信頼性にはまだ課題が残ります。

一方で、ゲームのチュートリアル自動化や UI/UX テスト、アクセシビリティ評価といった分野などリアルタイム性が求められないテストでの実用化の可能性は十分に感じられます。

適切な学習データの提供と継続的な改善により、これらの課題は徐々に解決できると考えられますが、現段階では完全な自動化というよりも、開発者やテスターの作業を支援する補助的なツールとしての活用が現実的な方向性だと思います。


builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

Sheng Hsia Leng
アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト

ゲーム業界に特化したソリューションアーキテクトとしてお客様を支援しております。
2025 年は、ドライブやグランピング、キャンプにたくさん行けるようにしたいです !

中村 一樹
アマゾン ウェブサービスジャパン合同会社 ソリューションアーキテクト

約 14 年ゲーム業界で開発に携わっていた元ゲームエンジニア。
「ゲーム開発者は面白いゲームを開発することに時間を使うべき」と考えており、それ以外のことはマネージドサービスやAIなどに任せれば良いと思っている。
趣味はフィットネスジムで汗を流すこと。格闘技系ワークアウトが好き。
2024 年 12 月はずっと体調不良だったので 2025 年は一年中健康で過ごしたい。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する