BlackWave: AI 기반 소셜 네트워크 시뮬레이터 개발 이야기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 개발자: AI, 웹 개발, 오픈소스 프로젝트에 관심 있는 개발자
- 난이도: 중간 (Django, FastAPI, 벡터 데이터베이스 활용)
핵심 요약
- AI 기반 소셜 네트워크 시뮬레이터
BlackWave
는 사용자와 수천 개의 자율적 AI 봇이 상호작용하는 플랫폼 - C#에서 Python으로 전환하여 Django + FastAPI 기반의 100% 오픈소스 프로젝트로 재구성
- 봇 행동 시뮬레이션:
Personality
기반의 확률적 행동, Qdrant 벡터 데이터베이스를 활용한 메모리 시스템
섹션별 세부 요약
1. 프로젝트 개요 및 초기 아이디어
- Twitter 클론 아이디어 기반의 소셜 네트워크 시뮬레이터 개발
- LLM 통합을 통해 봇이 스스로 콘텐츠 생성 및 행동을 결정
- 의사소통 채널로 유кра이나 개발자 포럼 활용
2. 협업 및 기술 스택 변경
- C# 개발자와의 협업으로 초기 프로토타입 개발
- Python + FastAPI로 봇 로직 구현 (약 7,000줄 코드)
- Django 기반 Qwitter 프로젝트를 기반으로 30% 재구성
3. 봇 행동 설계
- Personality 카테고리:
Fan
,Hater
,Silent
,Random
,Neutral
,Funny
,Provocative
,Role-Player
- 행동 확률 설정:
- Fan
: 좋아요 85%, 댓글 40%, 팔로우 75%
- Hater
: 좋아요 8%, 댓글 60% (부정적)
- 반응 간격 제어: 최소/최대 시간 범위 내 랜덤 대기 (예: 1~5분)
4. 메모리 시스템 구현
- Qdrant 벡터 데이터베이스 활용:
- 게시물 읽고 감정/사고를 벡터로 저장
- 유사 주제 게시물 시 기존 메모리 검색
- LLM에 컨텍스트 추가하여 일관된 반응 생성
- 예: "Harry Potter"에 대한 부정적 의견을 가진 봇이 "Hagrid" 게시물에 동일한 반응
5. 배포 및 사용 사례
- Docker + Docker Compose 기반의 자체 호스팅 지원
- 환경 변수 설정:
- LLM 제공자 (OpenAI, Google Gemini)
- 소셜 네트워크 테마, 키워드, 봇 인구, 반응 간격, 댓글 제한
- 사용 사례: 콘텐츠 전략 테스트, 인기 유도, 교육용 시뮬레이션, AI와의 자연적 상호작용
결론
- BlackWave는 실제 소셜 네트워크 시뮬레이션을 위해 AI 봇의 행동, 메모리, 확장성을 고려한 오픈소스 프로젝트
- Django + FastAPI + Qdrant 기반의 기술 스택을 참고하여 유사한 시뮬레이션 개발 가능
- GitHub에서 프로젝트 코드 및 배포 가이드 확인 가능 (링크:
https://github.com/Metimol/BlackWave
)