Vibe Coding이란 무엇인가 — AI와 함께 코딩하는 새로운 방식
Vibe coding은 2025년 2월 Andrej Karpathy가 X(트위터)에 올린 한 게시글에서 시작됐다. “코드가 존재한다는 사실 자체를 잊고, 완전히 vibes에 맡긴다”는 개념이었다. 4.5백만 뷰를 기록했고, 그 해 Collins English Dictionary의 올해의 단어가 됐다. 지금은 단순한 유행어를 넘어 소프트웨어 개발의 패러다임 변화를 가리키는 용어가 됐다.
Vibe Coding이란 정확히 무엇인가
기존 코딩: 개발자가 모든 줄을 직접 작성한다.
Vibe coding: 원하는 것을 자연어로 설명하고, AI가 코드를 생성한다. 개발자는 결과를 보고, 다음 지시를 내리고, 필요하면 재시도한다.
Karpathy의 원래 설명은 이랬다. “나는 그냥 보고, 말하고, 실행하고, 복붙한다. 대부분은 그냥 된다.” AI가 만든 코드를 세밀하게 읽지 않고도 기능이 돌아가면 넘어간다는 접근이다.
핵심은 추상화 레벨의 상승이다. 개발자는 “이 함수가 무엇을 해야 하는가”를 정의하고, “어떻게 구현하는가”는 AI에게 위임한다. 이건 어셈블리에서 C로, C에서 Python으로 올라왔던 흐름의 연장선이다.
어떤 도구를 쓰는가
vibe coding을 지원하는 주요 도구는 세 가지다.
Claude Code — Anthropic이 만든 terminal-first AI 에이전트다. 터미널에서 작동하고, 전체 코드베이스를 context로 읽는다. 200k token context window를 안정적으로 유지한다. SWE-bench 기준 Claude Sonnet 4가 72.7%로 현재 가장 높은 점수다. 크고 복잡한 레포지토리에서 리팩토링이나 아키텍처 변경 작업에 강하다. PR 생성, 테스트 실행, 커밋까지 터미널 안에서 처리한다.
Cursor — VS Code를 fork해서 AI를 core에 내장한 IDE다. Composer 모드에서 여러 파일을 동시에 수정한다. @파일명, @함수명으로 AI에게 특정 컨텍스트를 지정할 수 있다. Agent 모드에서는 기능 구현 → 테스트 작성 → lint 수정 → PR 오픈까지 단일 프롬프트로 처리한다. 새 프로젝트나 multi-file 편집에 강하다.
GitHub Copilot — VS Code 익스텐션으로 기존 워크플로에 그대로 올라탄다. 에디터를 바꿀 필요가 없다. 자동완성과 chat이 주력이고, 다른 도구 대비 agentic 능력은 낮다. 가격은 월 $10으로 가장 저렴하다.
세 도구 중 무엇을 쓸지는 상황에 따라 다르다. 대형 레포에서 깊은 코드 이해가 필요하면 Claude Code, GUI 환경에서 새 프로젝트를 시작하면 Cursor, 기존 VS Code 환경을 유지하면서 생산성만 올리고 싶으면 Copilot이다.
개발 워크플로가 어떻게 바뀌는가
vibe coding을 제대로 적용하면 워크플로는 이렇게 바뀐다.
기존 방식:
- 요구사항 파악
- 설계
- 코드 작성 (직접)
- 디버깅
- 테스트 작성
- 리뷰
vibe coding 방식:
- 요구사항을 자연어로 AI에게 전달
- 생성된 코드 검토
- 수정 지시 반복
- 결과 검증
직접 코드를 작성하는 시간이 줄고, AI 결과를 평가하고 방향을 잡는 시간이 늘어난다. 이건 개발자의 역할이 “구현자”에서 “설계자 + 검수자”로 이동하는 것이다.
실제로 Y Combinator의 2025년 Winter 배치에서는 25%의 스타트업이 코드베이스의 95% 이상을 AI가 생성했다고 보고했다.
잘 되는 경우와 안 되는 경우
잘 되는 경우
- 반복적인 boilerplate: CRUD 엔드포인트, 유사한 컴포넌트, 테스트 케이스 생성
- 작은 프로젝트 빠른 프로토타이핑: 새 아이디어를 검증하는 1-2일짜리 작업
- 특정 라이브러리나 API 사용법: “fetch API로 pagination 구현해줘” 같은 명확한 요청
- 리팩토링 작업: 기존 코드를 더 읽기 좋게 정리하거나 패턴 통일
- 문서화: 주석, README, API 문서 작성
잘 안 되는 경우
- 코드베이스가 커질수록 난이도 상승: 파일 수백 개에 걸쳐 있는 대형 시스템에서 AI는 전체 맥락을 놓치기 쉽다
- 보안 크리티컬 경로: CodeRabbit의 2025년 12월 분석에 따르면 AI 공동 작성 코드는 보안 취약점이 인간 작성 코드 대비 2.74배 높다
- 성능 최적화: 알고리즘 선택이나 메모리 관리 같은 영역은 깊은 도메인 지식이 필요하다
- novel한 아키텍처 설계: 기존에 없던 시스템을 설계하는 작업은 AI가 참고할 패턴이 없다
- complex한 비즈니스 로직: 도메인 지식이 코드에 깊이 녹아 있어야 하는 영역
생산성 향상은 실제로 얼마나 되나
숫자를 보면 기대와 현실의 차이가 있다.
METR이 2025년 7월에 발표한 RCT 연구에서 숙련된 오픈소스 개발자들이 AI 도구를 쓸 때 오히려 19% 느렸다. 본인들은 24% 빠를 것으로 예상했고, 사후에도 20% 빨랐다고 느꼈지만 실제 측정값은 반대였다.
이 결과는 두 가지를 의미한다. 첫째, 숙련자는 이미 빠르기 때문에 AI가 붙었을 때 overhead가 더 크게 작용할 수 있다. 둘째, AI 생성 코드를 검토하고 수정하는 시간이 생각보다 크다.
반면 비숙련자나 새 프로젝트에서는 생산성 향상이 명확하다. 모르는 언어나 프레임워크로 뭔가를 만들어야 할 때 AI가 없으면 며칠 걸릴 일이 몇 시간으로 줄어든다.
생산성 향상은 “숙련도가 낮고, 작업이 명확하고, 코드베이스가 작을수록” 극대화된다.
실전 팁
1. 작업을 잘게 쪼갠다
“전체 인증 시스템 만들어줘”보다 “JWT 검증 미들웨어를 Express용으로 만들어줘”가 훨씬 결과가 낫다. 크고 모호한 요청은 AI가 잘못된 방향으로 갈 확률이 높다.
2. 생성된 코드는 반드시 읽는다
코드를 읽지 않고 실행만 하면 나중에 버그를 만날 때 원인을 찾기 어렵다. “보안, 데이터 접근, 비즈니스 로직에 닿는 모든 코드는 무조건 읽는다”는 규칙을 갖는 게 좋다.
3. 계획 먼저, 구현 나중
AI에게 바로 코드를 요청하기 전에 “이 기능을 어떻게 구현할 계획인지 설명해줘”를 먼저 요청한다. 계획이 맞는지 확인하고 나서 구현으로 넘어가면 방향이 틀어지는 경우가 줄어든다.
4. 버전 컨트롤은 더 자주 한다
AI가 코드를 대량으로 수정하기 때문에 commit을 작은 단위로 자주 끊는다. 무언가 잘못됐을 때 되돌리기 쉽다.
5. 테스트를 함께 요청한다
코드를 만들 때 “그리고 이 함수에 대한 테스트도 작성해줘”를 붙인다. AI가 테스트까지 작성하면 자신이 만든 코드에 대한 spec을 명시하게 되고, 이게 검증 역할을 한다.
6. CLAUDE.md (또는 프로젝트 context 파일)를 관리한다
Claude Code를 쓴다면 CLAUDE.md에 코딩 컨벤션, 금지사항, 아키텍처 규칙을 명시해둔다. 매 세션마다 같은 설명을 반복하지 않아도 된다.
2026년의 vibe coding
Karpathy 본인이 2026년 초에 “vibe coding은 이제 구식”이라고 했다. LLM이 더 스마트해졌기 때문에 이제는 “agentic engineering”이 기본이 됐다는 것이다. 전문가들은 더 많은 oversight와 scrutiny를 갖고 LLM 에이전트를 사용한다.
흐름을 요약하면 이렇다.
- 2023: LLM이 코드 snippet을 생성한다
- 2025: vibe coding — AI에게 자연어로 기능 전체를 맡긴다
- 2026: agentic engineering — AI 에이전트가 계획, 실행, 검증까지 한다. 개발자는 방향을 잡고 결과를 검증한다
Stack Overflow 2025 개발자 설문에서 84%가 AI 도구를 사용하거나 사용 계획이 있다고 답했다. vibe coding은 일부의 실험적 시도가 아니라 이미 주류 개발 방식이 되고 있다.
도구와 워크플로는 계속 바뀐다. 바뀌지 않는 것은 “좋은 소프트웨어를 만드는 판단력”이다. AI가 코드를 만들어도 그 코드가 요구사항을 올바르게 구현했는지, 보안 문제는 없는지, 유지보수 가능한지를 판단하는 건 여전히 개발자의 몫이다.
vibe coding을 잘한다는 건 AI를 잘 다룬다는 게 아니라, AI가 만든 결과물을 올바르게 평가할 수 있다는 뜻이다.
댓글 0