AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

MiroFish-Offline – 완전 로컬 멀티에이전트 소셜 반응 시뮬레이터

보도자료, 정책 초안, 재무 보고서 하나를 업로드하면 수백 명의 고유한 성격을 가진 AI 에이전트가 소셜 미디어에서 어떻게 반응하는지 시간 단위로 시뮬레이션하는 엔진이 있다. MiroFish-Offline은 중국에서 개발된 멀티에이전트 소셜 반응 시뮬레이션 프레임워크 MiroFish의 영어·완전 로컬 포크다. 원본이 의존했던 클라우드 서비스(Zep Cloud, DashScope)를 Neo4j Community Edition과 Ollama로 교체해 인터넷 연결 없이 동작한다.

원본 MiroFish와의 차이

항목원본 MiroFishMiroFish-Offline
UI 언어중국어영어 (1,000개 이상 문자열 번역)
그래프 메모리Zep CloudNeo4j Community Edition 5.15
LLMDashScope / OpenAI APIOllama (qwen2.5, llama3 등)
임베딩Zep Cloudnomic-embed-text (Ollama)
클라우드 의존성필수없음

시뮬레이션 원리

문서를 업로드하면 에이전트들이 고유한 성격(페르소나)을 바탕으로 게시물을 작성하고 서로 논쟁하거나 의견을 바꾸는 과정이 시간별로 진행된다. 그래프 메모리(Neo4j)가 에이전트 간 관계와 기억을 추적하고, 로컬 LLM이 각 에이전트의 반응을 생성한다.

시뮬레이션 엔진은 CAMEL-AI 팀의 OASIS 프레임워크 위에 구축되었다.

아키텍처

Flask API
  └── Service Layer (EntityReader, GraphToolsService, GraphMemoryUpdater)
        └── GraphStorage (추상 인터페이스)
              └── Neo4jStorage
                    ├── EmbeddingService ← Ollama (nomic-embed-text)
                    ├── NERExtractor ← Ollama LLM
                    └── SearchService (벡터 0.7 + BM25 0.3 하이브리드)
                          └── Neo4j CE 5.15

핵심 설계 원칙:

  • GraphStorage가 추상 인터페이스로 구현되어 Neo4j 이외의 그래프 DB로 교체 가능
  • Flask app.extensions를 통한 의존성 주입 — 전역 싱글턴 없음
  • 하이브리드 검색: 벡터 유사도 70% + BM25 키워드 검색 30%

하드웨어 요구사항

Neo4j와 Ollama를 로컬에서 구동하므로 상당한 리소스가 필요하다:

  • RAM 16GB 이상 권장
  • Ollama 모델(qwen2.5, llama3 등) 저장 공간

빠른 시작

Docker를 사용하는 방법이 가장 간단하다:

git clone https://github.com/nikmcfly/MiroFish-Offline
cd MiroFish-Offline
docker compose up -d

누가 쓰면 좋은가

  • 신제품 발표·정책 변경 전 여론 반응을 사전에 테스트하고 싶은 팀
  • 소셜 미디어 시뮬레이션 연구를 완전 로컬 환경에서 수행하려는 연구자
  • 클라우드 API 비용 없이 멀티에이전트 소셜 다이나믹스를 실험하려는 개발자

라이선스

Apache 2.0 (원본 MiroFish 라이선스 계승)

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)