막연한 생각을 '목표 1문장 + 핵심기능 3개 + 안 만들 것'으로 정리합니다.
- "○○ 만들고 싶어"
- "이런 거 가능해?"
- "다음 버전 키우고 싶어"
아이들 받아쓰기 연습시키는 앱 만들고 싶어
목표 = 초등 저학년이 혼자 받아쓰기를 연습하는 웹앱 / 핵심기능 3개 = 문제 듣기·답 채점·틀린 문제 다시보기 / 안 만들 것 = 회원가입·통계(다음 버전)
코딩을 몰라도, 평소 말하듯 요청하면
16명의 전문가가 프로그램을 완성합니다.
비개발자를 위한 자연어 개발 시스템
이 책자는 vibecoding 시스템을 처음 쓰는 분을 위한 안내서입니다.
당신의 직책은 CEO — 최종 결정권자입니다.
코딩 과정을 몰라도 괜찮습니다. 앞에서부터 한 장씩 읽으면, 무엇을 어떻게 말해야 하는지 자연스럽게 익힐 수 있습니다.
"만들고 싶다"는 한 문장을, 검증된 프로그램으로 데려가는 것 — 그것이 vibecoding의 목적입니다.
vibecoding은 코딩 지식이 전혀 없는 사람도 평소 말하듯 요청하면, 🧭 파일럿이 그 뜻을 알아채고 16명의 전문 페르소나(기획·디자인·개발·검증 담당자)에게 일을 나눠 맡기는 시스템입니다.
이렇게 말하면, 알맞은 담당자가 받습니다.
| 이렇게 말하면 | 이 담당자가 받습니다 |
|---|---|
| "가계부 앱 만들고 싶어" | 📋 기획자 |
| "에러 나는데 안 돼" | 🔧 수리공 |
| "이거 잘 만든 거 맞아?" | 🕵️ 감사관 |
| "어디까지 했더라?" | 🧭 파일럿 (이어서) |
당신 ──말로 요청──▶ 🧭 파일럿 ──적임자에게 배정──▶ 담당 페르소나 ──실행──▶ 결과 보고
시스템은 항상 "누가 · 무슨 일을 · 어떻게" 하는지 한 줄로 먼저 알려줍니다.
예: 💻 개발자가 /코딩으로 T003 작업만 진행합니다.
목표는 단순히 코드를 뱉는 것이 아닙니다. 기획 → 디자인 → 코딩 → 검증 → 배포의 전 과정을 누락·과잉·범위 이탈 없이 통과시키는 것입니다.
이 시스템은 '혼자 만들지만 혼자 판단하기는 불안한 사람'을 위해 설계했습니다.
| 이런 분에게 맞습니다 | 이유 |
|---|---|
| 코딩을 모르는 비개발자 | 모든 대화·문서·보고가 비개발자 눈높이의 한국어로 진행됩니다 |
| 혼자 만들지만 판단이 불안한 사람 | 16명이 서로 견제·검증합니다 — 한 사람 생각만으로 결정하지 않습니다 |
| "어디부터?"가 막막한 사람 | 기획자가 목표 1문장 + 핵심기능 3개 + 안 만들 것부터 정리합니다 |
| 만들다 멈추기를 반복하는 사람 | 진행 상태를 저장해, "이어서"라는 한마디로 정확히 재개합니다 |
읽기 전용 · 거부권 없음
도메인 자문 · 외부 정보 수집 (읽기 전용 · 결정권 없음)
핵심 설계: 만드는 사람 · 가능성을 보는 사람 · 평가하는 사람을 일부러 분리했습니다. 만든 사람이 자기 결과를 스스로 합격시키는 일이 생기지 않습니다.
같은 작업이라도, 이 시스템은 비개발자가 가장 자주 사고 나는 지점을 구조로 막아줍니다.
평소 말로 하면 파일럿이 알맞은 담당자에게 배정하고, 누가·무슨 명령으로·무엇을 하는지 먼저 한 줄로 선언합니다.
16명이 서로 견제합니다. 견제 담당(검수자·반론자·감사관 등)은 읽기만 하고 코드를 고치지 않으며, 거부권도 없습니다 — 압박이 아니라 점검입니다.
화면 · 로직 · 데이터를 모듈로 격리하고 요청과 직접 관련된 줄만 고쳐, 비개발자가 가장 두려워하는 "고치다 다 망가뜨림"을 구조로 막습니다.
과잉은 'YAGNI'로(요청 안 한 건 안 만듦), 누락은 '요구원장'으로(말한 요구를 번호로 박제·추적) 막습니다.
한도에 걸리거나 "그만"이라고 해도 진행 상태가 저장됩니다. "이어서 해줘" 한마디면 정확히 그 지점부터 재개합니다.
중요한 결정은 회의를 거치고 "회의록 없이 결재 없음"이 원칙입니다. "왜 이렇게 결정했지?"를 항상 되짚을 수 있습니다.
프로젝트가 끝나면 실수·개선점을 모아 "스킬 업데이트 해줘" 한마디로 시스템 자신을 보강합니다. 쓸수록 당신의 습관과 분야에 맞춰지는 도구가 됩니다. (자세히 → 8장)
외울 필요는 없지만 '누가 무슨 일을 하는지' 알면 더 정확히 요청할 수 있습니다. 각 명령어는 ① 한마디 ② 이렇게 말하면 ③ 실제 예시 ④ 결과로 정리했습니다.
막연한 생각을 '목표 1문장 + 핵심기능 3개 + 안 만들 것'으로 정리합니다.
아이들 받아쓰기 연습시키는 앱 만들고 싶어
목표 = 초등 저학년이 혼자 받아쓰기를 연습하는 웹앱 / 핵심기능 3개 = 문제 듣기·답 채점·틀린 문제 다시보기 / 안 만들 것 = 회원가입·통계(다음 버전)
기술 선택·외부 비용·요구사항 목록을 확정합니다. (확인 게이트 1)
받아쓰기 문제는 어떻게 들려주지?
음성 방식에 결정이 필요합니다.
(A) 무료 브라우저 음성 — 비용 0, 발음 단조로움
(B) 외부 음성 API — 자연스럽지만 비용 발생
어느 쪽으로 갈까요? (비용 드는 B는 CEO 결재 사안입니다)
화면 모양을 정합니다. 반응형·다크모드·사용성을 표준으로 점검합니다. (확인 게이트 2)
아이들이 쓰는 거니까 글씨 크고 버튼 큼직하게
반영했습니다. 큰 버튼·고대비 색·읽기 쉬운 글꼴로 화면 명세를 만들고, 이 화면대로 진행할지 확인 받겠습니다.
실제로 프로그램을 만듭니다. 모듈 골격을 먼저 세운 뒤 작업별로 구현·검증합니다.
이제 만들어줘
💻 개발자가 /코딩으로 진행합니다. 먼저 모듈 골격(화면·로직·데이터 칸막이)을 세우고, 작업을 T001·T002…로 나눠 하나씩 만들고 검증합니다.
"여기 좀 더 크게"처럼 막연히 말하면 여러 번 왔다 갔다 하며 시간·비용이 듭니다. 시스템은 화면에 좌표 격자와 이름표를 얹어, 한 번에 정확히 지시하도록 돕습니다.
대문자(위치)와 소문자(버튼)가 자연히 갈려서, 헷갈리지 않습니다.
a를 A4의 f 버튼 뒤로 옮겨줘
a(목표 패널)를 f 뒤(A4 위치)로 옮기고, 그 요소만 외과수술식으로 수정했습니다.
다른 예시: "p를 더 크게" / "c를 g 뒤로" / "i를 C2로"
에러를 안전하게 고칩니다. 유사 사례 조회 → 원인 진단 → 격리 수술 순으로.
채점 버튼 누르면 화면이 멈춰
증상을 진단합니다. 원인 후보 3개를 좁혀 관련된 줄만 수술하고, 같은 에러가 또 안 나도록 오류리포트에 기록합니다.
실제 사용 동선을 따라 직접 돌려봅니다. 버그가 나오면 수리공에게 넘깁니다.
실제로 잘 도는지 봐줘
문제 듣기 → 답 입력 → 채점 → 다시보기 동선을 실제로 실행했습니다. 3개 통과, 1개 이슈 발견 → 🔧 수리공에게 회부.
코드가 기획대로 됐는지(일치율 %)와 전체 구조를 감사합니다. 읽기만 하고 고치진 않습니다.
이거 제대로 만든 거 맞나 한번 봐줘
기획 명세와 92% 일치. 어긋난 2건은 정리담당으로, 의심 1건은 수리공으로 회부합니다. (저는 고치지 않습니다)
회부된 항목만 정리합니다. 동작이 바뀌지 않음을 증명하고, 다르면 되돌립니다.
회부된 2건만 정리했습니다. 정리 전후 동작이 같음을 확인했고, 달랐다면 자동 롤백됩니다. (새 기능은 추가하지 않습니다)
프로그램을 '칸막이(모듈)'로 정리해 어디를 고쳐야 할지 지도를 만듭니다.
코드에 '[무엇]/[왜]' 한글 설명을 달아줍니다 — 당신의 학습용입니다.
출고 점검 → 반론자 최종 이의 → 배포 → 실제 주소 확인 → 문서 정리까지 마칩니다.
이제 다른 사람도 쓰게 올리고 싶어
출고 게이트를 통과했고, 🚩 반론자가 마지막 이의를 검토했습니다. 배포 후 실제 주소로 접속까지 확인하고 사용설명서를 만들어 드립니다.
멈췄던 작업의 상태를 읽어 '어디까지 했는지' 브리핑하고 그 지점부터 재개합니다.
어제 하던 거 이어서 하자
상태를 확인했습니다. T004까지 완료, T005 채점 로직 진행 중이었습니다. 반쪽만 된 파일을 점검한 뒤, 묻지 않고 그 지점부터 이어갑니다.
| 명령어 | 언제 | 이렇게 말하면 |
|---|---|---|
/킥오프 | 새로 시작할 때 | "회의 시작", "착수하자" |
/점검 | 중간에 방향 확인 | "중간 점검", "잘 가고 있나" |
/결재 | 다 만들고 승인할 때 | "결재", "배포해도 되나" |
외울 필요는 없지만, 큰 그림을 알면 "지금 어디쯤인지" 감이 옵니다.
"○○ 만들고 싶어"
↓ 📋 기획자 /아이디어 → /기획 (확인1: 기획 확정)
↓ 🎨 디자이너 /디자인 (확인2: 화면 확정)
↓ 💻 개발자 /코딩 (모듈 골격 먼저!)
↓ 🔧 수리공 /오류수정 (필요할 때)
↓ 🕵️ 감사관 /코드리뷰 → 🧹 정리담당 /리팩토링
↓ ✅ 검수자 /테스트 → 🗂️ 관리인 /주석
↓ ✅ 검수자 /배포
완성 🎉 (멈추면 언제든 "이어서")
회의는 '결과 중 하나를 고르는 것'이 전부가 아닙니다. 회의 도중 채팅으로 새 기능을 제안하고, 논의를 넓히고, 반대 의견을 낼 수 있습니다. 당신은 관객이 아니라 참여자입니다.
| 회의 | 언제 | 당신(CEO)의 자리 |
|---|---|---|
/킥오프 | 새 기능·프로젝트 착수 | 맨 처음 무엇이 필요한지 말함 |
/점검 | 만드는 중간 방향 확인 | 이탈 여부를 함께 점검 |
/결재 | 완성품 배포 승인 | 마지막 전까지 침묵 → 최종 결정 |
회의는 정해진 보기에서 고르는 설문이 아닙니다. 채팅창에 평소 말로 끼어들면 됩니다. 아래 3가지가 대표적입니다.
킥오프 회의 도중
잠깐, 틀린 문제를 부모한테 문자로 보내주는 기능도 있으면 좋겠는데?
좋은 아이디어지만 지금 기획엔 없던 신규 기능입니다. 문자 발송은 외부 API·비용이 들어 CEO 결재 사안이고요.
이번 목표는 '아이 혼자 연습'입니다. 지금 넣으면 착수가 늦어집니다.
이번 버전 제외 + 🔭 다음 버전 후보로 보관을 권장합니다. 지금 넣을까요, 다음으로 미룰까요?
(권장안 도출 후 당신이 결정)
설계 질문에 답하다가
채점을 맞다/틀리다만 말고, 비슷하게 쓴 글자는 '아깝다'로 알려주면 어때?
채점 기준을 2단계(정답/오답)에서 3단계(정답/아깝다/오답)로 확장하는 논의로 받겠습니다.
구현 가능합니다. 다만 '아깝다' 기준을 정의해야 합니다.
이 갈림길을 먼저 토론한 뒤 결정하겠습니다.
결재 회의에서 본부장이 '배포 승인'을 낸 직후
디자인은 좋은데, 솔직히 우리 애가 이 글씨로는 못 읽을 것 같아요. 이대로는 못 쓰겠어요.
같은 우려입니다 — 실사용 관점에서 글씨가 작습니다.
이미 난 결정은 이 회의에선 유지되지만, 비동의를 회의록에 기록하고 다음 회의에서 반드시 재확인합니다.
'글씨 크기 키우기'를 가독성 보정 항목으로 등록하겠습니다.
(반대는 기록되고 다뤄집니다)
| 권한 | 내용 |
|---|---|
| 결정권 | 목적·방향·범위·최종 확정 — 당신만 행사, 즉시 유효 |
| 의견권 | 기획·설계·코드·디자인·배포 어디든 의견을 낼 수 있음 |
| 거부권 | 어떤 결정이든 막을 수 있는 최종 방어선 |
시스템을 잘 쓰려면 '시스템이 안 하는 것'과 '당신이 해야만 하는 것'을 알아야 합니다.
| 오해 | 진실 |
|---|---|
| "내 의견이니까 무조건 반영되겠지" | 의견은 검토 대상. 반영·거절 모두 이유를 붙여 답합니다. |
| "AI가 다 알아서 완벽하게" | 외부 API·비용·데이터 구조가 걸리면 당신에게 가져옵니다 — 그게 당신의 권한이라서. |
| "한 번에 다 끝내야 한다" | 멈춰도 됩니다. "이어서"가 더 안전합니다 (7장 노하우 ⑦). |
같은 시스템이라도, 이렇게 쓰면 결과물이 확 좋아집니다.
핵심기능 3개만큼이나 "이건 안 만든다"가 중요합니다. 범위가 흐리면 끝이 안 납니다. "이번엔 ○○까지만, 나머지는 다음 버전"이라고 못 박으세요.
"멋지게", "잘 되게" 같은 말은 시스템이 다시 묻습니다. 헷갈리는 용어(예: '회원' = 가입자? 결제자?)는 기능으로 바꾸기 전에 뜻을 확정하세요. 미루면 나중에 큰 수정이 됩니다.
전자동은 편하지만, 확인 게이트 2곳과 설계 질문이 당신 입력 지점입니다. 완전 위임하면 AI가 임시 답으로 채우고 'AI 추정'으로 기록합니다 — 중요한 프로젝트일수록 직접 답하는 게 완성도를 높입니다.
"이 줄 지워주세요"가 아니라 증상을 그대로 말하세요. "느려요"도 근본 원인을 진단합니다. 당황해서 코드를 직접 지우라고 하면 오히려 더 망가질 수 있습니다.
/테스트(실제 돌려보기) → /코드리뷰(기획 일치율 점검) → /배포(출고 게이트). 보고만 받지 말고, 테스트는 한 번 직접도 확인하세요.
멘토는 프로그램이 아니라 당신의 습관을 봅니다. 검증·보안 노트는 비개발자가 가장 자주 사고 나는 지점입니다.
피곤하거나 한도에 걸리면 "그만"이라고 하세요. 무리하게 한 번에 욱여넣다 흐름이 꼬이는 것보다, /이어서로 깔끔히 재개하는 게 완성도가 높습니다.
| 문서 | 역할 |
|---|---|
requirements.md (요구원장) | 당신이 말한 게 빠졌는지 추적하는 기준 — 가끔 열어보세요 |
errors.md (오류리포트) | 같은 에러 재발 방지 |
roadmap.md (확장로드맵) | 지금은 안 하지만 버린 건 아닌 아이디어 보관함 |
state.json | 중단·재개의 원천 |
"이 프로그램을 쓸 사람은 ○○입니다" 한 줄이 검증 정밀도를 바꿉니다. 👤 사용자대표가 그 눈높이로 테스트·회의에서 판단합니다. 지정 없으면 AI 추정으로 대체됩니다.
복지·교육·의료처럼 도메인 지식이 설계를 좌우할 때 "전문가 자문 요청해줘"라고 말하세요. 🔎 자문가(해석·판단) · 📚 정보원(자료 수집)이 자문합니다. 결정권은 없습니다.
이 시스템의 가장 큰 장점 — 프로젝트를 끝낼 때마다 도구 자체가 당신에게 맞게 개선됩니다. '남이 만든 도구'가 아니라 '나에게 맞춰지는 도구'가 됩니다.
프로젝트를 만들다 보면 실수·헷갈린 점·"다음엔 이렇게 하자" 싶은 교훈이 쌓입니다. 흘려보내지 않고, "스킬 업데이트 해줘" 한마디만 하면 시스템이 그 교훈을 vibecoding 자신의 규칙·절차에 반영합니다. 쓸수록 당신의 습관과 분야에 맞춰지는 도구로 자랍니다.
① 배포·결재가 끝난 뒤 (가장 자연스러움) / ② 회고를 쓸 때 / ③ 같은 에러가 3번 반복될 때 / ④ 그냥 "스킬 정비하자"고 할 때.
프로젝트 배포를 마친 뒤
이번 프로젝트 하며 느낀 점 반영해서 스킬 업데이트 해줘
기록에서 교훈 후보 2건을 모았습니다 (이미 반영된 건 제외).
① "당연한 기능이 누락됐다" → /기획에 '암묵 요구 점검' 강화
② "테스트를 보고만 받았다" → 멘토 노트에 직접 확인 항목 추가
각 항목을 채택·보류·기각 중에서 정해주세요.
①은 채택, ②는 보류
①만 반영하고 ②는 '다음 후보'로 남겼습니다. 바꾼 내용은 CHANGELOG에 날짜와 함께 기록했습니다. (기록 없는 스킬 수정은 미완료)
최근 업데이트로, 시스템이 기술 결정을 '감'이 아니라 내장된 지식 베이스에 근거해 내립니다. "왜 이렇게 만들었나"가 항상 근거에 연결됩니다.
| 종류 | 무엇을 담나 |
|---|---|
| 기술 개념 (TF) | 계층 분리·인증·네트워크·클라우드·DB·AI(LLM·RAG)·개인정보 보호 등 — 비개발자 비유로 정리된 기초 지식 |
| 방법론 (VC) | 바이브코딩을 잘 하는 법 — 작업을 작게 나누기, 성숙도 5단계, "AI를 맹신하지 않기" |
| 구현 패턴 (MP) | 로그인·DB·대시보드처럼 자주 나오는 모듈의 표준 설계 — 매번 새로 헤매지 않음 |
이 내용을 당신이 알 필요는 없습니다. 담당자들이 이 근거 위에서 일하므로 결과가 더 일관되고 설명 가능해집니다.
"○○ 만들고 싶어"
↓ 📋 /아이디어 → /기획 (확인1) → 🎨 /디자인 (확인2)
↓ 💻 /코딩 → 🔧 /오류수정 → 🕵️ /코드리뷰 → 🧹 /리팩토링
↓ ✅ /테스트 → 🗂️ /주석 → ✅ /배포 → 완성 🎉
↓ 멈추면 → "이어서" / 큰 결정은 → 회의(/킥오프·/점검·/결재) / 끝나면 → "스킬 업데이트"
| 명령어 | 담당 | 한마디 |
|---|---|---|
/아이디어 | 📋 기획자 | 목표·핵심3·안 만들 것 정리 |
/기획 | 📋 기획자 | 기술·비용·요구 확정 (확인1) |
/디자인 | 🎨 디자이너 | 화면 모양 확정 (확인2) |
/코딩 | 💻 개발자 | 실제 제작 (모듈 골격 먼저) |
/오류수정 | 🔧 수리공 | 에러 안전하게 수술 |
/테스트 | ✅ 검수자 | 실제 동선 돌려보기 |
/코드리뷰 | 🕵️ 감사관 | 기획 일치·구조 감사(읽기만) |
/리팩토링 | 🧹 정리담당 | 회부분만 정리(동작 불변) |
/모듈 | 🗂️ 관리인 | 칸막이 지도 정리 |
/주석 | 🗂️ 관리인 | 한글 학습 주석 |
/배포 | ✅ 검수자 | 출고·배포·문서화 |
/이어서 | 🧭 파일럿 | 멈춘 지점부터 재개 |
/킥오프 · /점검 · /결재 | ⚖️ 수석 | 착수 · 중간점검 · 승인 회의 |