Gra AI Town: co to jest i jak ją uruchomić

Gra AI Town od a16z i Convex: czym jest, artykuł Stanford Smallville, który za nią stoi, jak zagrać w demo lub uruchomić ją samodzielnie i ile kosztuje.

AI Town to małe miasteczko w stylu pixel-art, w którym postacie AI żyją, rozmawiają i nawiązują przyjaźnie samodzielnie. Ty głównie obserwujesz. Jest to również darmowy, otwarty kod źródłowy, który deweloperzy kopiują i zmieniają, aby stworzyć własną grę AI town.

Plik README na GitHubie nazywa to „zestawem startowym do łatwego budowania i dostosowywania własnej wersji AI town”. Zatem AI Town to dwie rzeczy. To demo, które można otworzyć w przeglądarce. To także baza kodu dla deweloperów.

Każda postać AI ma imię, krótką historię i sprite'a. Model językowy pisze, co mówi każda postać. Postacie chodzą po mapie, rozpoczynają rozmowy i pamiętają wcześniejsze rozmowy. Kod pozwala również człowiekowi dołączyć do miasta i rozmawiać z postaciami.

AI Town to nie jest ukończona gra z celami, poziomami czy historią do ukończenia. To piaskownica do obserwowania i rozbudowywania. Aby poznać ukończone gry z ludźmi AI, przeczytaj nasz przewodnik po grach AI.

Czytasz to na blogu LifeSim. Tworzymy LifeSim, inną grę z ludźmi AI. Mówimy, gdzie pasuje pod koniec, a gdzie nie.

Zespół z a16z (Andreessen Horowitz) i Convex stworzył AI Town w 2023 roku. Kod znajduje się na GitHubie pod kontem a16z-infra, a Convex obsługuje backend.

Podcast Cognitive Revolution rozmawiał z zespołem we wrześniu 2023 roku. W tym odcinku Yoko Li, partnerka w a16z, rozpoczęła projekt. Martin Casado, partner generalny w a16z, nazwał to „właściwie projektem hobbystycznym Yoko”. James Cowling, CTO Convex, pomógł go zbudować. Deweloper Convex stworzył silnik gry na serwerze.

Pomysł pochodził z wcześniejszej aplikacji towarzyszącej Yoko Li. Ta aplikacja dała jednej postaci AI pamięć i osobowość. Ludzie pytali wtedy, co się dzieje, gdy spotyka się wiele postaci AI. AI Town było odpowiedzią.

Co Convex robi w AI Town?

Convex to silnik gry, baza danych i wyszukiwanie wektorowe, jak mówi README. Convex utrzymuje stan miasta i uruchamia symulację. Wyszukiwanie wektorowe znajduje stare wspomnienia, które pasują do bieżącej rozmowy.

README wymienia również resztę stosu. PixiJS rysuje miasto. Ollama uruchamia domyślny model czatu, llama3, na twoim własnym komputerze. Logowanie Clerk jest opcjonalne.

Czy AI Town jest open source?

Tak. Plik licencji w repozytorium to licencja MIT, z linią „Copyright (c) 2023 a16z-infra”. Możesz kopiować, zmieniać i sprzedawać kod. Zachowaj tekst licencji w swojej kopii.

Tak. README mówi, że AI Town jest „inspirowane” artykułem „Generative Agents: Interactive Simulacra of Human Behavior”. Ten artykuł umieścił 25 postaci AI w małym miasteczku o nazwie Smallville.

Joon Sung Park i pięciu innych badaczy napisało ten artykuł. Czterech z nich było z Uniwersytetu Stanforda. Pozostałych dwóch było z Google Research i Google DeepMind. Pierwszą wersję umieścili na arXiv 7 kwietnia 2023 roku, a poprawioną wersję 6 sierpnia 2023 roku.

Co wydarzyło się w Smallville?

Artykuł nazywa Smallville „interaktywnym środowiskiem piaskownicy inspirowanym The Sims”. Osoba dała jednej postaci jeden pomysł: zorganizować przyjęcie walentynkowe. Postacie następnie rozesłały zaproszenia, nawiązały nowe znajomości, zapraszały się nawzajem na randki i przyszły razem na przyjęcie.

Nikt nie napisał tego planu. Postacie stworzyły go z trzech części, które artykuł dodaje do modelu językowego:

  • Pamięć. Pełny zapis tego, co każda postać widziała i robiła, w zwykłym tekście.
  • Refleksja. Z czasem postać przekształca wiele wspomnień w kilka ogólnych idei o sobie i innych.
  • Planowanie. Postać znajduje odpowiednie wspomnienia i wykorzystuje je do podjęcia decyzji, co zrobić dalej.

Badacze uruchomili 25 postaci na dwa pełne dni gry. Artykuł mówi, że zajęło to „tysiące dolarów w kredytach tokenów” i „wiele dni na ukończenie”.

Czym AI Town różni się od kodu z artykułu?

Kod Smallville również znajduje się na GitHubie, pod adresem joonspk-research/generative_agents, z licencją Apache-2.0. Jest napisany w Pythonie i wymaga klucza API OpenAI. Jego README ostrzega, że uruchomienia mogą kosztować dużo.

AI Town to nowa baza kodu w JavaScript i TypeScript. README mówi, że jest to celowe, ponieważ większość narzędzi tego typu jest w Pythonie. AI Town dodaje również backend dla wielu graczy i domyślny model, który działa na twoim własnym komputerze.

Aby dowiedzieć się więcej o tym, jak działają postacie w grach, które myślą samodzielnie, przeczytaj co oznacza NPC.

Tak. Demo na żywo znajduje się pod adresem convex.dev/ai-town i załadowało się, gdy sprawdzaliśmy w listopadzie 2026 roku. Możesz oglądać bez konta. Aby dołączyć do miasta, logujesz się.

Tekst pomocy w kodzie AI Town wyjaśnia, co możesz zrobić:

  • Obserwuj. „Kliknij i przeciągnij, aby poruszać się po mieście, i przewijaj w górę i w dół, aby powiększać i pomniejszać.” Kliknij postać, aby przeczytać jej historię czatu.
  • Dołącz. Zaloguj się i kliknij przycisk Interakcja. Twoja postać pojawi się na mapie z podświetlonym okręgiem pod nią.
  • Rozmawiaj. Kliknij postać, a następnie kliknij „Rozpocznij rozmowę”. Postać podejdzie do ciebie, a następnie rozmawiacie. Postacie mogą również poprosić cię o rozmowę.

Demo ma ograniczenia. Tekst pomocy mówi, że miasto przyjmuje tylko określoną liczbę ludzi jednocześnie. Jeśli nic nie zrobisz przez pięć minut, gra cię usunie.

Aktualizacja v2 na blogu Convex dodała więcej do dema. Możesz zapraszać pobliskie postacie do czatu, a one mogą zapraszać ciebie. Plotki również przenoszą się z jednej postaci na drugą i wracają w późniejszych rozmowach.

Czy możesz zmienić miasto demo?

Nie. Demo to wspólne miasto, które prowadzi Convex. Aby zmienić postacie, mapę lub model AI, uruchamiasz własną kopię. Następna sekcja powie ci, jak to zrobić.

Klonujesz repozytorium, instalujesz je, uruchamiasz i łączysz model językowy. README podaje cztery sposoby uruchomienia. To jest krótka wersja. Postępuj zgodnie z README, aby uzyskać pełne kroki.

  • Standardowa konfiguracja. Rozwijasz na swoim komputerze lub w chmurze z darmowym kontem Convex. README nazywa to najłatwiejszym sposobem.
  • Docker Compose. Uruchamiasz backend, frontend i pulpit nawigacyjny w Dockerze. Nie potrzebujesz konta Convex.
  • Pinokio. Rozwidlenie społeczności oferuje instalację jednym kliknięciem. README mówi, że jest to dla osób, które chcą uruchomić AI Town, ale nie chcą go zmieniać.
  • Fly.io. Umieszczasz aplikację na Fly.io. Repozytorium ma folder fly z krokami.

Krok 1: Zbuduj i uruchom aplikację

Dla standardowej konfiguracji, README podaje następujące polecenia:

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

Instalacja prosi o zalogowanie się do Convex. Następnie uruchom aplikację za pomocą npm run dev i otwórz http://localhost:5173.

Dla Dockera, README zaczyna się od docker compose up --build -d. Następnie mówi, aby utworzyć klucz administratora, dodać go do pliku .env.local i uruchomić npm run predev. Frontend działa na porcie 5173.

Na Windowsie, README mówi, aby najpierw zainstalować WSL2 z Ubuntu i Node.js 18. Jeśli otrzymasz błąd wersji Node.js, README mówi, aby użyć wersji 18.

Krok 2: Podłącz model językowy

Domyślnie AI Town używa Ollamy do uruchamiania modelu na twoim własnym komputerze. README podaje następujące kroki:

  1. Pobierz i zainstaluj Ollamę.
  2. Otwórz aplikację Ollama lub uruchom ollama serve w terminalu.
  3. Uruchom ollama pull llama3, aby pobrać model.
  4. Przetestuj go za pomocą ollama run llama3.

Możesz zamiast tego użyć OpenAI, Together.ai lub innego API, które działa jak API OpenAI. Dla każdego z nich zmieniasz jedną linię w convex/util/llm.ts i ustawiasz swój klucz API za pomocą npx convex env set.

Jeśli później zmienisz dostawcę modelu lub model osadzania, usuń swoje dane i zacznij od nowa. README mówi, że wyszukiwanie pamięci musi pasować do modelu osadzania.

Krok 3: Stwórz własne miasto

Wszystkie postacie i ich historie znajdziesz w data/characters.ts. Możesz stworzyć nową mapę w edytorze Tiled i przekonwertować ją skryptem z repozytorium. Po zmianie postaci plik README zaleca wyczyszczenie tabel za pomocą npx convex run testing:wipeAllTables i ponowne uruchomienie npm run dev. To polecenie usuwa wszystkie Twoje dane.

Kod jest darmowy. Koszty zależą od tego, gdzie działa model językowy i backend.

Model językowy

W domyślnej konfiguracji Ollama uruchamia model na Twoim komputerze. Nie wysyłasz żadnych zapytań do płatnego API modelu. Całą pracę wykonuje Twój komputer, więc wolniejszy sprzęt oznacza wolniejsze postacie.

W przypadku modelu chmurowego każda linia dialogu to płatne wywołanie API. Dostawcy tacy jak Together AI wyceniają modele czatu za milion tokenów, z osobną ceną za wejście i wyjście. Więcej postaci i dłuższe rozmowy generują więcej tokenów.

Plik README podaje dwa sposoby na ograniczenie zużycia. Symulacja pauzuje, gdy okno przeglądarki jest nieaktywne przez pięć minut. Możesz też zatrzymać silnik za pomocą npx convex run testing:stop i uruchomić go ponownie za pomocą npx convex run testing:resume.

Dla porównania, w artykule Smallville uruchomiono 25 postaci przez dwa dni gry. Kosztowało to badaczy tysiące dolarów w kredytach tokenów.

Backend

Convex oferuje darmowy plan dla projektów osobistych i prototypów. Strona cenowa Convex nazywa go „Free & Starter”. Użycie powyżej limitów jest rozliczane za jednostkę, a płatne plany oferują więcej. Z Dockerem uruchamiasz backend Convex na swoim komputerze.

Opcjonalne dodatki również kosztują. Muzyka w tle korzysta z Replicate, co wymaga konta i tokena API.

W demo AI Town możesz zagrać w przeglądarce już dziś. Do pełnej gry z postaciami AI potrzebujesz ukończonej gry, a nie zestawu startowego.

OpcjaCzym jestSposób uruchomieniaCzy możesz zmienić kod?
Demo AI TownWspólne miasto do oglądania lub dołączeniaPrzeglądarka, na convex.dev/ai-townNie
AI Town, Twoja własna kopiaZestaw startowy dla deweloperówTwój komputer, Docker, Convex lub Fly.ioTak, licencja MIT
Smallville (Agenci Generatywni)Kod badawczy z artykułuPython, z kluczem API OpenAITak, Apache-2.0
LifeSim (nasza gra)Ukończony symulator życia z postaciami AIPrzeglądarka, aplikacja na iPhone'aNie

LifeSim: ukończone miasto ludzi AI

LifeSim to nasza darmowa gra, bez reklam i mikropłatności. Żyjesz jednym życiem, dzień po dniu, w prawdziwym mieście na mapie Ziemi 3D. Ludzie AI odpowiadają własnymi słowami. Pamiętają, co powiedziałeś i opowiadają o tym swoim znajomym. Wysyłają Ci również wiadomości tekstowe.

LifeSim nie jest open source. Nie możesz go hostować samodzielnie, zmieniać jego kodu ani używać własnego modelu. Jeśli chcesz zbudować lub badać miasto AI, AI Town jest właściwym wyborem.

Aby znaleźć więcej gier, przeczytaj naszą listę gier symulacyjnych życia AI i nasz przewodnik po grach, w których możesz rozmawiać z AI.

Jeśli wolisz mieszkać w mieście ludzi AI zamiast je budować, zagraj w LifeSim za darmo w przeglądarce lub na iPhonie.

Dopiero zaczynasz z symulatorami życia? Przeczytaj, co to jest symulator życia, lub zagraj w LifeSim, darmowy symulator życia online na prawdziwej mapie świata.

Baza danych The Sims 4

Sprawdź w bazie danych The Sims 4, odczytaj z plików gry: kody, cechy, kariery, nastrójniki, śmierci, pakiety, wyzwania, przepisy, popularne mody, wyszukiwarka pakietóworaz kalkulator szans na śmierć.

Krok po kroku: wszystkie poradniki The Sims 4.

Powiązane artykuły

Symulatory życia