
State of Vibe Coding: 프로덕션까지 가는 길
AI 코딩 도구와 실제 프로덕트 사이의 거리
요즘 AI 코딩 도구로 누구나 앱을 만들 수 있다는 말이 많다. 실제로 Claude Code를 쓰면 놀랍다. “Todo 앱 만들어줘”라고 하면 진짜로 작동하는 앱이 나온다.
그런데 왜 90%가 중간에 포기할까?
문제는 간단하다. 데모는 만들 수 있는데, 진짜 사람들이 쓸 수 있는 앱으로 만들기가 어렵다.
뭐가 다른가?
“Todo 앱 만들어줘”라고 하면 이렇게 나온다:
- ✓할일 추가하기, 지우기 기능: 잘 됨
- ✗인터넷 연결 끊기면: 앱이 멈춤
- ✗에러 나면: 하얀 화면만 나옴
- ✗할일이 하나도 없으면: 하얀 화면만 나옴
- ✗버튼 누르면: 반응이 없어서 계속 누르게 됨
실제로 쓸 수 있게 만들려면 이런 것들까지 다 말해줘야 한다:
“Todo 앱 만들어줘. 인터넷 끊겨도 작동하게, 에러 나면 메시지 보여주게, 할일 없으면 안내 문구 보여주게, 버튼 누르면 로딩 표시 나오게 해줘”
핵심은 “무엇을 요청해야 하는지” 아는 것
Claude Code는 시키는 것은 다 잘한다. 문제는 뭘 시켜야 하는지 모른다는 것이다.
예를 들어:
- →“이 페이지 느린데 문제 찾아줘”라고 물어보면 찾아준다
- →“보안 설정 안전하게 해줘”라고 하면 해준다
- →“어떤 에러 상황을 고려해야 해?”라고 물어보면 알려준다
하지만 이런 질문을 하려면
기본 용어는 알아야 한다. “로딩”, “에러”, “보안” 같은 개념 말이다.
요리로 비유하면
기본: “파스타 만들어줘” → 파스타는 나온다.
레스토랑 수준: “파스타 만들어줘. 면은 알덴테로, 소스는 진하게, 치즈는 많이, 플레이팅은 예쁘게”
AI한테 요리를 시키려면 최소한 “알덴테”가 뭔지는 알아야 한다는 얘기다.
왜 어렵게 느껴질까?
코딩을 못해서가 아니다. 복잡한 명령어 같은 건 AI가 다 알아서 한다.
문제는 “앱이 완성되려면 뭐가 필요한지” 모른다는 것이다.
식당을 차린다고 생각해보자:
✅ 쉬운 것들
- • “테이블 놓아줘”: AI가 해줌
- • “간판 만들어줘”: AI가 해줌
⚠️ 식당을 실제로 열려면
- • 의자도 필요하고
- • 주방 기구도 필요하고
- • 화장실 표시도 필요하고
- • 소화기도 필요하고
- • 비상구도 필요하다
경험 없는 사람: “테이블이랑 간판만 있으면 식당 아냐?”
경험 있는 사람: 이 모든 게 필요하다는 걸 안다.
AI는 “소화기 놓아줘”라고 하면 놓아준다. 근데 소화기가 필요하다는 걸 모르면 요청조차 못한다.
경험자가 빠른 이유
엔지니어링 지식이 많아서가 아니다. “뭘 챙겨야 하는지” 아니까.
예를 들면:
- →로딩 중일 때 화면 처리
- →에러 났을 때 사용자한테 알려주기
- →아무것도 없을 때 안내 문구 보여주기
- →개발용과 실제 사용자용 환경 분리하기
이런 게 필요하다는 걸 알면, AI한테 시키면 된다.
근데 이게 필요한지 모르면 시작조차 못한다.
앞으로 어떻게 될까?
좋은 소식: AI가 계속 좋아진다.
1년쯤 후면 아마 이렇게 될 것 같다:
“버튼 만들어줘”라고 하면
AI가 “이 버튼 누르면 데이터 보내는 거죠? 그럼 로딩 표시랑 에러 처리 같이 넣을까요?” 물어볼 것이다.
지금은 사람이 챙겨야 하는 것들을 AI가 알아서 제안해주는 시대가 올 것이다.
하지만 여전히 사람이 정해야 하는 것:
- • 뭘 만들지
- • 왜 만드는지
- • 누구를 위한 건지
- • 어떻게 생겼으면 좋을지
“버그 가득한 코드”라는 오해
“Claude Code는 버그 가득한 코드만 만들어요.”
이 말을 수도 없이 들었다. 하지만 진실은 조금 다르다. Claude Code는 당신이 요청한 것을 정확히 만든다. 문제는 당신이 요청하지 않은 것들이다.
실제 시나리오: Todo 앱 만들기
기본 프롬프트:
“Firebase를 사용하는 Todo 앱 만들어줘”✅ Todo 추가/삭제/수정 기능
✅ Firebase 연동 코드
❌ 로딩 상태 처리 (화면이 깜빡임)
❌ 에러 메시지 (Firebase 연결 실패시 앱 크래시)
❌ 빈 상태 UI (Todo가 없을 때 하얀 화면)
프로덕션을 고려한 프롬프트:
Firebase를 사용하는 Todo 앱을 만들어줘.
요구사항:
- Optimistic updates와 실패시 rollback
- Loading/Error/Empty states 모두 처리
- Firebase auth token 자동 갱신
- Network offline 감지 및 Queue 구현
- Debounced input으로 과도한 API 호출 방지
- React Query로 캐싱 및 refetch 전략 구현
- Error boundary로 전역 에러 처리
- Sentry 연동으로 프로덕션 에러 추적핵심 차이:
후자는 프로덕션에서 발생할 수 있는 예외 상황들을 미리 명시한다. 전자는 “행복한 경로(happy path)”만 작동하는 데모 수준의 코드가 나온다.
결론
Claude Code 같은 AI 도구는 정말 혁명적이다.
하지만 망치가 좋다고 모두가 집을 지을 수 있는 건 아니다.
AI는 실행 속도를 10배로 만들어준다. 하지만 무엇을 만들지 결정하는 건 여전히 사람이다.
“코딩을 배워라”가 아니라
“무엇이 필요한지 알아라”가 핵심이다.
시작하려면?
1. 웹 개발 기초 강의 하나 정도는 들어보자
코딩을 배우는 게 아니라 “어떤 것들이 필요한지” 감을 잡기 위해서다.
2. 잘 만든 앱들을 써보면서 관찰하자
“로딩할 때 어떻게 보여주지?” “에러 나면 어떻게 알려주지?” 이런 걸 눈여겨보자.
3. AI한테 적극적으로 물어보자
“이걸 만들려면 뭘 고려해야 해?” “빠뜨린 게 있을까?” 이런 식으로.
AI 시대에 개발자가 되는 건 생각보다 쉬워졌다.
하지만 여전히 “무엇을 만들 것인가”를 아는 사람이 필요하다.
Written by 태재미래전략연구원 연구원 / tobl.ai 대표
AI 시대의 개발 워크플로우와 프로덕션 배포에 관심이 있습니다.
문의: AI 개발 워크플로우 구축이나 프로덕션 배포 과정에서 도움이 필요하시면 tobl.ai를 참고해주세요.