시스템 레이어 구조
1. 클라이언트 레이어
- Client Request: 사용자 또는 외부 시스템으로부터의 요청 시작점
2. API 레이어
- FastAPI Server: RESTful API 서비스를 제공하는 시스템의 진입점
- 각 에이전트 노드에 대한 API 엔드포인트 자동 생성
- Dependency Injection Container: 시스템 구성 요소 간의 의존성을 관리
3. 조율 레이어
- SupervisorNode: 워크플로우의 두뇌 역할을 하는 핵심 컴포넌트
- 요청 내용을 분석하고 적절한 에이전트 선택
- 다양한 에이전트의 작업을 조율하고 최종 결과 생성
4. 에이전트 레이어
6개의 전문 에이전트 노드:
- NaverNewsSearcherNode: 네이버 뉴스 API를 통한 한국어 뉴스 검색
- ReportAssistantNode: 수집된 정보를 바탕으로 마크다운 형식의 보고서 생성
- ChosunRSSFeederNode: 조선일보 RSS 피드에서 뉴스 수집
- WSJRSSFeederNode: 월스트리트저널 RSS 피드 통합 수집
- USFinancialAnalyzerNode: 미국 기업 재무제표 및 주가 분석
- WeeklyReporterNode: 주간 시장 요약 리포트 생성
5. 데이터 소스 레이어
에이전트들이 정보를 수집하는 외부 데이터 소스:
- Naver News API: 한국어 뉴스 검색 서비스
- Chosun RSS: 조선일보 RSS 피드
- WSJ RSS: 월스트리트저널 RSS 피드
- Alpha Vantage API: 미국 주식 시장 데이터 및 재무제표 API
외부 서비스 및 인프라
- LLM Provider: OpenAI의 gpt-4o-mini 모델을 활용한 언어 처리 서비스
- Milvus Vector DB: 임베딩 벡터를 저장하고 검색하는 벡터 데이터베이스
- Background Scheduler: 정기적인 데이터 수집 및 처리 작업 관리
주요 데이터 흐름
이 아키텍처의 데이터 흐름은 다음과 같은 핵심 경로를 따릅니다:
- 요청 처리: 클라이언트 → FastAPI 서버 → SupervisorNode
- 작업 할당: SupervisorNode → 에이전트 노드
- 데이터 수집: 에이전트 노드 → 외부 데이터 소스
- LLM 처리: SupervisorNode ↔ LLM Provider
- 의존성 주입: Dependency Injection Container → 시스템 컴포넌트
LangGraph 멀티 에이전트 프레임워크의 강점
-
효율적인 워크플로우 관리
- 상태 기반 그래프를 통한 에이전트 간 작업 흐름 관리
- 복잡한 작업을 여러 전문 에이전트로 분배하여 효율적으로 처리
-
확장성과 모듈성
- 각 에이전트는 독립적인 기능 단위로 설계
- 새로운 에이전트 추가 시 기존 시스템에 미치는 영향 최소화
-
중앙 집중식 조율
- SupervisorNode가 전체 워크플로우 관리
- 에이전트 간 협업 및 결과 통합 조율
-
데이터 소스 다양화
- 다양한 외부 데이터 소스 활용으로 종합적인 정보 수집
- 국내외 뉴스 및 금융 데이터를 통합하여 포괄적인 시장 분석 제공