--- id: SYS-DESIGN-001 category: Dev confidence_score: 1.0 tags: [systems, [[Architecture|Architecture]],[[_system|system]]-design, software-engineering, [[Scalability|Scalability]], [[Reliability|Reliability]], [[Modularity|Modularity]]] last_reinforced: 2026-04-26 --- # System Architecture Design (시스템 아키텍처 설계) ## 📌 한 줄 통찰 (The Karpathy Summary) > "코드를 한 줄 적기 전에 시스템의 '영혼(Core [[Logic|Logic]])'과 '육체(Infrastructure)'가 어떻게 대화할지 청사진을 그리고, 변화의 파도에도 무너지지 않는 유연한 골격을 완성하라" — 소프트웨어 시스템의 전체 구조와 구성 요소 간의 관계를 정의하여 요구사항을 충족시키고 지속 가능성을 확보하는 고차원 설계 공정. ## 📖 구조화된 지식 (Synthesized Content) - **추출된 패턴:** "Hierarchical Decomposition and Interface-driven Interaction" — 거대한 요구사항을 관리 가능한 작은 모듈로 쪼개고, 각 모듈 간의 소통 방식을 표준화된 인터페이스로 정의하여 독립적인 개발과 확장이 가능하게 만드는 패턴. - **핵심 설계 원칙:** - **Scalability:** 사용자가 늘어남에 따라 자원을 유연하게 늘릴 수 있는가? (Horizontal vs Vertical). - **Reliability:** 특정 부품이 고장 나도 전체 시스템이 멈추지 않는가? (Fault Tolerance). - **Modularity:** 기능을 독립적으로 떼어내어 재사용하거나 교체할 수 있는가? - **Performance:** 지연 시간(Latency)과 처리량(Throughput) 사이의 최적점 찾기. - **의의:** 개발팀 전체의 북극성 역할을 하며, 초기 설계의 견고함이 향후 운영 비용의 90%를 결정짓는 소프트웨어 공학의 가장 결정적인 단계. ## ⚠️ 모순 및 업데이트 (Contradictions & RL Update) - **과거 데이터와의 충돌:** 모든 것을 미리 완벽하게 설계하려던 '빅 업프런트 디자인(BUFD)'에서 벗어나, 이제는 핵심 구조만 잡고 나머지는 실행하며 진화시키는 '진화적 아키텍처(Evolutionary Architecture)'와 '마이크로서비스' 기반의 점진적 고도화가 주류가 됨. - **정책 변화:** Antigravity 프로젝트는 에이전트 간의 유기적 협업과 지식 공유를 위해, 각 모듈이 독립적이면서도 강력하게 연결되는 '이벤트 기반 마이크로커널' 아키텍처를 표준 설계 지침으로 준수함. ## 🔗 지식 연결 (Graph) - [[Software-Architecture-Patterns|Software-Architecture-Patterns]], [[Scalability-in-AI-Systems|Scalability-in-AI-Systems]], [[Service-oriented-Architecture|Service-oriented-Architecture]], Reliability-Engineering - **Raw Source:** 10_Wiki/Topics/AI/System-Architecture-Design.md