Repolode
a16z-infra

a16z-infra/ai-town

Convex上に構築された、AIキャラクターが暮らし、会話や交流をする仮想の町「AI Town」をデプロイしてカスタマイズできる、MITライセンスのスターターキット。

スター
10,676
フォーク
1,227
未解決の Issue
75
最終コミット
2 か月前

これは何?

AI Townは、AIキャラクターが暮らし、会話や交流をする仮想の町です。Generative Agentsの研究論文に着想を得た、自分だけのバージョンを構築するためのデプロイ可能なスターターキットです。TypeScriptで書かれており、拡張を前提に設計されています。Convexバックエンドが、共有されるグローバル状態やトランザクション、シミュレーションエンジンを提供します。

ゲームエンジン、データベース、ベクトル検索にはConvexを使用し、認証にはClerkを任意で利用できます。キャラクターはデータファイルで設定でき、マップはTiledで作成して、付属のスクリプトで変換できます。デフォルトのチャットモデルはOllamaで実行するllama3ですが、Together.aiやOpenAI互換APIも利用できます。背景音楽はReplicateで生成でき、フロントエンドの描画にはPixiJSを使用します。

セットアップ方法として、標準的なConvex Cloudのワークフロー、セルフホスト型のDocker Compose構成、Fly.ioへのデプロイに対応しています。フロントエンドはVercelにデプロイでき、ngrokやTunnelmoleなどのトンネルを使えば、ローカルのOllamaをクラウドバックエンドから利用できます。

主な機能

  • 01AIキャラクターが互いに会話や交流をする、シミュレーションされた町。
  • 02Convexを基盤とし、共有状態、トランザクション、シミュレーションエンジンを備える。
  • 03Ollamaによるローカル推論に加え、Together.aiとOpenAI互換APIに対応。
  • 04キャラクター、スプライトシート、Tiledで編集するマップをカスタマイズ可能。
  • 05Replicateによる背景音楽の生成に任意で対応。
  • 06ローカルやDocker Composeで実行できるほか、Convex Cloud、Fly.io、Vercelにデプロイ可能。

ユースケース

  • 生成エージェントが仮想世界で社会的行動をどのようにシミュレートできるかを学ぶ。
  • LLMが動かすキャラクターを使ったマルチエージェントシミュレーションや小規模なマルチプレイヤーゲームのプロトタイプを作る。
  • 独自のキャラクター、物語、マップを使った仮想の町を構築する。
  • 自己完結型の環境で、Ollamaを通じてローカルLLMを試す。

クイックスタート

  1. 1

    リポジトリをクローンします

    git clone https://github.com/a16z-infra/ai-town.git
  2. 2

    プロジェクトフォルダーに移動して、依存関係をインストールします

    cd ai-town && npm install
  3. 3

    アプリをローカルで起動します(プロンプトが表示されたらConvexにログインします)

    npm run dev
  4. 4

    ブラウザーで http://localhost:5173 を開きます

使う前に知っておきたいこと

  • デフォルトのセットアップでは、AIチャットを利用するために無料のConvexアカウントと、llama3を使えるローカルのOllama環境が必要です。
  • OpenAIやTogether.aiなどのクラウドLLMを利用するには、有料のAPIキーが必要です。
  • WindowsユーザーはWSL2とUbuntu形式の環境が必要です。

トピック

よくある質問

ai-town とは?
Convex上に構築された、AIキャラクターが暮らし、会話や交流をする仮想の町「AI Town」をデプロイしてカスタマイズできる、MITライセンスのスターターキット。 AI Townは、AIキャラクターが暮らし、会話や交流をする仮想の町です。Generative Agentsの研究論文に着想を得た、自分だけのバージョンを構築するためのデプロイ可能なスターターキットです。TypeScriptで書かれており、拡張を前提に設計されています。Convexバックエンドが、共有されるグローバル状態やトランザクション、シミュレーションエンジンを提供します。
ai-town は無料で使えますか?ライセンスは?
ai-town は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ai-town は今もメンテナンスされていますか?
半年以内に更新あり。ai-town の最終コミットは 2026年8月26日 です。
ai-town は何に使えますか?
生成エージェントが仮想世界で社会的行動をどのようにシミュレートできるかを学ぶ。 LLMが動かすキャラクターを使ったマルチエージェントシミュレーションや小規模なマルチプレイヤーゲームのプロトタイプを作る。 独自のキャラクター、物語、マップを使った仮想の町を構築する。 自己完結型の環境で、Ollamaを通じてローカルLLMを試す。
ai-town のインストール方法は?
リポジトリをクローンします: git clone https://github.com/a16z-infra/ai-town.git プロジェクトフォルダーに移動して、依存関係をインストールします: cd ai-town && npm install アプリをローカルで起動します(プロンプトが表示されたらConvexにログインします): npm run dev ブラウザーで http://localhost:5173 を開きます
ai-town はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/a16z-infra/ai-town

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト