"AI가 코드 짜준다는데, 나는 왜 더 바빠졌지?"
도구를 설치한 건 맞는데, 도구가 뱉어낸 코드를 수습하느라 퇴근이 더 늦어지는 경험. 이 글은 도구 소개가 아니라, 바이브 코딩이 실제로 '시간을 줄여주는' 구조를 만드는 법을 다룹니다.
"바이브 코딩은 '빠르게 짜는 법'이 아니라, '내가 안 짜도 되는 영역'을 정확히 구분하는 일이다."
목차
- 1) 바이브 코딩, 정확히 뭐고 뭐가 아닌가
- 2) 도구 선택 기준 — Cursor vs Claude Code vs Copilot 비교표
- 3) 프로젝트 초기 세팅: .cursorrules / CLAUDE.md 설정법
- 4) 실전 워크플로 3개 (복붙 프롬프트 포함)
- 5) '안 터지는' 바이브 코딩 체크리스트
- Q&A 1) 회사에서 써도 보안 문제 없나요?
- Q&A 2) 무료로도 충분한가요?
- Q&A 3) AI가 뱉은 코드 품질이 들쭉날쭉합니다
vibecoding 순서
1) 바이브 코딩, 정확히 뭐고 뭐가 아닌가
2025년 2월, OpenAI 공동창업자 안드레이 카파시(Andrej Karpathy)가 X(구 트위터)에 올린 한 문장이 시작점이다.
"There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
정의는 이렇다. 자연어로 의도를 설명하면 AI가 코드를 생성하고, 개발자는 결과의 작동 여부를 확인하며 반복 지시를 내리는 워크플로. 핵심은 '코드를 한 줄씩 작성하는 것'에서 '코드를 지시하고 검증하는 것'으로 역할이 바뀐다는 점이다.
여기서 반드시 구분해야 할 게 있다. 카파시 본인도 2026년 2월, 1주년을 맞아 올린 후속 포스트에서 이걸 명확히 했다.
| 구분 | '순수한' 바이브 코딩 | AI 지원 엔지니어링 (Agentic Engineering) |
|---|---|---|
| 코드 검토 | 안 함 — 작동하면 OK | 반드시 검토 — 이해한 코드만 머지 |
| 적합 범위 | 주말 프로젝트, 프로토타입, 일회성 스크립트 | 프로덕션 코드, 팀 프로젝트, 장기 운영 |
| 리스크 | 보안 취약점, 기술 부채 누적 | 상대적으로 낮음 (검증 단계 존재) |
| 실무 권장 여부 | 개인 실험용으로만 | ✅ 실무 적용 가능 |
이 글에서 다루는 건 오른쪽 열, 즉 AI의 생성력을 활용하되 품질과 보안에 타협하지 않는 구조화된 워크플로다. "느낌으로 코딩"이 아니라, "느낌을 시스템으로 전환"하는 방법이다.
2) 도구 선택 기준 — Cursor vs Claude Code vs Copilot 비교표
도구를 먼저 고르지 말 것. 아래 7가지 기준에서 본인 환경에 점수를 매긴 뒤 선택하는 게 순서다.
체크 기준 7가지: ① 보안/정책 충족 ② 기존 IDE·도구 연동 ③ 컨텍스트 윈도우(긴 파일 처리) ④ 코드 품질 ⑤ 월 비용 ⑥ 결과 재현성 ⑦ 추론 과정 감사 가능성
| 항목 | Cursor Pro | Claude Code | GitHub Copilot |
|---|---|---|---|
| 월 비용 | $20/월 | $20/월 (Pro) ~ $200/월 (Max) | $10/월 (Pro) |
| 작동 환경 | 독립 IDE (VSCode 포크) | 터미널 (CLI) | VSCode/JetBrains 플러그인 |
| 강점 | 멀티 파일 편집, 큰 컨텍스트 윈도우, 에이전트 모드 | 아키텍처 설계, 복잡한 추론, 코드리뷰 품질 | 자동완성 속도, GitHub 생태계 통합 |
| 약점 | 크레딧 소모가 빠를 수 있음 | 토큰 과금 구조 → 비용 예측 어려움 | 복잡한 멀티 파일 작업에 약함 |
| 추천 상황 | 일상 개발 (빠른 반복) | 설계/리뷰/리팩터링 (깊은 추론) | 보조 자동완성 + GitHub PR 연동 |
1인 개발자 실무 조합 추천: Cursor Pro($20) + Copilot Free 또는 Pro($10). 일상 코딩은 Cursor, PR 자동완성은 Copilot. 아키텍처 검토가 필요한 주에만 Claude Code를 스팟으로 사용하면 월 $30 이내에서 커버 가능하다.
![]() |
| AI 코딩 툴 비교 |
3) 프로젝트 초기 세팅: .cursorrules / CLAUDE.md 설정법
바이브 코딩에서 가장 많이 실패하는 지점은 '도구 설치 직후'다. 프롬프트를 바로 날리면 AI는 프로젝트 맥락을 모른 채 일반적인 코드를 뱉는다. 프로젝트 루트에 규칙 파일을 두는 것이 바이브 코딩의 실질적인 '첫 번째 단계'다.
Cursor: .cursor/rules/ 디렉토리 세팅
# .cursor/rules/project.mdc --- description: 프로젝트 전체 규칙 globs: ["**/*"] --- ## 프로젝트 개요 - 이 프로젝트는 Next.js 14 + TypeScript 기반 SaaS 대시보드 - 스타일: Tailwind CSS, shadcn/ui 컴포넌트 사용 - 상태관리: Zustand ## 코딩 규칙 - 함수형 컴포넌트만 사용, class 컴포넌트 금지 - 모든 API 호출은 /lib/api/ 디렉토리에서만 - console.log 금지 — 디버깅은 logger 유틸 사용 - 에러 핸들링: try-catch + 사용자 친화적 메시지 필수 ## 금지 사항 - 고객 데이터(이름, 이메일, 결제정보) 예시에 사용 금지 - 외부 API 키를 코드에 하드코딩 금지 - node_modules, .env 파일 수정 금지
Claude Code: CLAUDE.md 파일 세팅
# CLAUDE.md (프로젝트 루트)
## 이 프로젝트는
Express + PostgreSQL 기반 REST API 서버.
인증: JWT, ORM: Prisma, 테스트: Vitest.
## 반드시 지킬 것
- 새 엔드포인트 추가 시 반드시 Vitest 테스트 파일 함께 생성
- DB 스키마 변경 시 Prisma 마이그레이션 명령어 안내 포함
- 응답 형식: { success: boolean, data: T, error?: string }
## 절대 하지 말 것
- .env 값을 출력에 포함하지 않기
- 실제 사용자 데이터와 유사한 예시 사용 금지
이 파일이 있고 없고의 차이는 "매번 5줄짜리 맥락 설명을 반복하느냐 vs 첫 프롬프트부터 정확한 코드가 나오느냐"의 차이다. 한 번 세팅하면 그 프로젝트에서 쓰는 모든 AI 상호작용의 품질이 올라간다.
4) 실전 워크플로 3개 (복붙 프롬프트 포함)
워크플로 ① 기능 구현 → 테스트 → PR 설명 한 번에
적용 도구: Cursor Agent 모드
[작업 요청] /features/dashboard에 "최근 7일 매출 차트" 컴포넌트를 추가해줘. [조건] - recharts 라이브러리 사용 - API 엔드포인트: GET /api/sales?period=7d (이미 존재) - 로딩 상태: skeleton UI 적용 - 에러 상태: "데이터를 불러올 수 없습니다" 메시지 [추가 작업] 1. 위 컴포넌트에 대한 단위 테스트를 vitest로 작성 2. 이 변경사항에 대한 PR Description을 아래 형식으로 생성: - What / Why / How - Risk & Rollback - Test Plan
워크플로 ② 버그 원인 분석 + 수정 가설 3개
적용 도구: Claude Code (터미널)
[상황] 프로덕션에서 간헐적 500 에러 발생. 에러 로그: "PrismaClientKnownRequestError: Connection pool timeout" 발생 빈도: 피크 타임(14~16시) 집중 [요청] 1. 이 에러의 가능한 원인 가설 3개 (가능도 높은 순) 2. 각 가설별 확인 방법 (가장 적은 비용으로 검증할 수 있는 순) 3. 즉시 적용 가능한 임시 조치 1개 4. 근본 해결을 위한 코드 변경안 [제약] - 추측이면 "확인 필요"로 표기 - DB 접속 정보 묻지 말 것
워크플로 ③ 레거시 코드 리팩터링 계획 생성
적용 도구: Claude Code 또는 Cursor
[대상] /src/utils/helpers.js (400줄, 함수 23개, 테스트 없음) [요청] 1. 이 파일의 함수들을 책임 단위로 분류 2. 분리 대상 모듈 3개 제안 (파일명 + 포함 함수 목록) 3. 각 모듈별 테스트 파일 뼈대 생성 4. 리팩터링 순서 제안 (의존성 낮은 것부터) [규칙] - 기존 외부 인터페이스(export)는 변경하지 않을 것 - 한 번에 전부 바꾸지 말고, PR 3개로 나눌 수 있게 구성
5) '안 터지는' 바이브 코딩 체크리스트
| 단계 | 체크 항목 | 필수 여부 |
|---|---|---|
| 세팅 | .cursorrules 또는 CLAUDE.md에 프로젝트 규칙 작성 | ✅ 필수 |
| 세팅 | 민감정보(API키, 고객데이터) 입력 금지 규칙을 규칙 파일에 명시 | ✅ 필수 |
| 생성 | AI가 생성한 코드를 읽고 이해한 뒤에만 적용 | ✅ 필수 |
| 생성 | 프롬프트에 '출력 형식 + 금지 규칙 + 예시 1개' 포함 | ✅ 필수 |
| 검증 | 생성된 코드에 대한 자동 테스트 작성(또는 AI에게 테스트 생성 요청) | ✅ 필수 |
| 검증 | 린터/포매터 자동 실행 (ESLint, Prettier 등) | 권장 |
| 운영 | 성공한 프롬프트를 템플릿으로 저장·공유 | 권장 |
| 운영 | 업무 1개에서 성공 확인 후 2개로 확장 | 권장 |
Q&A 1) 회사에서 써도 보안 문제 없나요?
도구 자체의 보안보다 입력 규칙이 핵심이다. 회사 코드를 외부 AI에 보내는 것 자체가 정책 위반인 곳이 많다. 확인해야 할 3가지: ① 회사 보안 정책에서 외부 AI 도구 사용을 허용하는가, ② 허용한다면 어떤 데이터까지 입력 가능한가, ③ 해당 도구가 입력 데이터를 학습에 사용하지 않는 옵션(Zero Data Retention)을 제공하는가. Cursor는 Privacy Mode 설정이 있고, GitHub Copilot은 Business/Enterprise 플랜에서 코드 비학습 옵션을 제공한다.
Q&A 2) 무료로도 충분한가요?
GitHub Copilot Free + Cursor 무료 체험으로 시작하는 건 가능하다. 다만 무료 플랜은 컨텍스트 윈도우, 요청 횟수, 모델 선택에 제한이 있어서, 하루 20회 이상 AI를 쓰게 되는 시점이 오면 유료가 시간 절약이 된다. 월 $20~30 수준의 투자로 매일 30분~1시간을 아낄 수 있는지를 기준으로 판단하면 된다.
Q&A 3) AI가 뱉은 코드 품질이 들쭉날쭉합니다
90% 이상의 품질 편차는 프롬프트 구조에서 온다. 세 가지만 추가하면 재현성이 크게 올라간다. ① 출력 형식을 지정한다("TypeScript 함수로, JSDoc 주석 포함"), ② 금지 규칙을 건다("any 타입 사용 금지, 3rd party 라이브러리 새로 추가 금지"), ③ 예시를 1개 넣는다("기존 /lib/api/users.ts와 동일한 패턴으로"). 이 세 가지가 없는 프롬프트는 AI에게 "알아서 해"라고 말하는 것과 같다. 알아서 하면 매번 다르게 한다.
CTA: 댓글로 '바이브 코딩으로 만들어본 것'을 남겨주세요. 실전 프롬프트 템플릿 모음(.cursorrules 예시 5종 + 워크플로 프롬프트 10개)을 공유드립니다.


댓글 쓰기