# 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*
