바이브 코딩으로 앱은 만들어지는데, 왜 끝나지는 않을까.
저는 1년 넘게 AI 에이전트에게 시켜서 저장소 18개를 만들었습니다. 캘린더 앱, 실시간 PvP 게임, 가챠 게임, 유튜브 자동화 스튜디오, 숏폼 드라마 파이프라인, 자동매매 전략. 그 과정에서 Implementation Plan 306건, Review 118건, Spec 22건, ADR 13건이 쌓였습니다. 총 123만 단어.
출시한 건 하나도 없습니다. 전부 만들다 말았습니다.
열아홉 번째만 다릅니다. 매일 밤 혼자 돌아서 영상을 만들고 올리는 파이프라인이 하나 있습니다. 채널은 밝히지 않지만(익명 운영), 어떻게 돌아가는지는 공개합니다. 이 팩은 앞의 열여덟 개에서 나왔습니다.
무엇이 문제였는지 문서 792건을 전부 다시 읽고 골격만 추려냈습니다. 이 팩은 그 결과입니다. 성공 사례에서 뽑은 게 아니라, 더 멀리 간 것과 일찍 멈춘 것의 차이에서 뽑았습니다. 그래서 이건 "이렇게 하면 됩니다"가 아니라 "이게 없으면 여기서 멈춥니다"에 가깝습니다.
| # | 파일 | 언제 쓰나 | 없으면 벌어지는 일 |
|---|---|---|---|
| 1 | AGENTS.md | 저장소를 만들 때 한 번 | 에이전트가 옆 프로젝트 규칙을 끌고 온다 |
| 2 | CLAUDE.md | 저장소를 만들 때 한 번 | 매 세션 앞부분을 구조 파악에 태운다 |
| 3 | IMPLEMENTATION_PLAN.md | 작업을 시키기 전에 | 잘못된 전제 위에서 성실하게 잘못된 것을 만든다 |
| 4 | REVIEW.md | "다 했습니다"를 들은 후에 | "대체로 완료"로 뭉개진 채 다음 단계로 간다 |
| 5 | SPEC-with-REQ-ID.md | 규칙이 세 개를 넘을 때 | 사양이 바뀌어도 어떤 코드가 영향받는지 모른다 |
| 6 | HANDOFF.md | 컨텍스트가 70% 찼을 때 | 매 세션 30분을 "뭐 하던 중이었지"에 쓴다 |
AGENTS.md 어떻게 일하는가 ─┐
CLAUDE.md 이 코드가 무엇인가 ─┴─ 저장소당 한 번, 계속 갱신
PLAN ─→ 구현 ─→ REVIEW ─┐
↑ │ ❌ 계획에 없지만 필요한 항목
└──────────────────────────┘ 이 화살표가 다음 PLAN의 1번이 된다
SPEC + ADR 규칙이 늘어나면 분리 HANDOFF 세션이 끊길 때마다
- 코드는 설계하고 판정한다. 모델은 쓴다. 코드가 내용을 지어내려 하면 라벨을 이어 붙인 명세서가 나오고, 그 명세서로 만든 결과물은 반드시 무너집니다.
- 모든 규범 문장에 ID를 박는다. 참조할 주소가 없는 사양은 지켜지는지 확인할 방법도 없습니다.
- 한 번 헤맨 것은 반드시 남긴다. 남기지 않으면 다음 세션에서 똑같이 헤맵니다. 세 번째까지 갑니다.
node tools/token-cost.mjs
node tools/token-cost.mjs --total 35250000000 # 프로필의 누적 토큰으로 환산로컬 세션 기록(~/.claude/projects/)만 읽습니다. 네트워크를 쓰지 않고 아무것도 전송하지 않습니다.
제 결과는 이랬습니다.
누적 352.5억 토큰 · 채팅 3,577회 · 최장 세션 18시간 28분 · 최장 연속 90일
API 요금 환산 2,300만 ~ 3,300만원 (추정)
실제 낸 구독료 약 150만원 (월 13만원)
출시한 앱 0개 (19번째 파이프라인만 예외)
환산액은 실제 결제액이 아닙니다. 구독제로 썼으니 실제 지출은 구독료입니다. 두 숫자는 반드시 구분해서 봐야 합니다. 스크립트도 그렇게 출력합니다.
그리고 이 숫자가 이 팩의 존재 이유입니다. 돈도 시간도 도구도 부족하지 않았는데 아무것도 안 나왔습니다. 남은 설명은 구조뿐이었습니다.
{중괄호} 부분만 채우면 됩니다. 전부 채우려 하지 마세요 — 해당 없는 절은 지우는 게 낫습니다.
비어 있는 표가 남아 있으면 에이전트가 그걸 채우려고 없는 사실을 만들어 냅니다.
가장 효과가 빠른 순서는 2 → 1 → 3입니다. CLAUDE.md 하나만 제대로 써도 세션 시작 비용이 눈에 띄게 줄어듭니다.
라이선스: 자유롭게 쓰고 고치고 배포해도 됩니다. 출처 표기는 필요 없습니다.
원본 저장소: github.com/alarmpet