ソフトウェア

Slay the SpireをプレイできるAIを3時間で作成したエンジニアが構築方法を語る


Amazonの従業員であるバンジョー・オバヨミ氏がローグライクデッキ構築ゲームのSlay the SpireをプレイできるAIを3時間で構築し、どうやって構築したのかという解説記事を投稿しました。

Community | I Built an LLM Bot in 3 hours to Conquer Slay the Spire
https://community.aws/content/2esiarYrF0xRNOMPj0god4ikRzw/i-built-an-llm-bot-in-3-hours-to-conquer-slay-the-spire


Slay the Spireは200枚以上のカードと50以上の敵やイベントを備えたゲームで、プレイするたびに毎回状況が変化してリプレイ性が高いことなどから高い人気を集めています。オバヨミ氏もSlay the Spireを160時間以上プレイした愛好家であり、2025年登場予定となっている続編を待つ間にSlay the SpireをプレイできるAIを作成しようと思い立ったそうです。


オバヨミ氏がSlay the SpireをプレイするAIについて調べてみると、5年前に作成されたスケルトンプロジェクトを発見。スケルトンプロジェクトにあわせて環境を構築し、問題なく動作することを確認してからオバヨミ氏はAmazon Qを使用して「このコードは何をするコードですか?」とコードの説明を依頼しました。Amazon Qの返答によってAIの中身である大規模言語モデル(LLM)をコードのどこに組み込めば良いのかが分かり、スムーズに作業を始めることができたとのこと。


Slay the Spireには大きく分けて「部屋の選択」フェーズと「戦闘」フェーズがありますが、オバヨミ氏はまず戦闘フェーズに焦点を当て、LLMにゲームの状態データを渡して次に実行するアクションを決めさせることにしました。ゲームの情報を格納しているクラスには文字列として状態を出力する機能が実装されていなかったため、Amazon Qに関連するゲーム状態情報を抽出するコードを生成してもらって対応しました。


Amazon Qはコードの理解や生成には優れているものの、システムプロンプトの設計においてはオバヨミ氏の満足できる出力を行わなかったとのこと。「コードの理解・デバッグ・生成以外のタスクは別のLLM製品を使う方が良いかもしれない」とオバヨミ氏は述べました。


オバヨミ氏はLLMとしてAmazon BedrockのClaude Haikuを使用することにしました。コードを動作させるとAIが有効なアクションを生成し、自律的にゲームをプレイし始めましたが、しばらくするとクラッシュしてしまった模様。

オバヨミ氏はアクションを行う関数を調べ、カードが無効なターゲットを選択する可能性があるバグを発見。Amazon Qにエラーの解決を依頼すると例外を出力するためのコードを生成し、オバヨミ氏は出力されたコードを元に状況を適切に処理するためのコードを書きました。


こうしてオバヨミ氏はプロジェクト開始から3時間でClaude HaikuにSlay the Spireをプレイさせることに成功しました。元となるコードがあったとは言え、5年前に書かれた他人のコードをすぐに理解して更新・デバッグしていけたのはAmazon Qのおかげとのこと。


Claude Haikuは3体のボスのうち2番目のボスまで到達できたとのこと。ボスを倒すためにはカードの選択やコンボの選択などの長期計画が必要なので、今後はClaude Opusを利用して一般的な戦略を行えるようプロンプトを改善してみるとオバヨミ氏は述べました。

この記事のタイトルとURLをコピーする

・関連記事
マインクラフトを大規模言語モデルのGPT-4で反復学習しながら自動でプレイするAIエージェント「Voyager」が登場 - GIGAZINE

人間の言葉で指示するだけで「Goat Simulator 3」や「No Man’s Sky」など9つのゲームをプレイできるAI「SIMA」をGoogleが発表 - GIGAZINE

なぜ大規模言語モデル(LLM)はだまされやすいのか? - GIGAZINE

NVIDIAのAI特化GPUは一体どんなものなのか?ゲーム用GPUとは別物なのか? - GIGAZINE

「自動ムービー編集」「ゲーム開発」「文章校正」「論文要約」などGPT-4がわずか3週間で生み出した14の画期的ツール - GIGAZINE

in ソフトウェア, Posted by log1d_ts

You can read the machine translated English article here.