자연어로 코딩하는 새로운 개발 방식
이 장이 강의의 핵심이다. "코드를 한 줄도 직접 작성하지 않고, AI에게 자연어로 요청해서 프로그램을 만드는 것" — 그게 바이브 코딩이다.
7-1. 바이브 코딩이란?
한 줄 정의
"코드를 한 줄도 직접 작성하지 않고, AI에게 자연어로 요청해서 프로그램을 만드는 새로운 개발 방식"
시작은 한 명의 트윗
2025년 2월, OpenAI 공동창립자이자 테슬라 전 AI 디렉터였던 Andrej Karpathy가 처음 제안한 개념이다.
그는 자기 프로젝트를 만들면서 이렇게 표현했다.
Andrej Karpathy, 2025-02
"프로젝트를 만들고 있는데, 코딩이라기보다는 그냥 보고, 말하고, 실행하고, 복붙하고… 그런데 거의 다 잘 동작한다."
그가 이 새로운 방식을 가리켜 처음 쓴 표현이 "Vibe Coding"이었다.
비유: 오케스트라 지휘
기존 코딩 = 악기를 직접 연주하는 것
바이브 코딩 = 지휘자가 되어 오케스트라(AI)에게 곡을 지시하는 것
음을 하나하나 누르지 않아도, "더 빠르게", "감정을 더 실어서"라고 요청하면 원하는 음악이 만들어진다.
기존 개발 vs 바이브 코딩
구분 | 기존 개발 | 바이브 코딩 |
|---|---|---|
핵심 능력 | 문법 암기, 알고리즘 구현 | 명확한 요구사항 전달, 결과 검증 |
작업 방식 | 한 줄씩 직접 타이핑 | AI에게 자연어로 지시 |
학습 기간 | 수개월 ~ 수년 | 며칠 ~ 수 주 |
디버깅 | 코드를 직접 읽고 분석 | AI에게 오류 메시지 전달 |
진입 장벽 | 높음 | 낮음 |
7-2. 바이브 코딩 개발 도구
① 모델 선택형 도구
사용자가 원하는 AI 모델(Claude, GPT, Gemini 등)을 직접 선택하는 방식.
도구 | 특징 |
|---|---|
Cursor | VS Code 기반 AI 에디터. 다양한 모델 지원 |
Windsurf | Codeium이 만든 AI 에디터 (2025년 Cognition 인수) |
Replit | 브라우저에서 바로 개발 가능한 클라우드 IDE |
GitHub Copilot | VS Code 확장으로 동작 |
② 전용 모델형 (CLI 기반) 도구
특정 회사가 만든 모델에 최적화된 명령줄 도구.
도구 | 회사 | 특징 |
|---|---|---|
Claude Code ⭐ | Anthropic | Claude에 최적화. 가장 강력한 코딩 능력 |
Antigravity CLI | Gemini 기반. 멀티 에이전트 오케스트레이션 (Antigravity 2.0 플랫폼) | |
Codex CLI | OpenAI | GPT 계열 모델 사용 |
Gemini CLI → Antigravity CLI 전환
구글이 운영하던 Gemini CLI는 2026년 6월 18일부로 종료되고 Antigravity CLI로 통합된다 (무료·Pro·Ultra 사용자 대상). Antigravity CLI는 Go 언어 기반으로 더 빠르고, 여러 에이전트를 동시에 돌리는 멀티 에이전트 패러다임을 채택했다. Claude Code, Codex CLI 등이 주도하는 "에이전트형 코딩" 흐름을 구글이 따라가는 모습. 단, 기존 Gemini Code Assist Standard/Enterprise 라이선스 사용자는 그대로 유지된다.
이 강의에서는
본 강의에서는 Claude Code를 중심으로 학습한다. 코딩 능력이 가장 뛰어나고 MCP 생태계가 가장 풍부하다.
7-3. PRD (Product Requirements Document) 작성
PRD란
"AI에게 무엇을 만들어달라고 요청할지, 사람의 말로 정리한 설계 문서"
바이브 코딩에서 가장 중요한 것은 "무엇을 만들지 명확히 정의하는 것"이다. AI는 모호한 요청에는 모호한 결과로 답한다.
비유: 집을 짓는다고 상상해보자
건축가에게 "집 지어주세요"라고만 하면 어떤 집이 나올지 모른다. 하지만 "3층 단독주택, 방 4개, 거실은 남향"처럼 구체적으로 말하면 원하는 집이 나온다.
PRD가 바로 그 역할이다.
5W1H로 PRD 작성하기
항목 | 질문 | 예시 |
|---|---|---|
What | 무엇을 만드는가? | 할 일 관리 앱 |
Why | 왜 만드는가? | 일정 관리가 어려운 학생을 위해 |
Who | 누가 사용하는가? | 대학생, 직장인 |
When | 언제 사용하는가? | 매일 출퇴근 시간 |
Where | 어디서 사용하는가? | 웹 브라우저, 모바일 |
How | 어떻게 동작하는가? | 추가/완료/삭제 기능 |
7-4. AI와의 협업 루프
협업 루프
flowchart LR
R[1. 요청<br/>명확한 프롬프트] --> G[2. 생성<br/>AI 코드 생성]
G --> C[3. 확인<br/>의도 검토]
C --> M[4. 수정<br/>부분 수정 요청]
M --> T[5. 점검<br/>테스트·검증]
T -->|반복| R
style R fill:#e3f2fd
style G fill:#fff3e0
style C fill:#f3e5f5
style M fill:#fce4ec
style T fill:#e8f5e9요청: 명확한 프롬프트로 작업 지시
생성: AI가 코드 생성
확인: 결과물이 의도와 맞는지 검토
수정: 필요한 부분 수정 요청
점검: 동작 테스트 및 품질 확인
협업의 핵심
한 번에 완벽하게 만들려 하지 말고 작은 단위로 요청 → 검증 → 수정의 루프를 짧고 빠르게 반복
잘못된 길로 멀리 가지 않는다
AI가 길을 잃으면 "되돌리기"
결과 검증은 항상 사람의 몫
7-5. Claude Code 시작하기
Claude Code란
Anthropic이 만든 "터미널 기반 AI 코딩 도구"
사전 준비
도구 | 용도 | 설치 |
|---|---|---|
Git | 버전 관리 | |
터미널 | 명령어 입력 | macOS: Terminal / Windows: PowerShell |
Claude 유료 계정 | 인증 — Pro·Max·Team·Enterprise 요금제 또는 Console API 결제 필요 (무료 플랜은 Claude Code 사용 불가) | claude.ai 가입 |
Node.js (v22 이상) | npm 설치 방식에만 필요 | nodejs.org LTS |
설치 방법 — 두 가지 선택지
Claude Code는 네이티브 설치와 npm 설치 두 방식을 모두 지원한다.
Anthropic이 공식 권장하는 방식 (v2.1.15부터 표준). Node.js 없이 단일 바이너리로 동작하며, 백그라운드에서 자동 업데이트된다.
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash
# Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex기존 Node.js 환경을 활용하거나 버전 고정이 필요한 경우. Node.js 22 이상이 미리 설치돼 있어야 한다.
npm install -g @anthropic-ai/claude-code설치 후 공통 작업:
# 설치 확인
claude --version
# 프로젝트 디렉토리로 이동 후 시작
cd my-project
claude두 방식의 차이점
항목 | 🟢 네이티브 설치 | 📦 npm 설치 |
|---|---|---|
Node.js 필요? | ❌ 불필요 | ✅ v22 이상 필요 |
업데이트 방식 | 자동 백그라운드 | 수동 ( |
코드 서명 | Anthropic 공식 서명 (macOS는 Apple 공증까지) | npm 의존 체인 |
Anthropic 지원 우선순위 | 주요 테스트·지원 대상 | 보조 (계속 지원되나 권장은 네이티브) |
다른 패키지와 충돌 | 격리되어 안전 | 다른 npm 글로벌 패키지 영향 가능 |
설치되는 실제 바이너리 | 네이티브 바이너리 | 동일한 네이티브 바이너리 (npm으로 감싸서 받음) |
어느 쪽을 골라야 할까
처음 시작하는 사용자 → 네이티브 설치 권장. Node.js 설치 단계가 빠지고, 자동 업데이트로 관리 부담 없음.
이미 npm으로 쓰고 있는 사용자 →
claude install한 줄로 네이티브 전환 가능 (인증·CLAUDE.md·커스텀 명령 등~/.claude/설정 모두 보존됨).
7-6. Claude Code 주요 명령어
명령어 | 기능 |
|---|---|
| 현재 프로젝트를 분석해 CLAUDE.md 자동 생성 |
| 현재 세션 정보 확인 |
| 토큰 사용량 확인 |
| 사용할 모델 변경 |
| 설정 변경 |
| 대화 컨텍스트 초기화 |
| 플랜 모드로 진입 (고치기 전에 계획부터) |
| 코드·대화를 이전 체크포인트로 되돌리기 |
| 사고 깊이 조절 ( |
| 파일 참조 (예: |
| 메모리 추가 (CLAUDE.md에 기록) |
| bash 명령 실행 (예: |
더 깊이
권한 모드·플랜 모드·되돌리기·컨텍스트 관리 등 실전 워크플로우는 다음 장 Claude Code 실전 활용에서 자세히 다룬다.
7-7. CLAUDE.md — AI의 기억장치
CLAUDE.md란
"Claude Code가 매번 자동으로 읽는 프로젝트 설명서"
매 세션마다 "우리 프로젝트는 React 쓰고, 컨벤션은 이렇고…"라고 설명하기는 번거롭다. CLAUDE.md에 한 번 적어두면 Claude Code가 자동으로 읽고 기억한다.
CLAUDE.md 예시
# 프로젝트: 할 일 관리 앱
## 기술 스택
- Frontend: React 18 + TypeScript + Tailwind CSS
- Backend: Spring Boot 3.2 + Java 17
- Database: PostgreSQL 15
## 코딩 컨벤션
- 컴포넌트는 PascalCase, 함수는 camelCase
- API 엔드포인트는 RESTful 규칙 준수
## 주의사항
- 절대 main 브랜치에 직접 push 금지
- 커밋 메시지는 한국어로 작성두 가지 레벨
레벨 | 경로 | 적용 범위 |
|---|---|---|
🗂 프로젝트 레벨 |
| 해당 프로젝트에만 적용 |
🌐 전역 레벨 |
| 모든 프로젝트에 공통 적용 |
7-8. 나만의 명령어 만들기 — 스킬(Skills)
자주 쓰는 작업을 슬래시 명령어로 만들 수 있다. 같은 지시를 매번 복붙하고 있다면, 그건 스킬로 만들 때가 된 것이다.
커스텀 명령어는 스킬로 통합됐다
예전에는 .claude/commands/commit.md에 적었고, 지금도 그대로 동작한다(호환 유지). 다만 현재 표준은 스킬(Skill) 형식이다.
커스텀 명령어 (기존) | 스킬 (현재 표준) | |
|---|---|---|
경로 |
|
|
호출 |
|
|
보조 파일 | ❌ | ✅ 폴더에 템플릿·스크립트 함께 |
도구 사전승인 | ❌ | ✅ |
Claude가 알아서 호출 | ❌ | ✅ 상황에 맞으면 자동으로 |
어디에 두나
종류 | 경로 | 적용 범위 |
|---|---|---|
개인 스킬 |
| 내 모든 프로젝트 |
프로젝트 스킬 |
| 현재 프로젝트만 (팀과 공유) |
폴더 이름이 곧 명령어가 된다. .claude/skills/commit/ → /commit
예시: /commit 스킬 만들기
.claude/skills/commit/SKILL.md:
---
name: commit
description: 변경사항을 분석해 적절한 커밋 메시지로 자동 커밋합니다
disable-model-invocation: true
allowed-tools: Bash(git add *) Bash(git commit *) Bash(git status *) Bash(git diff *)
---
다음 작업을 수행해주세요:
1. git status로 변경된 파일 확인
2. git diff로 변경 내용 분석
3. Conventional Commits 규칙에 따라 분류
4. 한국어로 명확한 커밋 메시지 작성
5. git add . 후 git commit 실행이제 Claude Code에서 /commit만 입력하면 위 작업이 자동 수행된다.
알아둘 프론트매터 필드
필드 | 의미 |
|---|---|
| Claude가 이 스킬을 언제 쓸지 판단하는 근거 — 가장 중요 |
|
|
| 이 스킬 안에서 미리 허용할 도구 — 실행할 때마다 묻지 않는다 |
| 이 스킬을 서브에이전트에서 실행 (메인 대화를 더럽히지 않음) |
CLAUDE.md와 스킬의 차이
CLAUDE.md = 항상 읽는 사실 (기술 스택, 컨벤션) → 매번 컨텍스트를 차지한다
스킬 = 필요할 때만 불러오는 절차 (배포 순서, 리뷰 체크리스트) → 쓸 때만 로드되어 평소엔 공짜
CLAUDE.md의 한 섹션이 "사실"이 아니라 "절차"로 자라났다면, 스킬로 옮길 때다.
7-9. 서브에이전트 (Sub-agents)
서브에이전트란
"특정 작업에 특화된, 빈 컨텍스트로 시작하는 전문가 AI 인스턴스"
메인 대화를 어지럽히지 않고 별도의 깨끗한 컨텍스트에서 조사·리뷰 같은 일을 시킬 수 있다. 결과만 돌려받는다.
이름 | 역할 |
|---|---|
🔍 code-reviewer | PR 분석, 버그 발견, 개선 제안 |
🧪 test-generator | 테스트 코드 자동 생성 |
⚡ optimizer | 성능 병목 분석 및 최적화 |
🔒 security-auditor | 보안 취약점 점검 |
/agents 명령으로 대화형으로 만들 수도 있고, 파일로 직접 적을 수도 있다.
서브에이전트 파일 예시
.claude/agents/code-reviewer.md:
---
name: code-reviewer
description: 코드 리뷰 전문가. PR 분석, 버그 발견, 개선 제안
tools: Read, Grep, Glob, Bash
model: sonnet
---
당신은 시니어 개발자입니다. 다음 기준으로 코드를 리뷰하세요:
1. 보안: SQL 인젝션, XSS 등 취약점이 없는가?
2. 성능: 불필요한 반복, N+1 쿼리, 자원 누수가 없는가?
3. 가독성: 변수명, 함수명이 명확한가?
4. 테스트: 엣지 케이스가 커버되는가?알아둘 프론트매터 필드
필드 | 의미 |
|---|---|
| 필수. description은 Claude가 언제 이 에이전트를 부를지 판단하는 근거 |
| 쓸 수 있는 도구 목록 (예: |
| 이 에이전트가 쓸 모델 ( |
| 격리된 Git 워크트리에서 실행 — 여러 에이전트가 같은 파일을 동시에 고쳐도 충돌 없음 |
| 세션을 넘어 기억을 유지 |
서브에이전트 vs /btw
서브에이전트 = 도구는 다 쓰지만 컨텍스트는 비어 있음 → 새로운 걸 조사시킬 때
/btw= 도구는 못 쓰지만 현재 대화를 다 봄 → 지금까지의 내용을 물어볼 때
7-10. Claude Code + MCP 연동
Part 6에서 본 MCP를 Claude Code에서 활용하면 진정한 시너지가 난다.
주요 MCP 설치 명령어
# Notion MCP — 노션 페이지/DB 조작
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Sequential Thinking — 단계별 사고 도구
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
# Context7 — 최신 라이브러리 문서 조회
claude mcp add context7 -- npx -y @upstash/context7-mcp
# Playwright — 브라우저 자동화
claude mcp add playwright -- npx -y @playwright/mcp
# GitHub — 저장소 관리 (GitHub 공식 원격 MCP · Personal Access Token 필요)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ -H "Authorization: Bearer <GitHub PAT>"활용 예시
AI 에이전트가 자율적으로 작업하는 예
사용자: "어제 한 작업을 노션 회의록에 정리해줘"
Claude Code의 동작:
Sequential Thinking으로 작업을 분해
Git log로 어제 커밋 조회 (
!git log --since="yesterday")각 커밋의 의미를 정리
Notion MCP로 회의록 페이지에 작성
→ 모든 단계가 하나의 자연어 지시로 자동화된다.
Claude Code 생태계 전체 그림
Claude Code를 중심으로 CLAUDE.md(기억), 커스텀 명령어(자동화), 서브에이전트(전문가), MCP(외부 도구)가 함께 동작한다
정리
바이브 코딩 = 자연어로 코딩, Andrej Karpathy가 2025년 2월에 명명
핵심은 PRD(설계 문서)와 작은 협업 루프
Claude Code는 터미널 기반 AI 코딩 도구 (설치는 네이티브 권장)
CLAUDE.md로 프로젝트 컨텍스트 자동 주입 — 항상 읽는 사실
스킬(Skills)로 반복 절차를 명령어화 — 쓸 때만 로드되는 절차
서브에이전트로 전문 작업을 빈 컨텍스트에 위임, MCP로 외부 도구 연결
다음 장에서는 실제로 TO-DO 앱과 레시피 추천 앱을 만들면서 이 모든 걸 종합한다.