やじうまPC Watch

「Slay the Spire」をプレイするAIが「Amazon Q」で構築される

 Amazonの対話型AI「Amazon Q」を用いて、ローグライクカードゲーム「Slay the Spire」をプレイするAIボットが構築された。AWS開発者のBanjo Obayomi氏によるプロジェクト。

 Slay the Spireは、カードの取得や除去を行ないデッキの強化を行なうデッキ構築ゲームの要素と、リソースを効果的に管理しつつダンジョンを攻略するローグライクの要素を併せ持ったゲームタイトルとなっているが、これをプレイするAIボットが、コードの生成や変換、推論などが行なえる対話型生成AI「Amazon Q」によって生成できた。

 今回開発されたAIボットは、数年前に開発が停止している「spirecomm」というSlay the Spireと外部プロセス間の通信を可能にするMODをベースに構築された。このMODは古いうえにドキュメントがほとんどないが、Obayomi氏はプロンプトによってAmazon Qから「コード内容の説明」、「必要コードの生成」、「デバッグ」といった支援を得て、結果的におよそ3時間でAIボットを構築できたという。

 構築にあたっては、まずはAmazon Qがコードの目的と構造を把握するための要約を行なってもらい、メイン関数であるmain.pyの中身を説明してもらった。次にゲーム状態の情報を読み取り、LLMを呼び出して次に実行するアクションを返す命令に置き換えようとした。

 しかしこのコードは条件をチェックせず、無効なターゲットを返し不正なアクションを実行するなどクラッシュしたため、追加でデバッグのためのコードを要求して問題の解決を図っている。

 これらによってObayomi氏自身がコードを書く時間を大幅に節約でき、より高度なAIボットの設計に集中できたとしている。その一方で、Amazon Qはシステムプロンプトの設計にはあまり向いていないとも指摘する。

 こうした試みの結果、現段階では2番目のボスまで到達できたという。今後はゲームプレイを担当するLLMの切り替えやプロンプトの改良などを行なうことで、性能の改善を図るとしている。

 なお、AIボットのベースとなったspirecommは現在も公開中なため、Amazon Qに加入していれば、Obayomi氏と同様の試みを行なうことは可能な状況だ。ただ、ブログ記事の中で「AIアシスタントがユーザーのアイデアを100%完璧にコードとして変換することはできない」とも述べているほか、別の記事においては、巧妙なプロンプトだけでハルシネーションを防ぐことはできず、依然としてユーザー自身によるコードの検証は必要だと記している。

「What does this code do?」のプロンプトにAmazon Qが回答している
エラー処理のコードを追加で生成した