케이스 스터디

학사 논문 · 이벤트 기반 AI

멀티 에이전트 마이크로서비스

마이크로서비스로 협업하는 이벤트 기반 AI 에이전트 (학사 졸업 논문)

ai-agents-thesis

N+M

결합도 - N×M에서 감소

10K+/s

Kafka 이벤트 처리량

99.9%

에이전트 가동률

개요

저의 학사 졸업 논문으로, 몽골증권거래소 데이터를 분석해 몽골어로 개인화된 투자 조언을 제공하는 이벤트 기반 멀티 에이전트 AI 시스템입니다. 다섯 개의 전문 에이전트가 서로를 직접 호출하는 대신 Apache Kafka를 통해 협업합니다.

에이전트 간 직접 API 호출은 N×M 결합을 만들지만, 모든 메시지를 Kafka로 라우팅하면 N+M으로 줄어듭니다. 각 에이전트는 독립적으로 장애를 견디고, 인스턴스를 추가해 수평 확장하며, 모든 이벤트는 디버깅이나 모델 재학습을 위해 재생할 수 있습니다. 상태를 가진 다단계 실행 계획은 Apache Flink가 처리합니다.

Orchestrator는 Gemini 2.0 Flash 기반의 ReAct 루프로 의도를 분류하고, 작업을 Investment, News, Knowledge 에이전트로 분배합니다. Knowledge 에이전트는 MSE 기업 지식 베이스 위의 pgvector RAG입니다. AI 쿼리는 처음부터 끝까지 약 15~20초, API 호출은 약 200~500ms 안에 완료되며, 전체 시스템은 유휴 상태에서 약 123MB로 동작하고 에이전트 가동률은 99.9%입니다.

주요 성과

  • Kafka 기반 이벤트 드리븐 아키텍처로 에이전트 간 N×M 결합을 N+M으로 축소.
  • 다섯 개의 에이전트: Orchestrator(ReAct), Investment, News, Knowledge(RAG), PyFlink 플래너.
  • pgvector와 sentence-transformers를 활용한 MSE 기업 시맨틱 검색.
  • 감성 점수가 매겨진 금융 뉴스 요약을 매일 이메일로 발송 (Finnhub + Resend).
  • 디버깅과 모델 재학습을 위한 이벤트 재생, Flink를 이용한 실시간 스트리밍.
  • 모든 KPI 목표 초과 달성: 초당 10K+ 이벤트, 약 200~500ms API 응답, 유휴 메모리 약 123MB, 가동률 99.9%.

아키텍처

Apache Kafka 위에서 협업하는 이벤트 기반 AI 에이전트

Frontend

Next.js 16 + React 19 · dashboard · AI chat · watchlist

API gateway

Express · JWT auth · Kafka producer

Event broker

Apache Kafka

user.requests · agent.tasks · agent.responses · planning.tasks

AI agents

Orchestrator

ReAct · intent routing

Investment

MSE analysis · advice

News

Finnhub · sentiment

Knowledge

RAG · pgvector

PyFlink planner

Flink 1.18 · multi-step

Data layer

PostgreSQL 16 · Redis 7 · pgvector

grid

라드나바자르 불간

Aruarian Dance