무슨 일이 있었나
666ghj/MiroFish가 GitHub Trending에서 하루 2,294 스타를 기록하며 12,986 스타를 돌파했습니다. "Predicting Anything" — 무엇이든 예측한다는 야심 찬 슬로건을 내걸고 있습니다.
MiroFish의 접근법은 독특합니다. 단일 LLM에게 "미래를 예측해"라고 요청하는 것이 아닙니다. 수천 개의 AI 에이전트를 생성하고, 각각에게 독립된 성격과 행동 논리를 부여한 뒤, 이들이 상호작용하는 "디지털 평행 세계"를 시뮬레이션합니다. 군중의 집단 행동에서 미래의 패턴을 읽어내는 것입니다.
프로젝트 구조
MiroFish는 Vue.js 프론트엔드와 Python 백엔드로 구성되어 있습니다.
MiroFish/
├── frontend/ # Vue.js 웹 인터페이스
├── backend/ # Python API 서버 (포트 5001)
│ ├── agents/ # 에이전트 생성 및 관리
│ │ ├── generator.py # 에이전트 성격/행동 생성
│ │ └── memory.py # Zep Cloud 기반 장기 메모리
│ ├── graph/ # GraphRAG 지식 그래프
│ │ ├── builder.py # 엔티티 추출, 관계 구축
│ │ └── query.py # 그래프 질의
│ ├── simulation/ # 시뮬레이션 엔진
│ │ ├── platform.py # 듀얼 플랫폼 시뮬레이션
│ │ ├── dynamics.py # 동적 변수 주입
│ │ └── observer.py # 시뮬레이션 관찰/기록
│ ├── report/ # 보고서 생성
│ │ └── analyzer.py # 도구 활용 분석 에이전트
│ └── api/ # REST API 엔드포인트
├── docker-compose.yml
└── .env.example
파이프라인 5단계
MiroFish의 시뮬레이션은 5단계의 순차적 파이프라인으로 구성됩니다.
[1. 지식 그래프 구축]
시드 자료 (보고서, 뉴스, 내러티브) 입력
→ 엔티티 추출 → GraphRAG 구축
↓
[2. 환경 설정]
엔티티 기반 에이전트 생성
→ 각 에이전트에 성격, 메모리, 행동 논리 부여
↓
[3. 시뮬레이션 실행]
듀얼 플랫폼에서 병렬 시뮬레이션
→ 동적 변수 주입 → 에이전트 간 상호작용
↓
[4. 보고서 생성]
멀티 도구 에이전트가 결과 분석
→ 종합 예측 보고서 작성
↓
[5. 인터랙션]
시뮬레이션된 에이전트와 대화
→ 보고서 분석기와 대화
핵심 기술 스택
GraphRAG — 관계 중심 지식 구조
MiroFish는 일반 RAG가 아닌 GraphRAG를 사용합니다. 일반 RAG는 텍스트 청크를 벡터로 변환해 유사도로 검색합니다. GraphRAG는 텍스트에서 엔티티(사람, 조직, 이벤트)와 관계를 추출해 지식 그래프를 만듭니다.
[일반 RAG]
"삼성전자가 AI 반도체 투자를 확대했다" → 벡터 [0.12, -0.34, ...]
[GraphRAG]
엔티티: [삼성전자, AI 반도체]
관계: 삼성전자 --투자 확대--> AI 반도체
속성: {시기: 2026, 규모: 미공개}
지식 그래프의 장점은 다단계 추론입니다. "삼성전자의 AI 반도체 투자가 SK하이닉스에 미치는 영향"을 추론하려면, 삼성전자 → AI 반도체 → HBM 시장 → SK하이닉스로 이어지는 관계 체인을 따라가야 합니다. 벡터 유사도만으로는 이런 추론이 어렵습니다.
에이전트 페르소나 생성
MiroFish의 에이전트는 단순한 봇이 아닙니다. 각각이 독립된 페르소나를 가집니다.
# 에이전트 페르소나 (개념적 구조)
agent = {
"name": "김투자",
"role": "개인 투자자",
"personality": {
"risk_tolerance": 0.7, # 위험 감수 성향
"information_sensitivity": 0.8, # 정보 민감도
"herd_behavior": 0.5 # 군중 추종 성향
},
"memory": ZepMemory(), # 장기 메모리
"beliefs": ["AI가 미래다", "반도체 호황 지속"],
"connections": ["박분석", "이기자"] # 사회적 연결
}
수천 개의 에이전트가 각각 다른 성격, 신념, 사회적 연결을 가지고 시뮬레이션에 참여합니다. 어떤 에이전트는 보수적이고, 어떤 에이전트는 공격적입니다. 어떤 에이전트는 군중을 따르고, 어떤 에이전트는 역발상을 합니다.
Zep Cloud 기반 장기 메모리
각 에이전트는 Zep Cloud를 통해 장기 메모리를 유지합니다. 시뮬레이션이 진행되면서 에이전트들이 경험한 이벤트, 다른 에이전트와의 대화, 의사 결정의 결과가 메모리에 축적됩니다.
이 메모리는 다음 라운드의 행동에 영향을 줍니다. "지난번에 주식을 너무 빨리 팔아서 손해를 봤으니, 이번에는 좀 더 기다려보자"와 같은 학습 효과가 발생합니다.
듀얼 플랫폼 시뮬레이션
MiroFish는 두 개의 병렬 플랫폼에서 동시에 시뮬레이션을 실행합니다. 하나의 시나리오에 두 가지 변수를 적용해서 "만약 A가 일어난다면"과 "만약 B가 일어난다면"의 결과를 비교할 수 있습니다.
시뮬레이션 도중 동적 변수 주입도 가능합니다. 시뮬레이션이 진행 중에 "갑자기 금리가 0.5% 올랐다"는 이벤트를 주입하면, 에이전트들이 이에 반응하는 과정을 관찰할 수 있습니다.
CAMEL-AI OASIS 엔진
MiroFish의 시뮬레이션 엔진은 CAMEL-AI의 OASIS(Open Agent Social Interaction Simulations)를 기반으로 합니다. OASIS는 대규모 멀티 에이전트 사회 시뮬레이션을 위한 프레임워크로, 에이전트 간의 메시징, 사회적 네트워크, 집단 행동을 시뮬레이션합니다.
개념 정리
군집 지능(Swarm Intelligence)이란
군집 지능은 개별적으로는 단순한 에이전트들이 집단으로 복잡한 행동을 만들어내는 현상입니다.
자연에서의 예시:
- 개미 군집: 개별 개미는 단순한 규칙만 따르지만, 군집 전체는 최적의 먹이 경로를 찾습니다
- 새 떼: 개별 새는 "가까운 새와 거리 유지, 같은 방향으로 비행, 중심으로 모이기"라는 3가지 규칙만 따르지만, 전체 떼는 아름다운 군무를 만듭니다
MiroFish는 이 원리를 사회·경제 시뮬레이션에 적용합니다. 수천 개의 AI 에이전트가 각자의 규칙(성격, 신념, 기억)에 따라 행동하면, 집단적 패턴이 자연스럽게 나타납니다. 주가의 버블과 붕괴, 여론의 형성과 변화, 시장의 쏠림과 분산 — 이런 현상을 시뮬레이션으로 재현할 수 있습니다.
에이전트 기반 모델링(ABM) vs 전통적 예측
전통적인 예측 모델(회귀 분석, 시계열 분석)은 "과거 패턴이 미래에도 반복된다"고 가정합니다. 안정적인 환경에서는 잘 작동하지만, 구조적 변화(paradigm shift)를 포착하기 어렵습니다.
에이전트 기반 모델링(ABM)은 "개별 행위자의 상호작용에서 거시적 현상이 발생한다"는 상향식(bottom-up) 접근입니다. 개별 에이전트의 행동 규칙을 정의하면, 거시적 결과가 시뮬레이션을 통해 자연스럽게 나타납니다(emerge).
| 접근법 | 장점 | 단점 |
|---|---|---|
| 전통적 모델 | 빠르고 수학적으로 명확 | 구조적 변화 포착 어려움 |
| ABM | 복잡계 현상 재현 가능 | 파라미터 민감, 검증 어려움 |
| MiroFish (LLM + ABM) | 자연어로 행동 정의, 유연 | 비용 높음, 재현성 제한적 |
LLM 에이전트 시뮬레이션의 한계
솔직히 말하면 이 접근에는 중요한 한계가 있습니다.
재현성 문제: LLM의 출력은 비결정적입니다. 같은 시뮬레이션을 두 번 돌려도 다른 결과가 나올 수 있습니다. 이는 과학적 예측으로서의 신뢰도를 떨어뜨립니다.
비용 문제: 수천 개 에이전트가 수백 라운드 동안 LLM을 호출하면, API 비용이 상당합니다.
검증 문제: 시뮬레이션 결과가 현실과 얼마나 일치하는지 검증하기 어렵습니다. 사후적으로 맞는 시나리오를 골라내는 확인 편향(confirmation bias) 위험이 있습니다.
정리
MiroFish는 "LLM + 멀티 에이전트 시뮬레이션 = 미래 예측"이라는 대담한 가설을 실험하는 프로젝트입니다.
기술적으로 흥미로운 것은 GraphRAG, 에이전트 페르소나 생성, 장기 메모리, 듀얼 플랫폼 시뮬레이션의 조합입니다. 각 기술은 개별적으로 존재했지만, 이들을 "미래 예측"이라는 하나의 목표로 통합한 것은 MiroFish가 처음입니다.
1.3만 스타와 하루 2,300+ 스타라는 폭발적 성장은 "AI로 미래를 예측할 수 있을까?"라는 근본적 질문에 대한 관심을 반영합니다. 정확한 예측 도구로서의 실용성은 아직 검증이 필요하지만, 시나리오 탐색과 의사결정 보조 도구로서의 가치는 충분합니다.
📌 원문: Jidong Lab
AI 소식과 개발 로그 → jidonglab.com
Top comments (0)