Игра AI Town: что это и как её запустить

Игра AI Town от a16z и Convex: что это, статья Стэнфордского университета Smallville, лежащая в её основе, как сыграть в демоверсию или запустить её самостоятельно, и сколько это стоит.

AI Town — это небольшой пиксельный городок, где ИИ-персонажи живут, общаются и заводят друзей самостоятельно. Вы в основном наблюдаете. Это также бесплатный код с открытым исходным кодом, который разработчики копируют и изменяют для создания своей собственной игры AI Town.

В README на GitHub это называется «развёртываемый стартовый набор для лёгкого создания и настройки вашей собственной версии AI Town». Таким образом, AI Town — это две вещи. Это демоверсия, которую можно открыть в браузере. Это также кодовая база для разработчиков.

У каждого ИИ-персонажа есть имя, короткая история и спрайт. Языковая модель пишет то, что говорит каждый персонаж. Персонажи ходят по карте, начинают разговоры и помнят предыдущие беседы. Код также позволяет человеку присоединиться к городу и общаться с персонажами.

AI Town — это не законченная игра с целями, уровнями или сюжетом, который нужно пройти. Это песочница для наблюдения и развития. Для законченных игр с ИИ-персонажами прочитайте наше руководство по играм с ИИ.

Вы читаете это в блоге LifeSim. Мы создаём LifeSim, другую игру с ИИ-персонажами. Мы расскажем, где она подходит, а где нет, ближе к концу.

Команда из a16z (Andreessen Horowitz) и Convex создала AI Town в 2023 году. Код находится на GitHub под учётной записью a16z-infra, а Convex управляет бэкендом.

Подкаст The Cognitive Revolution поговорил с командой в сентябре 2023 года. В этом эпизоде Йоко Ли, партнёр a16z, запустила проект. Мартин Касадо, генеральный партнёр a16z, назвал его «на самом деле хобби-проектом Йоко». Джеймс Коулинг, технический директор Convex, помог его создать. Разработчик Convex создал игровой движок на сервере.

Идея пришла из более раннего сопутствующего приложения Йоко Ли. Это приложение давало одному ИИ-персонажу память и личность. Затем люди спрашивали, что происходит, когда встречаются много ИИ-персонажей. AI Town был ответом.

Что делает Convex в AI Town?

Convex — это игровой движок, база данных и векторный поиск, говорится в README. 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 ИИ-персонажей были помещены в небольшой городок под названием Смоллвилл.

Джун Сунг Парк и пять других исследователей написали эту статью. Четверо из них были из Стэнфордского университета. Остальные двое были из Google Research и Google DeepMind. Они опубликовали первую версию на arXiv 7 апреля 2023 года, а пересмотренную версию — 6 августа 2023 года.

Что произошло в Смоллвилле?

В статье Смоллвилл назван «интерактивной песочницей, вдохновлённой The Sims». Человек дал одному персонажу одну идею: устроить вечеринку в честь Дня святого Валентина. Затем персонажи распространили приглашения, завели новых друзей, пригласили друг друга на свидания и пришли на вечеринку вместе.

Никто не писал этот план. Персонажи создали его из трёх частей, которые статья добавляет к языковой модели:

  • Память. Полная запись того, что каждый персонаж видел и делал, в виде простого текста.
  • Размышление. Со временем персонаж превращает множество воспоминаний в несколько общих идей о себе и других.
  • Планирование. Персонаж находит нужные воспоминания и использует их, чтобы решить, что делать дальше.

Исследователи запустили 25 персонажей на два полных игровых дня. В статье говорится, что это заняло «тысячи долларов в токенах» и «несколько дней для завершения».

Чем 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 года. Вы можете смотреть без учётной записи. Чтобы присоединиться к городу, вам нужно войти.

Справочный текст в коде AI Town объясняет, что вы можете делать:

  • Смотреть. «Нажмите и перетащите, чтобы перемещаться по городу, и прокрутите вверх и вниз, чтобы увеличить или уменьшить масштаб». Нажмите на персонажа, чтобы прочитать его историю чата.
  • Присоединиться. Войдите и нажмите кнопку «Взаимодействовать». Ваш персонаж появится на карте с выделенным кругом под ним.
  • Разговаривать. Нажмите на персонажа, затем нажмите «Начать разговор». Персонаж подойдёт к вам, и вы сможете поговорить. Персонажи также могут попросить вас поговорить.

У демонстрации есть ограничения. В справочном тексте говорится, что город принимает только определённое количество людей одновременно. Если вы ничего не делаете в течение пяти минут, игра удаляет вас.

Обновление v2 в блоге Convex добавило больше возможностей в демоверсию. Вы можете приглашать ближайших персонажей пообщаться, и они могут приглашать вас. Слухи также передаются от одного персонажа к другому и возвращаются в последующих разговорах.

Можно ли изменить демо-город?

Нет. Демоверсия — это общий город, которым управляет Convex. Чтобы изменить персонажей, карту или модель ИИ, вы запускаете свою собственную копию. В следующем разделе рассказывается, как это сделать.

Вы клонируете репозиторий, устанавливаете его, запускаете и подключаете языковую модель. В README описаны четыре способа запуска. Это краткая версия. Следуйте 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.

Шаг 2: Подключение языковой модели

По умолчанию AI Town использует Ollama для запуска модели на твоем компьютере. В README описаны следующие шаги:

  1. Скачай и установи Ollama.
  2. Открой приложение Ollama или запусти ollama serve в терминале.
  3. Запусти ollama pull llama3, чтобы скачать модель.
  4. Проверь её с помощью ollama run llama3.

Вместо этого можно использовать OpenAI, Together.ai или другой API, совместимый с OpenAI API. Для каждого из них нужно изменить одну строку в convex/util/llm.ts и установить ключ API с помощью npx convex env set.

Если позже изменишь поставщика модели или модель встраивания, удали данные и начни заново. В README указано, что поиск по памяти должен соответствовать модели встраивания.

Шаг 3: Настрой город под себя

Все персонажи и их истории находятся в data/characters.ts. Ты можешь создать новую карту в редакторе Tiled и преобразовать её с помощью скрипта из репозитория. После изменения персонажей README рекомендует очистить таблицы с помощью npx convex run testing:wipeAllTables и снова запустить npm run dev. Эта команда удаляет все твои данные.

Код бесплатный. Стоимость зависит от того, где работают языковая модель и бэкенд.

Языковая модель

При стандартной настройке Ollama запускает модель на твоем компьютере. Ты не отправляешь платные вызовы к API модели. Всю работу выполняет твой компьютер, поэтому медленный компьютер замедляет персонажей.

При использовании облачной модели каждая строка разговора — это платный вызов API. Провайдеры, такие как Together AI, оценивают чат-модели за миллион токенов, с отдельной ценой за ввод и вывод. Больше персонажей и долгие разговоры создают больше токенов.

В README описаны два способа снизить использование. Симуляция приостанавливается, если окно браузера бездействует пять минут. Также можно остановить движок с помощью npx convex run testing:stop и запустить снова с помощью npx convex run testing:resume.

Для примера: в статье Smallville 25 персонажей работали два игровых дня. Это стоило исследователям тысячи долларов в виде токенов.

Бэкенд

У Convex есть бесплатный план для личных проектов и прототипов. На странице цен Convex он называется «Free & Starter». Использование сверх лимитов оплачивается за единицу, а платные планы предлагают больше возможностей. С Docker ты запускаешь бэкенд Convex на своем компьютере.

Дополнительные опции тоже стоят денег. Фоновая музыка использует Replicate, для которого нужны аккаунт и токен API.

Ты можешь сыграть в демоверсию AI Town в браузере уже сегодня. Для полноценной игры с ИИ-персонажами тебе нужна законченная игра, а не стартовый набор.

ВариантЧто этоКак запуститьМожно ли изменить код?
Демо AI TownОбщий город для просмотра или участияБраузер, на convex.dev/ai-townНет
AI Town, твоя собственная копияСтартовый набор для разработчиковТвой компьютер, Docker, Convex или Fly.ioДа, лицензия MIT
Smallville (Генеративные агенты)Исследовательский код из статьиPython, с ключом OpenAI APIДа, Apache-2.0
LifeSim (наша игра)Завершенный симулятор жизни с ИИ-персонажамиБраузер, приложение для iPhoneНет

LifeSim: город ИИ-людей, завершено

LifeSim — наша игра, и она бесплатна, без рекламы и покупок. Ты проживаешь одну жизнь, день за днем, в реальном городе на 3D-карте Земли. ИИ-люди отвечают своими словами. Они помнят, что ты сказал, и рассказывают своим друзьям. Они также пишут тебе сообщения.

LifeSim не является открытым исходным кодом. Ты не можешь размещать его самостоятельно, изменять его код или вставлять свою собственную модель. Если ты хочешь создать или изучить город ИИ, AI Town — правильный выбор.

Чтобы узнать о других играх, прочитай наш список игр-симуляторов жизни с ИИ и наше руководство по играм, где можно общаться с ИИ.

Если ты хочешь жить в городе ИИ-людей вместо того, чтобы строить его, играй в LifeSim бесплатно в браузере или на iPhone.

Впервые в симуляторах жизни? Прочтите, что такое симулятор жизни, или сыграйте в LifeSim — бесплатный онлайн-симулятор жизни на реальной карте Земли.

База данных Sims 4

Посмотри в базе данных Sims 4, прочитай из файлов игры: читы, черты характера, карьеры, мудлеты, смерти, наборы, испытания, рецепты, популярные моды, поиск наборов, и калькулятор шансов смерти.

Пошагово: все руководства по The Sims 4.

Похожие статьи

Симуляторы жизни