feat: AI 시대 가산적 설계 이론 + 언어·스택 선택 기준 추가

- additive-programming: AI 시대 섹션 추가 (blast radius 제한, 검증 용이성, 에이전트 동형성)
- language-stack: 신규 개념 페이지 — Scheme 채택 이유, 언어 비교, Rust+Tauri+wgpu 확정 스택

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-30 16:04:56 +09:00
parent 81a4d0a2fe
commit 5d2b5074e4
4 changed files with 143 additions and 0 deletions

View File

@@ -72,6 +72,38 @@ Postel의 법칙이 여기 적용된다: "Be conservative in what you do, be lib
**진짜 가산성인지 확인**: "추가만으로" 확장이 이루어지는지 아니면 기존 코드를 수정해야 하는지를 의식적으로 확인해야 한다. 많은 경우 '수정하는 곳'이 숨어있다.
## AI 시대에서의 가산적 프로그래밍
### 왜 더 중요해지는가
AI 코드 생성이 빠를수록 "수정 오염"의 위험이 커진다. LLM은 맥락을 파편적으로 이해하기 때문에, 기존 코드를 수정하도록 지시하면 의도치 않은 부작용을 만들 확률이 높다. 가산적 아키텍처는 AI의 blast radius를 구조적으로 제한하는 메커니즘으로 작동한다.
GitClear(2024) 분석에 따르면 AI 지원 개발 이후 코드 복잡도(churn, coupling)가 오히려 증가했다. 이는 AI가 수정 패턴을 반복 적용할 때 발생하는 현상이며, 추가만 허용하는 구조가 이 문제를 구조적으로 방어한다.
### 검증 부담과 가산성
AI가 코드를 생성하고 아키텍트가 검증하는 워크플로우에서:
- **추가된 코드**: 격리된 변경 → 리뷰 범위가 명확
- **수정된 코드**: 기존 로직 전체 맥락 추적 필요
가산적 코드는 검증 비용이 낮다. 이는 인간-AI 협업에서 중요한 속성이다.
### AI 에이전트 아키텍처와의 동형성
OpenAI Function Calling, Anthropic Tool Use, MCP 서버 — 모두 기존 LLM 코어를 수정하지 않고 새 도구를 추가하는 구조다. 멀티에이전트 시스템, RAG 파이프라인, MCP 서버 합성이 이미 가산적 아키텍처 원칙 위에 설계되어 있다.
```
설계 원칙: 아키텍트가 extension point를 정의
생성 단위: AI가 그 지점을 채움
```
이 협업 패턴은 가산적 설계와 구조적으로 일치한다.
### "Vibe Coding" 반론에 대해
"AI 시대에 코드는 버리고 재생성하는 것"이라는 주장은 스크립트 수준에서만 성립한다. 데이터가 쌓이고, 팀이 생기고, 시스템이 복잡해지는 순간 재생성 전략은 불가능해진다. 설계 원칙의 필요성은 규모와 함께 증가한다.
## 관련 개념
- [[generic-procedures]] — 가산적 확장의 핵심 메커니즘: 핸들러 추가