# ConnectAI 기술 부채 및 아키텍처 개선 계획 (Python Core) ## 📌 핵심 진단 요약 현재 ConnectAI의 Python 기반 추론 엔진은 알고리즘 비효율성($O(N^2)$), 동기식 I/O 블로킹, 강한 결합도(Tight Coupling)로 인해 성능 확장이 제한된 상태임. 이를 프로덕션 수준으로 끌어올리기 위한 단계별 최적화가 필요함. ## 🛠️ 최적화 전략 (Phase 2: Core Optimization) ### 1. 알고리즘 효율화 (Performance P1) - **현상**: `InferenceEngine.py`의 `feature_match_brute_force` 함수가 중첩 루프로 인해 $O(N^2)$ 복잡도 가짐. - **해결**: **KD-Tree** 또는 행렬 분해 기법을 도입하여 $O(N \log N)$으로 최적화. 추론 지연 시간 5~10배 단축 목표. ### 2. 비동기 I/O 전환 (Throughput P1) - **현상**: `DataLoader.py`의 `load_dataset_sync` 함수가 동기식으로 동작하여 I/O 대기 시 CPU 유휴 발생. - **해결**: `asyncio` 기반 비동기 I/O 또는 스레드 풀 기반 병렬 처리를 도입하여 처리량(Throughput) 개선. ### 3. 모듈 디커플링 (Maintainability P2) - **현상**: `PreprocessingModule`과 `CoreModel` 간의 직접 의존성으로 인한 강한 결합. - **해결**: **관찰자 패턴(Observer Pattern)** 도입. `DataReadyEvent` 발행-구독 모델을 통해 모듈 간 독립성 및 테스트 용이성 확보. ## 🚀 구현 가이드라인 - **Step 1**: 알고리즘 최적화 (KD-Tree 구현 및 검증) - **Step 2**: 비동기 I/O 전환 (async/await 래핑 및 이벤트 루프 통합) - **Step 3**: 아키텍처 디커플링 (이벤트 시스템 구축 및 DIP 실현) --- *분석 일자: 2026-04-30* *우선순위: Step 1 (ROI 최상) > Step 2 > Step 3*