← 포트폴리오로 돌아가기Active

Web & AI Lab

AI Micro Town — 브라우저 자율 마을 시뮬레이션

AI 주민들이 브라우저 안에서 자율적으로 생활하는 시뮬레이션 실험. C++ ECS 엔진을 WebAssembly로 컴파일하고, 로컬 LLM으로 서버 추론 비용 없이 주민 행동을 생성합니다.

C++ ECS → Wasm브라우저 내 로컬 LLMWebGL 렌더링

AI Micro Town — 브라우저 자율 마을 시뮬레이션 상세 설계서

상태: CURATED · ACTIVE (엔진 코어 구현 · 브라우저 실험 검증 전) 기술 스택: C++ (ECS), Emscripten/WebAssembly, Wllama(Llama.cpp Wasm), WebGL, TypeScript, Vite 카테고리: Web & AI Lab


1. 문제와 대상 사용자

에이전트 시뮬레이션은 보통 주민 수가 늘어날수록 서버 추론 비용이 함께 늘어나, 개인 개발자가 지속적으로 운영하기 어렵습니다. AI Micro Town은 연산과 추론을 모두 사용자 기기로 옮기면 어디까지 가능한지를 확인하는 기술 실험입니다. 대상은 관찰형 시뮬레이션을 좋아하는 사용자와, 브라우저 내 로컬 추론의 실제 한계를 알고 싶은 개발자입니다.

2. 핵심 구조

계층설명
ECS 코어주민·사물·환경을 Entity/Component/System으로 분리한 C++ 시뮬레이션 루프
로컬 LLM주민 성격과 단기 기억을 프롬프트로 변환해 브라우저 안에서 대사·행동을 생성
렌더러ECS가 계산한 상태를 WebGL로 매핑

3. 기술 선택 이유

  • C++ + Data-Oriented Design: 메모리 레이아웃을 직접 제어해 다수 개체를 한 프레임 안에 갱신하기 위해 선택했습니다.
  • WebAssembly: 설치 없이 브라우저에서 네이티브에 가까운 속도로 시뮬레이션을 돌리기 위한 배포 수단입니다.
  • 로컬 LLM(경량 모델): 서버 추론 비용을 0으로 두고, 사용자 데이터를 외부로 보내지 않기 위한 선택입니다.

4. 현재 범위

  • 엔진 코어(entity manager, systems, world, Wasm 바인딩)와 웹 프런트엔드 골격이 구현되어 있습니다.
  • 브라우저 공개 실험은 아직 제공하지 않습니다. 이 카드는 구조 기록을 우선 제공합니다.

5. 알려진 한계

  • 로컬 LLM은 경량 모델 가중치를 최초 진입 시 내려받아야 하며, 기기 성능에 따라 응답 지연이 크게 달라집니다.
  • 멀티스레드 Wasm은 크로스오리진 격리(COOP/COEP) 헤더가 필요해 배포 환경 제약을 받습니다.
  • 저사양 기기와 일부 모바일 브라우저에서는 목표 프레임을 유지하지 못할 수 있습니다.

6. 다음 검증

  • 대상 브라우저·기기별 WebAssembly 및 모델 호환성 측정
  • 호환성 확인 후에만 제한된 브라우저 실험을 공개하고, 미지원 환경에는 요구사항을 먼저 노출