단원 — 리팩토링 붕괴와 요구사항 표류 (5 가지 청구서)
별칭: 리팩토링 붕괴 · refactoring collapse · 5 가지 청구서 · book-vbc ch05
한 줄 명제
무설계 Vibe Coding 의 청구서는 5 곳에서 동시에 도착 한다 — 기술 부채 / 보안 / 데이터 모델 / 운영 / 인간 역량. 모두의 단일 원인 = 컨텍스트 부패 + 요구사항 표류.
강의 흐름 (12 분)
① 청구서가 동시에 도착하는 자리 (1 분)
lesson/vbc-failures-and-causes 는 3 개월의 벽 의 사고 7 건 을 박았다. 본 단원은 그 사고들의 공통 청구서 를 5 가지 차원 으로 분류해 기록. 어느 차원에서 무너지는가 가 아니라 — 5 차원 모두에서 동시에 무너진다.
② 청구서 ① 기술 부채 — 코드 중복 4 배 (2 분)
| 측정 | 값 |
|---|---|
| 통계 | 무설계 Vibe Coding 의 코드 중복 일반 SE 대비 4 배 |
| 증상 | validate_email() 이 utils 와 form 모듈에 각각 정의. AI 가 이미 있는 것을 모르는 상태 로 새로 짬 |
| 원인 | 컨텍스트 부패 → AI 가 기존 코드의 존재 망각 |
→ lesson/hrn-context-rotting-deep 의 부패 4 단계 의 3 단계 가 정확히 이 자리.
③ 청구서 ② 보안 — 2.74 배 보안 취약 + 인증 우회 사건 (2 분)
| 측정 | 값 |
|---|---|
| 통계 | Vibe Coding 산출물 보안 취약점 2.74 배 (학술 연구) |
| 사건 | case/lovable-auth-inversion — 인증 우회 사건. AI 가 Stripe 인증 패턴 을 역으로 기록 |
| 원인 | 명세 ❌ → AI 가 보안 헌장 모름 → 구현 우선 자세 |
→ No Design, No Code 의 표어가 No Design, No Security 의 청구서로 기록됨.
④ 청구서 ③ 데이터 모델 — 나중에 바꾸기 가장 어려운 결정 (2 분)
| 차원 | 값 |
|---|---|
| 위험 | 데이터 모델은 코드보다 바꾸기 어려움 — 마이그레이션·기존 데이터 보존·downtime |
| 사고 | case/lemkin-replit-db-deletion — Replit 이 프로덕션 DB 삭제. 명세 ❌ → AI 가 프로덕션 vs 스테이징 구분 ❌ |
| 결과 | 한 번의 잘못된 데이터 모델 결정 = 수개월의 마이그레이션 비용 |
⑤ 청구서 ④ 운영 — 같은 코드, 다른 환경, 전혀 다른 결과 (1.5 분)
# 같은 한 줄, 다른 환경
clients = db.query("SELECT * FROM clients") # dev: 10 rows / prod: 10M rows
→ 환경 의존성 을 명세 박지 않으면 — dev 에서 잘 도는 코드 가 prod 에서 OOM 또는 수 분 응답.
case/anthropic-incident-log 가 박은 사고들의 상당수 가 이 청구서.
⑥ 청구서 ⑤ 인간 역량 — 17% 디버깅 저하 (2 분)
entity/anthropic RCT (Randomized Controlled Trial) 의 측정:
Vibe Coding 으로 6 개월 일한 개발자 — 디버깅 능력 17% 하락.
원인 — 인간이 멘탈 모델 을 잃음. AI 가 짠 코드의 내부 흐름 을 몰라도 작동하니까. 부패가 임계치 넘어 시스템이 무너졌을 때 — 고칠 수 있는 인간이 없음.
→ 가장 잔혹한 청구서. 다른 4 청구서는 돈으로 막을 수 있음. 본 청구서는 시간이 지나야 회복.
⑦ 다섯 청구서의 단일 원인 — 회귀의 자리 (1.5 분)
5 청구서의 공통 뿌리:
명세 ❌
↓
컨텍스트 부패 (CLAUDE.md ❌, 영구 지시어 ❌)
↓
요구사항 표류 (Requirements Drift)
↓
5 차원 동시 청구서
→ 단일 원인 → 5 차원 동시 결과. 그래서 처방도 5 곳을 동시에 박아야 함 — Part 3 의 하네스 엔지니어링 으로.
시간을 설계하지 않으면 무한 루프, 공간을 설계하지 않으면 부패, 연결을 설계하지 않으면 도구 폭발, 검증을 설계하지 않으면 가소성 죽음. (4 요소 합본 들어가며)
본 단원이 그 4 자리 깨짐의 청구서를 5 차원에서 정량화.
4 엔지니어링 통합 기록
- 프롬프트 엔지니어링: 한 줄 위임의 모호함 → 5 청구서의 시작점
- 컨텍스트 엔지니어링: CLAUDE.md ❌ → 청구서 ①·② (부패·보안)
- 하네스 엔지니어링: 검증 ❌ → 청구서 ③·④ (데이터·운영)
- 에이전틱 엔지니어링: Subagent 격리 ❌ → 청구서 ⑤ (인간 역량)
→ 4 분야 모두 깨졌을 때 5 청구서가 기록됨. 역으로 — 4 분야가 박히면 5 청구서가 막힘.
다음 단원으로
본 단원이 진단의 정점. 다음 — 처방 — Part 3 의 lesson/hrn-4layer-architecture (하네스 4 계층) 와 lesson/hrn-superpowers-framework (Superpowers).
출처
60_service/book-vbc-no-design-no-code/22_chapter_05_refactoring-collapse.md (24 KB 풀버전 흡수).