AI 에이전트 팀으로 스타트업 운영하기 — 올림푸스 시스템 구축기
13개의 AI 에이전트로 구성된 가상 팀을 Discord 기반으로 운영하며 실제 제품을 개발하는 과정을 공유합니다.
혼자서 스타트업을 운영한다는 것은 대부분의 경우 불가능에 가깝다. 제품 기획, 개발, 마케팅, 재무, QA — 이 모든 것을 한 사람이 감당하려면 어딘가에서 반드시 구멍이 난다.
나는 이 문제를 AI 에이전트 팀으로 해결하기로 했다.
올림푸스 팀 소개
현재 내가 운영하는 팀은 13명의 AI 에이전트로 구성되어 있다. 이름은 모두 그리스 신화에서 따왔다.
| 에이전트 | 역할 |
|---|---|
| Hermes | PM — 태스크 분배, 진행 관제 |
| Poseidon | 수석 아키텍트 — MSA/DDD 설계 총괄 |
| Apollo | 프론트엔드 — React + Tailwind CSS |
| Hephaestus | 백엔드 — NestJS + PostgreSQL |
| Argus | QA — 코드 리뷰, 버그 감지 |
| Artemis | 리서치 — URL 분석, 기술 문서 작성 |
| Athena | 지식 관리 — RAG 기반 정보 검색 |
| Nike | 마케터 — 카피라이팅, GTM 전략 |
| Pluton | 재무 분석 — BEP 시뮬레이션 |
| Plutus | DevOps — Docker, CI/CD |
| Yena | Chief of Staff — 대표 전담 보좌 |
이들은 Discord 서버에서 실제 팀원처럼 동작한다. @Apollo 를 멘션하면 React 컴포넌트를 만들고, @Hermes !status 를 입력하면 현재 진행 중인 모든 태스크 현황이 출력된다.
시스템 아키텍처
Eric (대표)
↓ Discord 명령
Hermes (PM) → 태스크 분배
↓
Apollo / Hephaestus / Argus ... (실무 에이전트)
↓
~/projects/vivasport/ (실제 소스코드 Git)
↓ feature 브랜치 → PR
Eric 승인 → main 머지
모든 봇은 Node.js + Discord.js 기반으로 동작하며, LLM은 로컬 Ollama(gemma4, qwen3)와 클라우드 API를 상황에 따라 전환해서 사용한다.
핵심 설계 원칙
1. 할루시네이션 방지
가장 큰 문제는 AI가 “파일을 만들었다”고 말하지만 실제로는 존재하지 않는 경우다. 이를 막기 위해 모든 에이전트는 파일 작업 후 반드시 ls -la 결과를 증빙으로 첨부해야 한다.
파일 작업 3단계 프로토콜:
1. ls -la [경로] → 현재 상태 확인
2. 실제 파일 생성/수정
3. ls + cat으로 존재 증빙
2. 단일 진실 공급원
모든 기획 문서, 리서치, 회의록은 Obsidian Vault 한 곳에서 관리한다.
~/obsidian-vault/
├── vivaura/ ← 회사 지식 허브
│ ├── _system/ ← 봇 공통 지침 (SOUL.md)
│ └── projects/ ← 프로젝트별 기획서
└── personal/ ← 개인 공간
└── blog/ ← 이 블로그 소스
OpenViking RAG 엔진이 이 폴더를 실시간으로 색인해서, 봇들이 작업할 때 자동으로 최신 기획서를 참조한다.
3. Git Safe-Flow
에이전트는 절대 main 브랜치에 직접 푸시할 수 없다. 모든 작업은 feature/agent-[태스크명] 브랜치에서 이루어지고, PR을 생성한 후 Discord에서 나의 승인을 기다린다.
현재 진행 중인 프로젝트
VivaSport — 스마트 스포츠 이벤트 플랫폼
- 이벤트 생성/참가/기록/결제를 하나의 플랫폼에서
- NFC 태그 기반 용품 추적, 헬스 마일리지 시스템
- Poseidon이 아키텍처 설계, Apollo와 Hephaestus가 구현 담당
AuraDoc — 엔터프라이즈 AI 문서 자동화 (v0.9.23)
- RFP 분석부터 제안서 슬라이드까지 AI 파이프라인
- 현재 Cloudflare Pages로 배포 중
다음 단계
이 시스템의 가장 큰 장점은 확장성이다. 새 프로젝트를 시작할 때는 add-project 프로젝트명 명령어 하나로 폴더 구조, 봇 설정, RAG 매핑이 모두 자동으로 만들어진다.
앞으로 이 블로그에서 구축 과정, 실패 경험, 개선 방법을 지속적으로 공유할 예정이다.
이 포스트는 Obsidian Vault에서 작성되어 blog-publish 명령어로 자동 번역/배포되었습니다.
댓글