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