AI 타운 게임: 무엇이며 어떻게 실행하는가

a16z와 Convex의 AI 타운 게임: 무엇인지, 그 뒤에 있는 스탠포드 스몰빌 논문, 데모를 플레이하거나 직접 실행하는 방법, 그리고 비용은 얼마인지.

AI Town은 AI 캐릭터들이 스스로 살고, 대화하고, 친구를 사귀는 작은 픽셀 아트 마을입니다. 주로 관찰하게 되죠. 또한 개발자들이 자신만의 AI 마을 게임을 만들기 위해 복사하고 변경하는 무료 오픈 소스 코드이기도 합니다.

GitHub README에서는 이를 “자신만의 AI 마을 버전을 쉽게 구축하고 맞춤 설정할 수 있는 배포 가능한 스타터 키트”라고 설명합니다. 즉, AI Town은 두 가지 의미를 가집니다. 브라우저에서 열 수 있는 데모이자, 개발자를 위한 코드 베이스입니다.

각 AI 캐릭터는 이름, 짧은 이야기, 스프라이트를 가지고 있습니다. 언어 모델이 각 캐릭터의 대사를 작성하죠. 캐릭터들은 지도를 돌아다니며 대화를 시작하고 이전 대화를 기억합니다. 이 코드는 또한 사람이 마을에 참여하여 캐릭터들과 대화할 수 있도록 합니다.

AI Town은 목표, 레벨 또는 완료해야 할 스토리가 있는 완성된 게임이 아닙니다. 관찰하고 구축할 수 있는 샌드박스입니다. AI 캐릭터가 등장하는 완성된 게임에 대해서는 AI 게임 가이드를 읽어보세요.

이 글은 LifeSim 블로그에서 읽으셨습니다. 저희는 AI 캐릭터가 등장하는 다른 게임인 LifeSim을 만듭니다. 이 게임이 어디에 적합하고 어디에 적합하지 않은지 끝부분에서 설명합니다.

a16z(Andreessen Horowitz)와 Convex 팀이 2023년에 AI Town을 만들었습니다. 코드는 a16z-infra 계정으로 GitHub에 있으며, Convex가 백엔드를 운영합니다.

Cognitive Revolution 팟캐스트는 2023년 9월에 팀과 이야기를 나눴습니다. 그 에피소드에서 a16z의 파트너인 Yoko Li가 프로젝트를 시작했습니다. a16z의 제너럴 파트너인 Martin Casado는 이를 “사실 Yoko의 취미 프로젝트”라고 불렀습니다. Convex의 CTO인 James Cowling이 구축을 도왔습니다. Convex 개발자가 서버에서 게임 엔진을 만들었습니다.

이 아이디어는 Yoko Li의 이전 동반 앱에서 나왔습니다. 그 앱은 하나의 AI 캐릭터에게 기억과 성격을 부여했습니다. 사람들은 많은 AI 캐릭터가 만났을 때 무슨 일이 일어나는지 물었고, AI Town이 그 답이었습니다.

Convex는 AI Town에서 무엇을 하나요?

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에서 영감을 받은 인터랙티브 샌드박스 환경”이라고 부릅니다. 한 사람이 한 캐릭터에게 발렌타인 데이 파티를 열라는 단 하나의 아이디어를 주었습니다. 그러자 캐릭터들은 초대장을 퍼뜨리고, 새로운 친구를 사귀고, 서로 데이트를 신청하고, 함께 파티에 왔습니다.

아무도 그 계획을 작성하지 않았습니다. 캐릭터들은 논문이 언어 모델에 추가한 세 가지 부분으로 그것을 만들었습니다.

  • 기억. 각 캐릭터가 보고 행한 모든 기록을 일반 텍스트로.
  • 반성. 시간이 지남에 따라 캐릭터는 많은 기억을 자신과 타인에 대한 몇 가지 일반적인 아이디어로 바꿉니다.
  • 계획. 캐릭터는 적절한 기억을 찾아 다음 행동을 결정하는 데 사용합니다.

연구원들은 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 코드의 도움말 텍스트는 할 수 있는 일을 설명합니다.

  • 관찰. “클릭하고 드래그하여 마을을 이동하고, 스크롤하여 확대/축소합니다.” 캐릭터를 클릭하여 채팅 기록을 읽습니다.
  • 참여. 로그인하고 상호작용 버튼을 클릭합니다. 캐릭터가 지도에 나타나고 아래에 강조된 원이 표시됩니다.
  • 대화. 캐릭터를 클릭한 다음 “대화 시작”을 클릭합니다. 캐릭터가 당신에게 걸어와서 대화합니다. 캐릭터가 당신에게 대화를 요청할 수도 있습니다.

데모에는 제한이 있습니다. 도움말 텍스트에 따르면 마을은 한 번에 정해진 수의 인간만 수용합니다. 5분 동안 아무것도 하지 않으면 게임에서 제거됩니다.

Convex 블로그의 v2 업데이트는 데모에 더 많은 기능을 추가했습니다. 근처 캐릭터를 채팅에 초대할 수 있고, 그들도 당신을 초대할 수 있습니다. 소문도 한 캐릭터에서 다음 캐릭터로 이동하고 나중에 대화에서 다시 나타납니다.

데모 마을을 변경할 수 있나요?

아니요. 데모는 Convex가 운영하는 공유 마을입니다. 캐릭터, 지도 또는 AI 모델을 변경하려면 자신만의 복사본을 실행해야 합니다. 다음 섹션에서 방법을 알려드립니다.

저장소를 복제하고, 설치하고, 시작하고, 언어 모델을 연결합니다. 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가 먼저 Ubuntu 및 Node.js 18과 함께 WSL2를 설치하라고 알려줍니다. Node.js 버전 오류가 발생하면 README는 버전 18을 사용하라고 말합니다.

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를 사용할 수 있습니다. 각 API에 대해 convex/util/llm.ts에서 한 줄을 변경하고 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와 같은 공급자는 채팅 모델을 백만 토큰당 가격을 책정하며, 입력과 출력에 대해 다른 가격을 책정합니다. 더 많은 캐릭터와 더 긴 대화는 더 많은 토큰을 만듭니다.

README는 사용량을 줄이는 두 가지 방법을 제공합니다. 브라우저 창이 5분 동안 유휴 상태이면 시뮬레이션이 일시 중지됩니다. 또한 npx convex run testing:stop으로 엔진을 중지하고 npx convex run testing:resume으로 다시 시작할 수 있습니다.

참고로 Smallville 논문은 25명의 캐릭터를 2게임 일 동안 실행했습니다. 이는 연구원들에게 수천 달러의 토큰 크레딧이 들었습니다.

백엔드

Convex는 개인 프로젝트 및 프로토타입을 위한 무료 플랜을 제공합니다. Convex 가격 책정 페이지에서는 이를 “무료 및 스타터”라고 부릅니다. 제한을 초과하는 사용량은 단위당 청구되며, 유료 플랜은 더 많은 기능을 추가합니다. Docker를 사용하면 사용자 컴퓨터에서 Convex 백엔드를 실행합니다.

선택적 추가 기능도 비용이 듭니다. 배경 음악은 Replicate를 사용하며, 계정과 API 토큰이 필요합니다.

AI Town 데모는 지금 브라우저에서 플레이할 수 있습니다. AI 캐릭터가 등장하는 정식 게임을 원한다면 스타터 키트가 아닌 완성된 게임이 필요합니다.

옵션게임 소개실행 방법코드 변경 가능 여부
AI Town 데모함께 보고 참여할 수 있는 공유 마을브라우저, convex.dev/ai-town아니요
AI Town, 나만의 복사본개발자를 위한 스타터 키트내 컴퓨터, Docker, Convex 또는 Fly.io네, MIT 라이선스
Smallville (생성형 에이전트)논문의 연구 코드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 데이터베이스에서 찾아보고 게임 파일에서 읽어보세요: 치트, 특성, 직업, 무들렛, 죽음, 팩, 챌린지, 레시피, 인기 모드, 팩 찾기, 그리고 사망 확률 계산기.

단계별 가이드: 모든 심즈 4 가이드.

관련 글

인생 시뮬레이션 게임