diff --git a/Architecture.md b/Architecture.md new file mode 100644 index 0000000..9679e28 --- /dev/null +++ b/Architecture.md @@ -0,0 +1,52 @@ +# Architecture + +## 전체 구조 + +` +Interface Layer (Discord / Web UI) + | + v +API Server (FastAPI REST + SSE) + | + v +Orchestrator + | + +-- Project Indexer (구조 분석/캐시) + +-- Context Manager (파일 선별, 토큰 예산) + +-- Task Pipeline (Plan > Code > Review > Test > Ship) + +-- Rate Limiter (120 RPM / 2,000 RPD) + | + v +Gemini CLI (gemini -p, 역할별 headless 호출) + | + v +Integrations: Gitea (PR/CI) + Vikunja (태스크) +` + +## 핵심: Context Manager + +Gemini CLI의 Context Rot (20~50% 사용 시 품질 급락) 해결: + +1. Project Indexer가 프로젝트 구조/import 관계 사전 분석 +2. 태스크별로 관련 파일만 선별 (토큰 예산 내) +3. gemini -p에 선별된 컨텍스트만 주입 +4. 매 호출 독립 컨텍스트 = Context Rot 없음 + +## 작업 흐름 + +1. 사용자: Discord/Web에서 작업 요청 +2. Orchestrator: Planner(gemini -p)로 작업 분해 +3. 사용자 컨펌 대기 +4. Coder(gemini -p): 파일 수정 (Context Manager가 관련 파일만 주입) +5. Reviewer(gemini -p): 수정 결과 리뷰 +6. Git branch > commit > push > PR (Gitea API) +7. CI 실행 > 결과 보고 +8. 사용자 컨펌 > 머지 + +## 보안 모드 (Mode A) + +내부 소스 보안 분석 시: +- 로컬 LLM이 앞단에서 소스를 추상화/마스킹 +- Gemini CLI는 추상화된 정보만 수신 +- 로컬 LLM이 뒷단에서 결과를 소스와 대조 검증 +- 상세: docs/vega_handoff.md 참조 \ No newline at end of file