Skip to content

Agentic AI ダンジョンゲーム

このチュートリアルでは、@aws/nx-plugin を使用してエージェント型 AI を活用したダンジョンアドベンチャーゲームを構築します。このチュートリアルは、@aws/nx-plugin や関連技術に関する既存の知識を前提としていません。 このチュートリアルで学ぶ技術は以下に役立ちます:

  • @aws/nx-plugin ベースのアプリケーションを構築する
  • @aws/nx-plugin の深い理解を得る
  • NX フレームワークの使用方法の基本的な理解を得る

チュートリアルの終わりには、以下の知識を習得できます:

  • @aws/nx-plugin を使用して新しいアプリケーションを作成する
  • NX を使用してコードベースを管理/ビルドする
  • tRPC を使用して API を構築する
  • Strands を使用してエージェントを構築する
  • TypeScript で MCP サーバーを構築する
  • Tanstack router を使用して新しいページを作成する
  • Tanstack query を使用してバックエンド API を呼び出す
  • DynamoDB でデータをモデル化し、DynamoDB Local に対してローカルで開発する
  • CDK インフラストラクチャを作成してデプロイする

このチュートリアルでは、@aws/nx-plugin を使用してエージェント型 AI を活用したダンジョンアドベンチャーゲームを構築します。

ゲームのインターフェースは、次の図のようになります:

game-select.png
game-conversation.png

アプリケーションアーキテクチャ

Section titled “アプリケーションアーキテクチャ”

エージェント型 AI を活用したダンジョンアドベンチャーゲームは、以下のアーキテクチャを使用して構築されています:

Web BrowserCognito / IAMCloudFrontStatic Assets(S3)API Gateway(Game API)tRPC API(Lambda)Story Agent(AgentCore)Inventory MCP(AgentCore)Game State(DynamoDB)Story Sessions(S3) Sign in Read transcripts AG-UI stream Persist turns Tool calls
  • React/Vite フロントエンドウェブサイトは以下を利用します:
    • 安全な API 呼び出しのための Amazon Cognito/Identity Pools
    • 型安全なファイルベースルーティングをサポートする Tanstack router
    • Game API を呼び出すための生成された SDK
  • ゲーム状態を管理するために ElectroDB/DynamoDB を使用する tRPC API
  • ゲームを実行するための Amazon Bedrock AgentCore でホストされる Strands エージェント
  • エージェントがプレイヤーのインベントリを管理するための Amazon Bedrock AgentCore でホストされる TypeScript MCP サーバー
  • アプリケーションをデプロイするための CDK インフラストラクチャ

続行する前に、以下のグローバル依存関係が必要です:

  • Git
  • Node >= 22 (NVM のようなツールを使用してノードバージョンを管理することをお勧めします)
    • node --version を実行して確認してください
  • UV >= 0.5.29
    1. uv python install 3.14.0 を実行して Python 3.14 をインストールします
    2. uv python list --only-installed で確認してください
  • このチュートリアルではアプリケーションをデプロイし、Amazon Bedrock を呼び出すため、ターゲット AWS アカウントに設定された AWS 認証情報
  • ローカル DynamoDB 開発および AgentCore コンポーネントのビルドに必要な Docker(または Finch