“그냥 분위기 타면서 코딩해.”
처음 이 말을 들었을 때 농담인 줄 알았습니다. 그런데 테슬라 AI 디렉터 출신 Andrej Karpathy가 진지하게 이 용어를 꺼냈을 때, 개발자 커뮤니티가 술렁였습니다. Vibe Coding. 직역하면 ‘분위기 코딩’인데, 이게 대체 뭘까요?

Vibe Coding, 정확히 뭔가요?
Vibe Coding은 AI에게 자연어로 원하는 걸 설명하고, AI가 생성한 코드를 거의 읽지 않은 채 실행해보는 코딩 방식입니다. 에러가 나면? 에러 메시지를 그대로 AI에게 던집니다. 되면 넘어가고, 안 되면 다시 물어보고. 이 과정을 반복하면서 어느새 작동하는 프로그램이 완성됩니다.
기존 코딩과 뭐가 다를까요? 전통적인 개발에서는 개발자가 로직을 설계하고, 한 줄 한 줄 코드를 작성하며, 모든 코드를 이해하고 있어야 했습니다. 하지만 Vibe Coding에서는 개발자가 “지휘자” 역할을 합니다. 세부 구현은 AI에게 맡기고, 전체 방향만 잡아주는 거죠.
Karpathy는 이렇게 표현했습니다. “코드가 뭘 하는지 완전히 이해하지 못해도 괜찮아. 그냥 vibe를 타는 거야. 지수적으로 성장하는 LLM 위에 올라타서.”
어떤 도구로 Vibe Coding을 할 수 있나요?
Vibe Coding을 제대로 하려면 AI 코딩 도구가 필수입니다. 현재 가장 인기 있는 도구들을 살펴보겠습니다.
Cursor는 VS Code를 포크해서 AI 기능을 네이티브로 탑재한 에디터입니다. Cmd+K로 코드 생성, Cmd+L로 채팅, 그리고 전체 코드베이스를 컨텍스트로 활용할 수 있어서 Vibe Coding에 최적화되어 있습니다. 월 $20 정도의 비용이 들지만, 생산성 향상을 생각하면 충분히 가치 있습니다.
Claude Code는 Anthropic에서 만든 CLI 도구입니다. 터미널에서 자연어로 명령을 내리면 파일을 읽고, 수정하고, 심지어 git 커밋까지 알아서 합니다. 저는 요즘 블로그 포스트 작성부터 코드 리팩토링까지 Claude Code로 처리하고 있습니다.
GitHub Copilot은 가장 대중화된 도구입니다. VS Code, JetBrains 등 대부분의 IDE에서 사용 가능하고, 코드 자동완성에 특화되어 있습니다. Vibe Coding보다는 전통적인 코딩을 보조하는 느낌이 강하지만, Copilot Chat을 활용하면 비슷한 경험을 할 수 있습니다.

실전 Vibe Coding: 10분 만에 Todo 앱 만들기
백문이 불여일견. 직접 Vibe Coding으로 간단한 Todo 앱을 만들어보겠습니다.
먼저 AI에게 이렇게 말합니다:
React로 간단한 Todo 앱 만들어줘.
- 할 일 추가, 삭제, 완료 체크 기능
- 로컬스토리지에 저장
- 깔끔한 UI로
그러면 AI가 컴포넌트 코드를 쭉 생성합니다. 저는 코드를 자세히 읽지 않습니다. 일단 실행해봅니다.
npm run dev
에러가 납니다. useState is not defined. 이 에러 메시지를 그대로 AI에게 던집니다. “이런 에러 나는데?” AI가 import 문이 빠졌다며 수정해줍니다. 다시 실행. 이번엔 됩니다.
근데 UI가 마음에 안 듭니다. “버튼 색상 파란색으로 바꾸고, 완료된 항목은 취소선 그어줘.” 수정됩니다. “삭제할 때 확인 팝업 띄워줘.” 추가됩니다.
이런 식으로 10분 정도 대화하다 보면, 꽤 그럴듯한 Todo 앱이 완성됩니다. 제가 직접 작성한 코드는 한 줄도 없습니다.
주의할 점: Vibe Coding의 함정
솔직히 말하면, Vibe Coding에는 심각한 위험이 있습니다.
첫째, 보안 취약점입니다. AI가 생성한 코드에 SQL Injection이나 XSS 취약점이 숨어 있을 수 있습니다. 코드를 읽지 않으니 이런 문제를 발견하기 어렵습니다. 프로덕션에 배포할 코드라면 반드시 보안 리뷰가 필요합니다.
둘째, 학습 기회 상실입니다. 주니어 개발자가 Vibe Coding만 하면 기초 실력이 쌓이지 않습니다. 에러가 났을 때 왜 에러가 났는지 이해하지 못하면, AI 없이는 아무것도 못 하는 개발자가 됩니다.
셋째, 복잡한 시스템에서의 한계입니다. 간단한 앱은 Vibe Coding으로 뚝딱 만들 수 있지만, 대규모 시스템에서는 여전히 아키텍처 설계와 깊은 이해가 필요합니다. AI는 전체 그림을 보지 못합니다.
그래서 저는 Vibe Coding을 “프로토타이핑”과 “반복 작업”에만 사용합니다. 빠르게 아이디어를 검증할 때, 보일러플레이트 코드를 생성할 때는 최고입니다. 하지만 핵심 비즈니스 로직은 여전히 직접 작성하고, 모든 코드를 이해하려고 노력합니다.

마치며: 개발자의 역할은 변하고 있다
Vibe Coding이 개발자를 대체할까요? 저는 그렇게 생각하지 않습니다. 오히려 개발자의 역할이 “코드 작성자”에서 “시스템 설계자”와 “AI 지휘자”로 확장되고 있다고 봅니다.
앞으로는 두 가지 역량이 중요해질 겁니다. 하나는 AI와 효과적으로 소통하는 능력(프롬프트 엔지니어링), 다른 하나는 AI가 생성한 코드를 빠르게 검증하고 개선하는 능력입니다.
Vibe Coding은 도구입니다. 잘 쓰면 생산성이 10배 올라가고, 잘못 쓰면 기술 부채가 10배 쌓입니다. 결국 그 도구를 어떻게 활용하느냐는 개발자의 몫입니다.
한번 시도해보세요. 처음엔 어색하겠지만, 적응되면 다시는 예전 방식으로 돌아가기 어려울 겁니다. 저처럼요.