바이브코더를 위한 개발 설계의 정석
한 줄 핵심
바이브 코딩에서도 결과물의 품질을 좌우하는 핵심은 프롬프트보다 3계층 레이어드 아키텍처로 요구사항을 나누고, 그 설계를 AI와 티키타카하며 검증하는 능력이다.
시간별 요약
-
1:01
강의 목표와 문제의식 이 강의는 클린 아키텍처를 바탕으로 바이브 코딩을 더 정확하게 하는 방법을 다룬다. 단순히 코드를 생성하는 데서 끝나지 않고, 무엇이 좋은 코드인지 판단하고 지시하는 감각을 기르는 데 초점이 맞춰져 있다.
-
4:01
실습 환경과 전제 조건 실습을 따라 하려면 Node JS, VS Code, Claude Code가 필요하다. 다만 도구보다 더 중요한 것은 AI에게 무엇을 어떻게 맡길지 설계하는 사고방식이다.
-
6:01
AI 시대에도 필요한 개발 판단 AI가 누구나 개발자가 되게 만들었지만, 실제로는 수준 차이가 더 중요해졌다. 버그와 토큰 낭비를 줄이려면 AI가 길을 잃지 않도록 방향을 제시하고 반론과 수정이 가능한 인간의 판단이 필요하다.
-
12:02
설계가 구현보다 중요한 이유 구현은 프롬프트 한 번으로 끝날 수 있지만, 설계는 그 이전에 여러 번의 대화와 확인이 필요하다. 목표는 better input output이며, 소프트웨어의 큰 그림을 머릿속에서 먼저 스케치할 수 있어야 한다.
-
13:03
3계층 구조의 기본 소프트웨어는 프레젠테이션, 로직, 데이터라는 3계층으로 나누는 것이 기본이다. 각 계층은 화면, 비즈니스 규칙, 데이터 저장이라는 서로 다른 책임을 맡아야 코드가 덜 꼬인다.
-
17:02
식당 비유로 이해하는 책임 분리 프레젠테이션은 손님 응대와 전달, 로직은 주방의 판단과 조리, 데이터는 재료 보관과 출납에 해당한다. 각 역할을 한 사람이 다 맡기 시작하면 당장은 편하지만 곧 복잡도와 결합도가 폭증한다.
-
23:02
깔끔한 코드의 실제 효과 계층을 분리하면 버그의 책임 소재가 명확해지고, 수정 범위도 줄어들며, 테스트하기가 쉬워진다. 특히 프레젠테이션만 바꾸는 작업과 데이터만 바꾸는 작업을 분리할 수 있어 유지보수가 안전해진다.
-
30:00
실제 예시로 보는 계층 분리 OpenClaude, 구독 피드, 가게부 앱 같은 예시에서 로직은 화면과 데이터 사이에서 순수한 비즈니스 판단만 담당하도록 분리된다. 이렇게 나누면 UI 변경, 저장소 변경, 기능 추가가 서로 덜 간섭한다.
-
36:02
계층 간 경계와 잘못된 결합 프레젠테이션이 데이터 레이어를 직접 건드리면 계층 구조가 무너진다. Next JS에서 컴포넌트에 SQL을 넣는 방식이 논란이 된 이유도 클라이언트가 데이터베이스를 직접 알게 되어 경계가 깨지기 때문이다.
-
41:00
AI와 함께 설계하는 실습 가게부 앱을 만들면서 Claude Code에게 설계, 테스트, 구현을 맡기되 설계안은 그대로 믿지 않고 검토와 반박을 반복한다. 특히 레이어 배치, 에러 메시지, 시간 주입, 저장소 추상화 같은 부분을 티키타카로 다듬는 과정이 핵심이다.
-
1:30:01
결론과 학습 방향 기능 구현 전에 3계층으로 설계를 지시하고, 그다음 계층별 테스트를 작성하며, 마지막에 AI가 제안한 구조를 평가하는 습관이 중요하다. 개발자는 직접 모든 코드를 손으로 치는 사람이 아니라, 설계를 검토하고 방향을 조정하는 사람에 가까워야 한다.
실무 인사이트
- 바이브 코딩의 품질은 프롬프트 길이가 아니라 계층 분리와 검증 질문의 질에서 결정된다.
- AI에게 구현을 맡기더라도, 사람은 계층 경계와 책임 분리를 판단하는 피드백 루프를 반드시 가져야 한다.
- 새 기능을 추가할 때마다 먼저 프레젠테이션·로직·데이터로 나뉘는지 점검하면, 이후 테스트와 유지보수 비용을 크게 줄일 수 있다.