AI Townゲーム:その内容と実行方法

a16zとConvexによるAI Townゲーム:その内容、その背後にあるスタンフォードSmallville論文、デモをプレイまたは自分で実行する方法、およびその費用。

AI Townは、AIキャラクターたちが自律的に生活し、チャットし、友達を作る小さなピクセルアートの町です。プレイヤーは主に彼らの様子を観察します。また、開発者が独自のAI Townゲームを作るためにコピー・改変できる、無料のオープンソースコードでもあります。

GitHubのREADMEには、「独自のAI Townバージョンを簡単に構築し、カスタマイズするためのデプロイ可能なスターターキット」とあります。つまり、AI Townには2つの側面があります。ブラウザで開けるデモであり、開発者向けのコードベースでもあります。

各AIキャラクターには名前、短いストーリー、スプライトがあります。言語モデルが各キャラクターのセリフを作成します。キャラクターはマップを歩き回り、会話を始め、以前の会話を覚えています。このコードを使えば、人間も町に参加してキャラクターと話すことができます。

AI Townは、目標やレベル、ストーリーをクリアするような完成されたゲームではありません。観察したり、開発の土台にしたりするためのサンドボックスです。AIキャラクターが登場する完成されたゲームについては、AIゲームのガイドをご覧ください。

これはLifeSimブログの記事です。私たちはAIキャラクターが登場する別のゲーム、LifeSimを制作しています。AI TownがLifeSimとどこが似ていて、どこが違うのかを記事の最後で説明します。

AI Townは、a16z(Andreessen Horowitz)とConvexのチームが2023年に制作しました。コードはa16z-infraアカウントのGitHubで公開されており、Convexがバックエンドを運営しています。

2023年9月、Cognitive Revolutionポッドキャストがチームにインタビューしました。そのエピソードで、a16zのパートナーであるYoko Liがプロジェクトを立ち上げたと語られました。a16zのジェネラルパートナーであるMartin Casadoは、これを「実際にはYokoの趣味のプロジェクト」と呼びました。ConvexのCTOであるJames Cowlingが構築を支援し、Convexの開発者がサーバー上でゲームエンジンを作成しました。

このアイデアは、Yoko Liによる以前のコンパニオンアプリから生まれました。そのアプリは1つのAIキャラクターに記憶と個性を持たせていました。人々はその後、多くのAIキャラクターが出会うとどうなるかを尋ねました。AI Townがその答えでした。

AI TownにおけるConvexの役割

READMEによると、Convexはゲームエンジン、データベース、ベクトル検索を担っています。Convexは町の状態を維持し、シミュレーションを実行します。ベクトル検索は、現在の会話に一致する古い記憶を見つけます。

READMEには、その他の技術スタックも記載されています。PixiJSが町を描画し、Ollamaはデフォルトのチャットモデルllama3を自分のコンピューターで実行します。Clerkログインはオプションです。

AI Townはオープンソースですか?

はい。リポジトリのライセンスファイルはMITライセンスで、「Copyright (c) 2023 a16z-infra」と記載されています。コードをコピー、変更、販売できますが、ライセンステキストはコピーに含める必要があります。

はい。READMEには、AI Townが「Generative Agents: Interactive Simulacra of Human Behavior」という論文に「インスパイアされた」と書かれています。この論文では、25人のAIキャラクターがSmallvilleという小さな町に配置されました。

Joon Sung Parkと他の5人の研究者がこの論文を執筆しました。そのうち4人はスタンフォード大学に所属し、他の2人はGoogle ResearchとGoogle DeepMindに所属していました。彼らは最初のバージョンを2023年4月7日にarXivに掲載し、改訂版を2023年8月6日に掲載しました。

Smallvilleで起こったこと

この論文では、Smallvilleを「The Simsにインスパイアされたインタラクティブなサンドボックス環境」と呼んでいます。ある人物が1人のキャラクターに「バレンタインデーのパーティーを開く」というアイデアを与えると、キャラクターたちは招待状を広め、新しい友達を作り、お互いをデートに誘い、一緒にパーティーに参加しました。

この計画は誰も書いたものではありません。キャラクターたちは、論文が言語モデルに追加する3つの要素からそれを生み出しました。

  • 記憶。 各キャラクターが見たこと、行ったことの完全な記録をプレーンテキストで保存。
  • 反省。 時間の経過とともに、キャラクターは多くの記憶を自分自身や他者に関するいくつかの一般的なアイデアに変換。
  • 計画。 キャラクターは適切な記憶を見つけ、それらを使って次に何をすべきかを決定。

研究者たちは25人のキャラクターを丸2日間実行しました。論文によると、これには「数千ドルのトークンクレジット」と「完了までに数日」かかりました。

AI Townと論文のコードの違い

SmallvilleのコードもGitHubのjoonspk-research/generative_agentsでApache-2.0ライセンスの下で公開されています。Pythonで書かれており、OpenAI APIキーが必要です。READMEには、実行に多額の費用がかかる可能性があると警告されています。

AI TownはJavaScriptとTypeScriptで書かれた新しいコードベースです。READMEによると、この種のツールのほとんどがPythonで書かれているため、意図的にこの言語が選ばれました。AI Townはまた、多人数プレイ用のバックエンドと、自分のコンピューターで実行されるデフォルトモデルを追加しています。

自律的に考えるゲームキャラクターの仕組みについて詳しくは、NPCの意味をご覧ください。

はい。ライブデモはconvex.dev/ai-townで公開されており、2026年11月に確認した時点ではロードされました。アカウントなしで視聴できます。町に参加するにはログインが必要です。

AI Townコードのヘルプテキストには、できることが説明されています。

  • 見る。 「クリック&ドラッグで町を移動し、スクロールでズームイン・アウトします。」キャラクターをクリックすると、チャット履歴を読めます。
  • 参加する。 ログインして「Interact」ボタンをクリックします。あなたのキャラクターは、その下にハイライトされた円が表示されてマップに入ります。
  • 話す。 キャラクターをクリックし、「Start conversation」をクリックします。キャラクターがあなたのところへ歩いてきて、会話が始まります。キャラクターがあなたに話しかけることもあります。

デモには制限があります。ヘルプテキストによると、町は一度に設定された数の人間しか受け入れません。5分間何も操作しないと、ゲームはあなたを削除します。

Convexブログのv2アップデートでは、デモにさらに多くの機能が追加されました。近くのキャラクターをチャットに招待したり、キャラクターがあなたを招待したりできます。噂もキャラクターからキャラクターへと伝わり、後の会話で再び登場します。

デモの町を変更できますか?

いいえ。デモはConvexが運営する共有の町です。キャラクター、マップ、またはAIモデルを変更するには、独自のコピーを実行する必要があります。次のセクションでその方法を説明します。

リポジトリをクローンし、インストールし、起動し、言語モデルを接続します。READMEには4つの実行方法が記載されています。これは簡潔な説明です。完全な手順についてはREADMEに従ってください。

  • 標準セットアップ。 無料のConvexアカウントを使用して、コンピューターまたはクラウドで開発します。READMEでは、これが最も簡単な方法であると述べています。
  • Docker Compose。 Dockerでバックエンド、フロントエンド、ダッシュボードを実行します。Convexアカウントは必要ありません。
  • Pinokio。 コミュニティフォークはワンクリックインストールを提供します。READMEによると、これはAI Townを実行したいが変更したくない人向けです。
  • Fly.io。 アプリをFly.ioにデプロイします。リポジトリには手順が記載されたflyフォルダーがあります。

ステップ1:アプリのビルドと起動

標準セットアップの場合、READMEには次のコマンドが記載されています。

git clone https://github.com/a16z-infra/ai-town.git
cd ai-town
npm install

インストール時にConvexへのログインが求められます。その後、npm run devでアプリを起動し、http://localhost:5173を開きます。

Dockerの場合、READMEはdocker compose up --build -dから始まります。次に、管理者キーを作成し、それを.env.localファイルに追加し、npm run predevを実行するように指示します。フロントエンドはポート5173で実行されます。

Windowsの場合、READMEはまずWSL2とUbuntu、Node.js 18をインストールするように指示しています。Node.jsのバージョンエラーが発生した場合は、バージョン18を使用するようにREADMEに記載されています。

ステップ2:言語モデルの接続

デフォルトでは、AI TownはOllamaを使用して自分のコンピューターでモデルを実行します。READMEには次の手順が記載されています。

  1. Ollamaをダウンロードしてインストールします。
  2. Ollamaアプリを開くか、ターミナルでollama serveを実行します。
  3. モデルをダウンロードするにはollama pull llama3を実行します。
  4. ollama run llama3でテストします。

代わりにOpenAI、Together.ai、またはOpenAI APIのように機能する別のAPIを使用できます。それぞれについて、convex/util/llm.tsの1行を変更し、npx convex env setでAPIキーを設定します。

後でモデルプロバイダーまたは埋め込みモデルを変更する場合は、データを削除して最初からやり直してください。READMEによると、メモリ検索は埋め込みモデルと一致する必要があります。

ステップ3:町をカスタマイズする

すべてのキャラクターとそのストーリーはdata/characters.tsにあります。Tiledエディターで新しいマップを作成し、リポジトリ内のスクリプトで変換できます。キャラクターを変更した後、READMEはnpx convex run testing:wipeAllTablesでテーブルを消去し、npm run devを再度実行するように指示しています。このコマンドはすべてのデータを削除します。

コードは無料です。費用は、言語モデルとバックエンドがどこで実行されるかによって異なります。

言語モデル

デフォルトのセットアップでは、Ollamaが自分のコンピューターでモデルを実行します。有料モデルAPIへの呼び出しは送信されません。コンピューターがすべての作業を行うため、コンピューターが遅いとキャラクターも遅くなります。

クラウドモデルの場合、すべての会話の行が有料API呼び出しになります。Together AIなどのプロバイダーは、チャットモデルを100万トークンあたりで価格設定し、入力と出力で異なる価格を設定しています。キャラクターが増えたり、会話が長くなったりすると、トークンも増えます。

READMEには、使用量を抑える2つの方法が記載されています。ブラウザウィンドウが5分間アイドル状態になるとシミュレーションが一時停止します。npx convex run testing:stopでエンジンを停止し、npx convex run testing:resumeで再起動することもできます。

参考までに、Smallvilleの論文では25人のキャラクターを2ゲーム日間実行しました。これには研究者にとって数千ドルのトークンクレジットがかかりました。

バックエンド

Convexには、個人プロジェクトやプロトタイプ向けの無料プランがあります。Convexの料金ページでは、これを「Free & Starter」と呼んでいます。制限を超えて使用すると、ユニットごとに課金され、有料プランではさらに多くの機能が追加されます。Dockerを使用すると、Convexバックエンドを自分のコンピューターで実行できます。

オプションの追加機能にも費用がかかります。BGMにはReplicateを使用しており、アカウントとAPIトークンが必要です。

AI Townのデモは、今すぐブラウザでプレイできます。AIキャラクターが登場するゲームを完全に楽しむには、スターターキットではなく、完成版のゲームが必要です。

オプション概要実行方法コードは変更できますか?
AI Townデモみんなで楽しむ町ブラウザ (convex.dev/ai-town)いいえ
AI Town (あなた専用)開発者向けスターターキットPC、Docker、Convex、またはFly.ioはい、MITライセンスです
Smallville (Generative Agents)論文の研究コードPython (OpenAI APIキーが必要)はい、Apache-2.0です
LifeSim(私たちのゲーム)AIキャラクターと暮らすライフシムブラウザ、iPhoneアプリいいえ

LifeSim: AIキャラクターのいる町 (完成版)

LifeSimは、広告や課金なしで無料で遊べるゲームです。地球の3Dマップに再現された実際の都市で、一日一日を大切にしながら人生を体験します。AIキャラクターたちは、自分の言葉であなたに話しかけてきます。彼らはあなたの言葉を覚えていて、友達に話したり、あなたにメッセージを送ったりもします。

LifeSimはオープンソースではありません。ご自身でホストしたり、コードを変更したり、独自のモデルを組み込んだりすることはできません。AIの町を構築したり研究したりしたい場合は、AI Townが最適です。

その他のゲームについては、AIライフシミュレーターゲームのリストや、AIと話せるゲームのガイドをご覧ください。

AIの町を作るのではなく、AIキャラクターが住む町で暮らしたい場合は、ブラウザまたはiPhoneでLifeSimを無料でプレイしてください。

人生シミュレーションは初めてですか? 人生シミュレーションゲームとは何かを読むか、本物の地球の地図で遊べる無料のオンライン人生シミュレーションゲーム、LifeSim をプレイしてみてください。

シムズ4 データベース

ザ・シムズ4データベースで調べるか、ゲームファイルから読み取ってください: チート, 特質, キャリア, ムードレット, 死因, パック, チャレンジ, レシピ, 人気のMOD, パック検索、死亡確率計算機。

手順: ザ・シムズ4 攻略ガイド一覧。

関連記事

ライフシミュレーションゲーム