
GODS vs AGENTS 구축하기: 불확실성 속에서의 믿음을 위한 아키텍처
요약
불확실성과 믿음을 주제로 한 인터랙티브 연구 시뮬레이션 'GODS vs AGENTS'의 아키텍처를 소개합니다. 결정론적 물리 법칙과 에이전트의 주관적 추론이 결합된 독특한 게임 시스템을 설계합니다.
핵심 포인트
- 단순한 수치 증가가 아닌 인과관계와 사회적 출처를 기반으로 한 믿음 시스템 구축
- 서버는 사실만 기록하고 에이전트가 각자의 맥락에서 추론하는 비결정론적 구조
- Next.js, React, FastAPI를 활용한 웹 기반 시뮬레이션 구현
- Agno 프레임워크를 통한 독립적 에이전트 루프 설계 계획
인간을 규칙과 정해진 대화로 환원하지 않고 어떻게 종교에 관한 시뮬레이션을 만들 수 있을까? GODS vs AGENTS는 하나의 경계선에서 시작합니다: 물리학은 결정론적 (deterministic)일 수 있지만, 의미는 그럴 수 없습니다.
이 앱은 플레이어가 보이지 않는 힘이 되는 인터랙티브 연구 시뮬레이션입니다. 당신은 비를 내리게 하거나, 번개로 나무를 쪼개거나, 누군가를 치유하거나, 하늘을 어둡게 만들 수 있습니다. 당신은 그 이유를 설명할 수 없습니다. 마을은 스스로 그 작업을 수행해야 합니다.
핵심 시스템 결정
이 앱의 가장 쉬운 버전은 번개가 친 후 "신앙 +5"를 할당하는 방식일 것입니다. 그것이 바로 우리가 피하고자 하는 버전입니다. 믿음은 점수가 아닙니다; 그것은 원인, 신뢰도, 관계, 기억, 그리고 사회적 출처 (social provenance)를 가진 변화하는 주장들의 집합입니다.
동일한 번개 타격이 여러 개의 경쟁하는 이론을 만들어낼 수 있습니다. 농부는 화난 하늘의 정령을 볼 수도 있고, 치유사는 평범한 폭풍을 볼 수도 있으며, 정치적 야망이 있는 사제는 기회를 볼 수도 있습니다. 서버는 어떤 설명이 "정답"인지 선언하지 않습니다. 서버는 나무가 쪼개졌다는 사실을 기록하며, 에이전트 (agents)들은 각자의 맥락에서 추론합니다.
현재 제품 슬라이스
처음 출시된 슬라이스는 의도적으로 정직합니다: 가짜 자율성보다는 표본 세계 (specimen world)를 지향합니다. 시각 시스템은 의례 아틀라스 (ritual atlas)—삽화가 그려진 현장, 기록 노트, 그리고 징조 바퀴 (omen wheel)—로 구성됩니다. 운영 대시보드(operations dashboard)는 전제를 훼손할 것이기 때문입니다. 플레이어는 스프레드시트를 관리하는 것이 아니라, 알 수 없는 힘의 결과를 관찰하도록 설계되었습니다.
웹 앱은 Next.js, React, TypeScript, CSS, 그리고 Framer Motion으로 구축되었습니다. 작은 FastAPI 서비스는 결정론적 세계 계약 (deterministic world contract)을 모델링합니다.
@app.post("/miracles", response_model=WorldState)
async def invoke(command: Invoke):
effects = {
...
프론트엔드는 자격 증명(credentials)을 수신하거나 저장하지 않습니다. "마음을 기다리는 인지 (cognition awaiting a mind)" 상태는 단순한 온보딩 상태가 아니라 제품 요구 사항입니다. 모델이 없다면 사용자는 표본(specimen)을 탐색하고 시각적 효과를 트리거할 수는 있지만, 누군가가 새로운 무언가를 생각했다고 주장할 수는 없습니다.
계획된 에이전트 루프 (The planned agent loop)
Agno는 모든 시민(citizen)을 프로바이더 추상화(provider abstraction)를 가진 독립적으로 구성된 에이전트로 모델링할 수 있기 때문에 자연스럽게 적합합니다. 프로덕션 액션은 작고 관찰 가능해야 합니다:
async def interpret(citizen, event):
memories = await memory.search(citizen.id, event.embedding, limit=6)
response = await citizen.agent.arun(
...
핵심적인 최적화 요소는 메모리 검색(memory retrieval)입니다. 전체 이력을 가진 40개의 에이전트는 느리고 비용이 많이 들며 일관성이 없을 것입니다. 구조화된 메모리(structured memories)와 LLM 요약본을 저장하고, 가장 관련성이 높은 몇 가지 항목만 검색하며, 오래된 자료는 주기적으로 압축해야 합니다. 믿음 그래프(belief graph)는 출처(provenance)를 보존해야 합니다: "Mara는 Y를 보고 나중에 Oren으로부터 Z를 들었기 때문에 X를 믿는다."
프로바이더 중립적 아키텍처 (A provider-neutral architecture)
프로바이더 설정은 서버 측에 유지되며 호스팅된 추론(hosted inference) 또는 로컬 추론(local inference)을 모두 지원합니다. 클라우드 키가 없는 사용자도 OpenAI 호환 베이스 URL(base URL)을 통해 Ollama 또는 LM Studio를 사용할 수 있습니다. 시스템의 나머지 부분은 generate()와 같은 인터페이스나 Agno 모델 객체에 대해서만 알아야 하며, 프로바이더가 OpenAI인지, Anthropic인지, 아니면 노트북 로컬 모델인지는 알 필요가 없습니다.

기여자가 도울 수 있는 부분
가장 권장되는 다음 기여는 구조적인 부분입니다: SQLite 저장소(repositories), 버전 관리되는 믿음 그래프(versioned belief graph), Agno 프로바이더 어댑터(provider adapters), 그리고 WebSocket 이벤트 스트림(event stream)입니다. 창의적인 기여 또한 핵심 규칙을 준수한다면 똑같이 환영받습니다: 기적은 세상을 바꾸고, 에이전트는 그 설명을 만들어낸다.
그러한 분리는 이 프로젝트를 단순한 시뮬레이션 그 이상으로 만드는 요소입니다. 이는 인과관계 (causality)가 문화가 되는 과정을 관찰하기 위한 도구입니다.
코드 및 상세 정보: https://www.dailybuild.xyz/project/214-gods-vs-agents
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기