전체 시스템을 구성하는 Frontend, Backend, Data, AI/Ops, External 영역의 책임과 기술 선택 이유를 정리한다.

전체 아키텍처
| 영역 | 구성 | 책임 | 구현 근거 |
|---|---|---|---|
| Frontend | React, Vite, TanStack Query, Recharts | 대시보드, 포트폴리오, AI 뱅커, 백테스트 UI | 사용자 화면과 시각화 계층 |
| Backend | FastAPI, async SQLAlchemy, APScheduler | API, 스케줄러, 주문/분석 흐름 제어 | API, scheduler, 주문/분석 orchestration |
| Data | PostgreSQL, Alembic | 포지션, 주문, 설정, 로그, 스냅샷 저장 | 운영 설정, 주문/포지션, 분석 로그, snapshot 저장 |
| Search/RAG | OpenSearch, kNN, BM25 | 뉴스 문서 저장, chunk 검색, source health | 뉴스 문서 검색, chunk 검색, source health 관측 |
| AI/Ops | Gemini, OpenAI fallback, LangGraph | AI 분석, provider fallback, reviewer 흐름 | AI 분석, provider fallback, reviewer 흐름 |
| External | Upbit, Slack, RSS/News | 거래소/운영 명령/시장 데이터 연동 | 거래소, Slack, RSS/News 연동 |
| 역할 | 책임 | 운영상 의미 |
|---|---|---|
| Supervisor | 사용자 요청 분류와 worker 흐름 제어 | 질문 의도를 단일 요청으로 처리하지 않고 역할별로 분기 |
| RAG Worker | 뉴스, 시장 문맥, RAG 검색 | 답변 근거가 되는 외부 컨텍스트 조회 |
| Quant Worker | 가격, 지표, 포트폴리오 상태 분석 | 시장/자산 상태를 판단에 반영 |
| Reviewer | 근거 부족, 과도한 확신, 주문 위험 검토 | AI 판단이 바로 실행으로 이어지지 않게 차단 |
| 선택 | 이유 |
|---|---|
| FastAPI | 비동기 API와 스케줄러/외부 API 호출을 함께 다루기 적합 |
| PostgreSQL + Alembic | 운영 상태와 이력을 migration 기반으로 추적 |
| OpenSearch | 뉴스 RAG에서 keyword/vector hybrid 검색과 상태 집계 가능 |
| APScheduler | 뉴스 수집, AI 분석, 스냅샷 저장을 반복 작업으로 관리 |
| LangGraph | AI 뱅커의 supervisor/worker/reviewer 흐름을 분리 |
| SSE | AI 활동 단계를 사용자가 실시간으로 볼 수 있게 구성 |
| 기준 | 설명 |
|---|---|
| 단일 화면보다 운영 콘솔 | 차트와 AI 답변만 보여주지 않고 warning, provider, RAG 상태를 함께 노출 |
| 단일 모델보다 provider router | Gemini/OpenAI fallback과 blocked 상태를 관리 |
| 단일 주문보다 실행 경계 | paper/live, shadow mode, live BUY lock으로 주문 실행을 분리 |
| 단일 결과보다 이력 | analysis log, chat session, snapshot으로 나중에 다시 확인 가능 |
| 테스트 | 검증 내용 |
|---|---|
| Provider fallback 검증 | provider priority, blocked provider skip, fallback 후보 |
| 자동매매 안전 검증 | AI 주문 실행 경계와 live BUY 기본 잠금 |
| 대시보드 복원력 검증 | live 데이터 실패 시 snapshot fallback |
<aside> 💡 이 문서가 설명하는 것: 전체 아키텍처와 기술 선택
</aside>
| 항목 | 내용 |
|---|---|
| 관련 운영 리스크 | AI/주문/데이터 흐름이 섞이면 실패 지점 추적이 어려움 |
| 대표 구현 근거 | FastAPI, PostgreSQL, OpenSearch, LangGraph, APScheduler |
| 관련 테스트 | provider router, executor safety, dashboard resilience |