인간의 의도. AI의 실행.
의도를 전달하라,
코드가 아닌.
Why, What, Not을 정의하세요. 기술 스택, 아키텍처, 일정, 구현: 나머지는 AI가 선택합니다.
"의도를 제외한 모든 것은 선택이다."
Why, What, Not은 당신의 몫입니다. 나머지는 AI의 몫입니다.
01 — 문제
AI는 생성을 저렴하게 만들었습니다. 의도 없이 그 속도는 소음이 됩니다. 의도와 함께라면 명확함이 됩니다.
의도 없이
- AI가 요청하지 않은 기술 스택을 선택합니다
- AI가 아무도 필요 없는 일정을 만들어냅니다
- AI가 명세, 스토리, 프로세스를 부풀립니다
- 파일 8개, 3,740줄, 132KB의 소음
- 무엇을 만들어야 하는지 여전히 모릅니다
의도와 함께
- Why: 이것이 존재해야 하는 이유
- What: 참이어야 하는 것
- Not: AI가 넘지 못하는 선
- 파일 1개, 47줄, 신호
- AI가 추측 대신 실행합니다
02 — 프레임워크
의도 문서에는 네 개의 섹션이 있습니다. 그 이상은 없습니다.
문제, 목표, 성공 기준을 명시합니다. 이것이 바뀌면 의도가 바뀐 것입니다.
기능, 흐름, 엣지 케이스를 명시합니다. 구체적이되, 기술 스택, 아키텍처, 일정은 절대 지정하지 마세요.
AI가 넘을 수 없는 선을 명시합니다. 범위 제한, 보안 규칙, 품질 기준, 금지 사항.
시도한 것, 배운 것, 바뀐 것을 기록합니다. 이것이 의도를 더 날카롭게 만드는 방법입니다.
03 — 생명주기
의도는 고정되어 있지 않습니다. 학습을 통해 날카로워지거나 증거에 의해 사라집니다.
seed
→
exploring
→
clarified
→
build
killed
← 어떤 상태에서든 여기서 끝날 수 있습니다. 좋은 일입니다.
# INTENT — Legacy Converter
## Why
Problem: Legacy projects can't leverage vibe coding.
Hypothesis: An automated converter can bridge the gap.
Validation: Convert one small project, measure dev speed.
## What
- [ ] Scan legacy codebase structure
- [ ] Generate vibe-coding-ready CLAUDE.md
- [ ] Suggest refactoring candidates
## Not
Forbidden: Never modify source files without explicit confirmation
Scope: Node.js/TS only for now
## Learnings
[2026-04-01] Prototype v1 — type coverage was the key signal
[2026-04-05] User interview — they want CLAUDE.md generation most
04 — 파이프라인
인간은 의도를 정의하고 결과를 판단합니다. 나머지는 AI가 합니다.
✍
의도 작성
Why / What / Not 작성
인간
💡
학습 & 판단
결과를 검토합니다. 의도를 갱신하거나 폐기합니다
인간
05 — 원칙
네 가지 규칙. 어기면 AI가 추측을 시작합니다.
How를 쓰지 마라
의도는 제약을 설정하지, 구현을 지정하지 않습니다. "외부 캐시 레이어 금지"라고 쓰세요. "Redis를 사용하라"가 아니라.
불확실성을 인정하라
(?)로 불확실한 부분을 표시하세요. 솔직한 불확실성이 가짜 정밀도보다 낫습니다.
빠르게 폐기하라
아이디어가 죽었다면 선언하고 이유를 기록하세요. 폐기된 의도는 미래의 시간을 절약합니다.
의도의 정밀도 = 산출물의 품질
"좋은 앱을 만들어줘"는 소음입니다. "신규 사용자가 30초 안에 가치에 도달"이 의도입니다.
의도에서 시작하세요.
Why/What/Not을 작성하세요. 나머지는 AI에게 맡기세요.