Project Planetarium — 디스코드 멀티 AI 에이전트
역할별 페르소나를 입은 디스코드 AI 에이전트 생태계 — 하나의 공통 코어 위에서.
- 역할
- 기획·개발·운영
- 기간
- 2026–
- 상태
- 운영중
- Python
- discord.py
- Gemini
- SQLite
- NSSM
문제
역할이 다른 AI 봇을 여럿 만들다 보니(데이터 파이프라인·게임 정보·인프라 제어·논문 수집) 매번 복붙 클론으로 시작했다. 봇이 늘수록 같은 코드가 조금씩 갈라지고(drift), 한 봇을 고치면 다른 봇은 낡은 채로 남았다. “페르소나는 제각각이되, 뼈대는 한 벌로”가 필요했다.
결정
- 공통 코어를 별도 패키지로 분리. 툴 레지스트리·LLM 라우팅·HITL·런타임을
agent-core한 벌로 빼고, 각 봇은 값만 채우는 어댑터(persona·도메인 툴)만 작성하게 했다. 새 봇은 복제 대신 의존성 핀. - 상시 구동은 매니저 한 겹으로. 프로세스 관리자를 이중으로 겹쳤다가 봇 간 교차오염을 겪은 뒤, Windows 서비스(NSSM)가 곧장 봇을 띄우는 단순 체인으로 정리했다.
- 결정은 그때그때 문서로. 각 봇마다 “왜 이렇게 됐는지 + 함정”을 번호 절로 쌓는 DECISION_LOG를 두어, 되돌아볼 때 이유를 복원할 수 있게 했다.
임팩트
- 네 개 이상의 봇이 하나의 코어 위에서 돌아가고, 새 봇은 “설정 + 어댑터”만으로 찍어낸다.
- 캐릭터(페르소나)와 인프라(코어)를 분리해, 브랜딩과 엔지니어링을 각자 진화시킬 수 있게 됐다.
- “여러 에이전트를 어떻게 한 시스템으로 묶나”라는, FDE·프로덕트 빌더의 핵심 질문을 몸으로 겪은 프로젝트.
코어/어댑터 분리, 교차오염 디버깅기 등은 이후 글에서 따로 풀어낼 예정입니다.