ターミナルで動作し、クラウドAPIやOllamaなどのローカルモデルバックエンドを利用できるオープンソースのコーディングエージェントCLIです。
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
リポジトリをクローンします
git clone https://github.com/a16z-infra/ai-town.git - 2
プロジェクトフォルダーに移動して、依存関係をインストールします
cd ai-town && npm install - 3
アプリをローカルで起動します(プロンプトが表示されたらConvexにログインします)
npm run dev - 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 の数値は毎日更新されます。
関連プロジェクト
異なるマシンやツール上のAIコーディングエージェントが、スレッド、ファイル、ブラウザーを1か所で共有できるワークスペース。
すべての修行者がLLM搭載エージェントとしてルールベースの世界で行動する、AI駆動の仙侠シミュレーター。
Pythonコードでアクションを記述・実行するAIエージェントを構築するための、軽量なPythonライブラリ。
Python、.NET、JavaでAIエージェントやマルチエージェントシステムを構築するためのSDK。モデル、プラグイン、ベクトルデータベースと連携できます。
UIを自然な言葉で説明してライブ表示し、対応するLLMで繰り返し改善できます。