Claude와 Gemini의 협업을 통한 VoidCoreSystem 개발 기록
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
소프트웨어 개발자, 특히 플러그인 시스템 및 아키텍처 설계에 관심 있는 개발자들 (중급~고급)
핵심 요약
- 자율 깨우기 모델(Autonomous Awakening Model)과 의미적 속성 시스템(Semantic Attribute System) 구현을 위한 2단계 초기화(2-phase initialization) 방식 도입
- IPlugin 인터페이스의
pre_activate()
(등록 단계)와activate()
(해결 단계)가 이미 2단계 초기화 구조를 구현하고 있음 - JSON 형식의 manifest 파일을 통해 의존성 관리와 핫 리로드(Hot Reload) 안정성 확보
섹션별 세부 요약
1. 개발 팀 구성 및 협업 방식
- 인간 아키텍트(Human Architect): 프로젝트 리더 및 설계 검증
- AI Coder (Claude): 빠른 구현
- AI 자문사 (Gemini): 아키텍처 및 설계 컨설팅
- CLI 기반 자동화된 AI 간 대화를 통해 설계 검토
2. 자율 깨우기 모델의 주요 도전 과제
- 순환 의존성 문제:
pre_activate()
와activate()
단계 분리로 해결 - 활성화 실패 가능성: 타임아웃 및 진단 도구 도입
- 디버깅 복잡성: 상태 시각화 도구 사용
3. 의미적 속성 시스템의 구현 전략
- 속성 표준화: 기본 속성 세트부터 시작
- 성능 최적화: 효율적인 데이터 구조 사용
- 단계별 구현:
- Phase 1: 핵심 기능 (등록/쿼리 기능)
- Phase 2: 제한된 속성 시스템 도입
- Phase 3: 고급 기능 통합
4. Hot Reload 안정성 확보 방안
- 영향 범위 분석 → 단계별 종료 → 재초기화 프로세스 도입
- manifest 파일을 통해 의존성 명시 및 유연성 확보
5. Gemini의 2단계 초기화 제안
- 2단계 초기화가 현재
IPlugin
인터페이스와 완전히 호환됨 pre_activate()
= 등록 단계 (제공 기능 선언)activate()
= 해결 단계 (의존성 요청)- Philosophy of Silence 원칙: 핵심 로직은 일반 규칙만 실행
결론
- 2단계 초기화(2-phase initialization)와 JSON manifest 파일 도입은 순환 의존성 문제 해결 및 플러그인 시스템 확장성 향상에 핵심적
- 현재
IPlugin
인터페이스가 이미 2단계 초기화 구조를 구현하고 있으므로, 최소한의 수정으로 적용 가능 - Hot Reload 안정성을 위해 manifest 파일 기반의 의존성 명시와 단계별 종료 프로세스를 반드시 적용해야 함