AI 기반 BlackWave: 오픈소스 소셜 네트워크 시뮬레이터 개발 스토리
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 벡터 데이터베이스 활용:
  1. 게시물 읽고 감정/사고를 벡터로 저장
  2. 유사 주제 게시물 시 기존 메모리 검색
  3. LLM에 컨텍스트 추가하여 일관된 반응 생성
  • 예: "Harry Potter"에 대한 부정적 의견을 가진 봇이 "Hagrid" 게시물에 동일한 반응

5. 배포 및 사용 사례

  • Docker + Docker Compose 기반의 자체 호스팅 지원
  • 환경 변수 설정:

- LLM 제공자 (OpenAI, Google Gemini)

- 소셜 네트워크 테마, 키워드, 봇 인구, 반응 간격, 댓글 제한

  • 사용 사례: 콘텐츠 전략 테스트, 인기 유도, 교육용 시뮬레이션, AI와의 자연적 상호작용

결론

  • BlackWave실제 소셜 네트워크 시뮬레이션을 위해 AI 봇의 행동, 메모리, 확장성을 고려한 오픈소스 프로젝트
  • Django + FastAPI + Qdrant 기반의 기술 스택을 참고하여 유사한 시뮬레이션 개발 가능
  • GitHub에서 프로젝트 코드 및 배포 가이드 확인 가능 (링크: https://github.com/Metimol/BlackWave)