Share
Embed
グラフ基盤ワークフローで実現するLLMによる自動ゲームプレイ
GREE Tech Conference 2026で発表された資料です。
https://techcon.gree.jp/2026/session/TrackB-3
Transcript
44 slides
-
崔 碩訓 株式会社WFS エンジニア 2017年4月、ファンプレックス株式会社 (現:グリーエンターテインメント株式会社)に 入社後、株式会社WFSに配属。 エンジニアリード、開発ディレクション、 開発プロジェクト管理などを経て、2026年 7月よりData
Platform チームにてAIを用いた、 ゲーム開発・QA自動化における共通課題の 解決に携わる。 2 -
アジェンダ 1. はじめに ◦ AI自動プレイの課題と開発成果 2. システムの構造 ◦ アーキテクチャ全体像 ◦
レイヤー別の詳細構成 3. システム構築における工夫 ◦ How We Build(開発のアプローチ) ◦ LLM単体の推論を超えるための課題 ◦ ゲームの状態を正しく認識させる工夫 4. まとめ 3 -
用語・参考論文 用語 本セッションでの定義 人間 複数のゲームで共通する仕組みが 分かっていて、滞りなく操作できる プレイヤーを指す AI 26年現在、動作やアーキテクチャ 基盤が共通する主要な
LLMを指す 使用 モデル gemini-3.6-flash Qi, R., Ni, Y., Jiang, L., Li, Z., Huang, K., & Guo, X. (2025, October 21). Memory-Augmented State Machine Prompting: A novel LLM agent Framework for Real-Time Strategy Games. arXiv.org. https://arxiv.org/abs/2510.18395 Cemri, M., Pan, M. Z., Yang, S., Agrawal, L. A., Chopra, B., Tiwari, R., Keutzer, K., Parameswaran, A., Klein, D., Ramchandran, K., Zaharia, M., Gonzalez, J. E., & Stoica, I. (2025, March 17). Why do Multi-Agent LLM systems fail? arXiv.org. https://arxiv.org/abs/2503.13657 5 -
成果物1 : AIによる自動プレイを実装 ▪リグレッションテストの様子 ・『ヘブンバーンズレッド』をプレイ ・MacにUSBで実機(Pixel 10)を 接続して本システムを起動しています。 ・AIが実機を直接操作し、ゲームを プレイします。
©WFS Developed by WRIGHT FLYER STUDIOS © VISUAL ARTS/Key 7 -
成果物2 : AIの成果物を可視化 リグレッションテストの様子 ▪全工程のログ保存 AIによる操作は、すべての工程が詳細な ログとして自動で残されます。 ▪直感的な可視化ツール 保存されたログを可視化ツールから いつでもプレイした状況を確認・検証
できます。 ©WFS Developed by WRIGHT FLYER STUDIOS © VISUAL ARTS/Key 8 -
成果物2 : AIの成果物を可視化 ▪指定した目標が達成できた時の一覧が表示される ©WFS Developed by WRIGHT FLYER STUDIOS
© VISUAL ARTS/Key 9 -
成果物2 : AIの成果物を可視化 ▪全ての操作の履歴がタイムラインとして表示される 種別で色分けされた各サイクルのフレームが操作できる ©WFS Developed by WRIGHT FLYER
STUDIOS © VISUAL ARTS/Key 10 -
成果物2 : AIの成果物を可視化 ▪タイムラインを見返せる ▪ 本プレイのトークン使用量 (参考値) 1 サイクルあたり -
入力:約 1万 トークン - 出力:約 1千 トークン プレイ全体 - 125サイクル - 137.5万トークン ©WFS Developed by WRIGHT FLYER STUDIOS © VISUAL ARTS/Key 11 -
AIだけでプレイさせると直面する壁 【実例】 会話画面での操作ルール タップで一度にスキップ 長押し中だけ早送り ©WFS Developed by WRIGHT FLYER
STUDIOS © VISUAL ARTS/Key 13 -
インタフェース / デバイス ▪構成 - インタフェース python cli, ブラウザー ▪構成
- デバイス langgraph-cua-py android : uiautomator2 iOS : WebDriverAgent ▪役割 ・プレイ目標を指定してシステムを起動する ・システムがデバイスを操作できるようにする ・実行結果や動作成果の確認を行う ©WFS Developed by WRIGHT FLYER STUDIOS © VISUAL ARTS/Key 18 -
ドメイン宣言 ▪スキル 「アイテムを拾う操作方法」等を mdファイルに記述して、 ゲームの知識をプロンプトに渡す ▪ミッション 「クエストが示すアイテムを集める」等の 達成目標をYAMLで定義して、 具体的な行動指針をプロンプトに渡す ▪ワークフロー
テストシナリオに沿って複数の ミッションを組み合わせて、 実行順序・操作手順を制御する ゲーム知識を平文で書いたスキル(md) 19 -
ロジック ▪構成 pyyaml opencv ▪役割 ・ゲームの状況に合わせて、AIに 渡すプロンプトを動的に構築する ・スクリーンショットからデータを 取得・判定して、進行を制御する ・AIの無限ループ等の異常を検知し
システムを安全停止させる pythonの純関数で構成 20 -
推論 ▪構成 google-genai dinov2 ▪役割 ・OpenAI互換APIを通じてLLMへ プロンプトやパラメータを適切に伝達する ・スクリーンショットからの要素抽出や バウンディングボックスの検出を行い LLMに連携する
・テキストだけでは捉えきれない画像の 情報を抽出・補完する バウンディングボックス検出およびLLMからの出力例 ©WFS Developed by WRIGHT FLYER STUDIOS © VISUAL ARTS/Key 22 -
観測 ▪構成 jsonl langfuse ▪役割 ・プレイした全工程におけるログを jsonl形式で記録する ・デバッグに必要な情報をlangfuseに 送信する ・システム全体の成果や実行時の
挙動を視覚的に確認・追跡する プレイした全工程をログとして保存 23 -
観測 ▪trace.jsonl 中身: 構造化ログ(プロンプトは除外) 用途: ブラウザビュアー(inspector)での 高速閲覧・機械的リプレイ ▪Langfuse 中身: プロンプト全文
& レスポンス全文 用途: プロンプトチューニング時 モデル挙動の詳細追跡 24 -
長期記憶 ▪構成 vectorize-io/hindsight ▪役割 ・ログから失敗した操作や共通の 観測傾向を抽出し、スキルへの反映 提案をレポートとして作成する ・提案をHITL(Human-in-the-Loop) で評価してスキルを更新する ログから得た改善点の提案レポート
・知識をスキルとして永続化(長期 記憶化)し、次回のプレイに反映する 25 -
1. How We Build ▪取り組み ・コーディングエージェント(Claude Code等)を活用し、実装効果を細かな 粒度で計測 ・「実装 ➔
計測 ➔ 有効性の確認 ➔ 採用」 というサイクルでシステムを構築 ▪利点 ・エージェント開発で陥りがちな オーバーエンジニアリングを防げる ・実測データに基づき、機能の 取捨選択を客観的に判断できる 実測の一例 28 -
2. ゲームの知識を平文(Skills)で書く ▪仕組み common: 全画面共通の安全ルール screens: 現在の画面固有の知識 capabilities: 実行可能な機能 routing.yaml:
(画面 × 機能) の対応関係を 定義するルーティング表 ▪役割 画面状態や目的に応じ、4種の定義から プロンプトを動的に合成してゲームの 知識をAIに与える ゲーム知識をシステムのコードと分離して 管理することができるようにする --name: advance_dialogue description: ADV パートの台詞・演出を送って先へ進める。 metadata: kind: capability --## 操作メカニクス 台詞ウィンドウ(画面下部の帯)をタップすると次の台詞に進む。 右上の ▷(オート)を有効にすると自動で送られる。 ▷|(next scene button)は次の停止点(選択肢)まで会話を進める。 ▷▷(fast forward button)は**押している間だけ**早送りする。1 タップ では指を離した瞬間に止まるので、会話はほとんど進まない。 ## 行動ツリー(上から順に評価する) 1. 右上のボタン列の**左から 2 番目**にある「▷|」(next scene button)をタップする。これが既定の手である。次の停止点まで一気に進 む。 2. いちばん右の「▷▷」(fast forward button)は押さない。 押している 間だけ早送りするボタンなので、1 タップでは会話が進まない。 会話操作スキルのmd 29 -
3. メタ情報をシステムで捉えてAIに渡す 【実例】 ・座っているキャラクターとはすでに会話をしていて、また 話しかけても同じセリフだけを言う ・AIは視覚的な「吹き出し」に誘導され、タップを繰り返してしまう ©WFS Developed by WRIGHT
FLYER STUDIOS © VISUAL ARTS/Key 30 -
3. メタ情報をシステムで捉えてAIに渡す ①履歴なしでのAIアウトプット 操作履歴 NPCの前にキャラクターが十分に近づきまし た。吹き出しアイコンが出ており、距離も適切 になったためタップして会話を開始します。 # What has
happened so far ## 4 cycles ago — on the field screen: 吹き出 しを押して会話を開始する; 画面に変化はありま せん. This was not what you expected. ②履歴ありでのAIアウトプット これまで吹き出しを直接押す操作や各種移動を 試してきましたが、中央へ移動したことで NPCとの距離が十分に詰まりました。吹き出 しが表示されているため、再度吹き出しをタッ プして会話を開始します。 ## 2 cycles ago — on the same screen You did: 吹き出しをタップしてキャラクターに 報告します。 What happened: No change detected between the first and second screenshots. ## Last cycle — on the same screen because: 吹き出しのタップが2回連続で効果 を発揮しなかったため、位置や向きがキャラク ターに対して不十分である可能性があります。 31 -
5. 情報伝達の一元化:advisories ▪仕組み AgentState の履歴から、モデルに 伝えるべき「警告(Advisories)」を 1箇所で自動抽出する ・同じ操作の繰り返し ・同じサイクル(移動→会話)の繰り返し ・失敗履歴、DINOによる情報
▪役割 連続失敗やループを検知したら、 Decideノードのプロンプトへ禁止を 注入する 37 -
6. 履歴からの改善をスキルに残して長期記憶化 ▪仕組み ログから実行履歴や観測結果をHindsightの データベースへ投入する。 取得した事実と現在のスキルを照らし合わせ、 どのファイルをどう修正すべきかのレポートを 生成する。 ▪役割 ・人間への申し送りツールとして機能する
※ 不具合や仕様変更による一時的なエラーを 記憶として残さないため ・スキルはファイルとして保持されるため、 履歴から得た改善が永続的な長期記憶となる スキルの改善提案レポート 38 -
まとめ ▪今回の実践 ▪ 今後の展望 ・AIによる自動プレイを実現し、決まった 処理だけできる自動テストよりも柔軟な テストができるようになった ・仕組みの洗練化 ・システムロジックとゲーム知識を 分離して管理できる構造を実現できた
・資産の高度化 ・メタ情報の扱いや、プレイ履歴を 「短期・長期記憶」として活用する 仕組みを導入できた より多様な機能や状況に対応した自動 プレイができるようにする 単なる「自動プレイログ」から 「品質・開発を支える検証基盤」へ拡充する 42