Add "Architecture"
52
Architecture.md
Normal file
52
Architecture.md
Normal file
@@ -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 참조
|
||||||
Reference in New Issue
Block a user