본문으로 건너뛰기
바이브코딩 용어사전AI·바이브코딩

바이브코딩 (Vibe Coding)

바이브코딩은 코드를 직접 타이핑하는 대신 AI에게 원하는 것을 자연어로 설명하고, 나온 결과를 확인하며 대화로 다듬어 소프트웨어를 만드는 개발 방식입니다.

최종 업데이트

문법을 외워 한 줄씩 치는 대신, 만들고 싶은 것을 말로 설명하고 나온 결과를 읽고 판단해 다시 요청하는 반복이 바이브코딩입니다. 코딩의 중심이 "타이핑"에서 "요청과 검수"로 옮겨간 거예요.

요청  →  AI가 코드 생성  →  실행해서 확인  →  틀린 부분 지적  →  다시 요청
                                 ↑                                │
                                 └────────────────────────────────┘

누가 만든 말인가요?

안드레이 카파시(Andrej Karpathy) 가 2025년 2월 2일 X에 올린 글에서 나온 말입니다. OpenAI 공동창업자이자 테슬라 AI 책임자였던 사람이에요. 그는 "완전히 바이브에 몸을 맡기고, 코드가 존재한다는 사실조차 잊는" 상태라고 썼습니다. 그 글은 450만 회 넘게 조회됐고, 2025년 3월 메리엄웹스터가 "슬랭·트렌딩" 항목으로 올렸으며, 콜린스 영어사전은 2025년 올해의 단어로 선정했습니다.

즉 이 말은 학계 용어가 아니라 트윗 한 줄에서 시작해 1년 만에 사전에 오른 신조어예요. 그래서 사람마다 정의가 조금씩 다릅니다.

정말 코딩을 몰라도 되나요?

절반만 맞습니다. 문법을 몰라도 시작할 수 있는 건 사실이에요. 하지만 AI가 내놓은 결과가 맞는지 틀린지 판단하지 못하면 거기서 멈춥니다.

실제로 벽에 부딪히는 지점은 문법이 아니라 개념입니다. 콘솔에 blocked by CORS policy가 떴을 때 CORS가 뭔지 몰라도 AI에게 물어볼 순 있지만, "브라우저가 막는 거고 서버에서 고쳐야 한다"는 구조를 모르면 AI가 엉뚱한 데를 고쳐도 그대로 받아들이게 돼요. API 키를 환경변수로 빼야 한다는 것도 마찬가지고요.

정리하면 이렇습니다.

필요 없어진 것여전히 필요한 것
문법 암기, API 시그니처 외우기원하는 걸 정확히 말로 옮기는 능력
보일러플레이트 타이핑결과가 맞는지 판단하는 눈
라이브러리 사용법 검색문제를 작게 쪼개는 감각
무엇이 위험한지 아는 것(키 노출, 인증, 결제)

무엇이 실제로 잘 되나요?

경계가 꽤 뚜렷합니다. 지금 시점에서 잘 되는 쪽은 답이 정해져 있고 검증이 쉬운 일이에요.

잘 되는 것

  • 프로토타입·MVP — 아이디어를 하루 만에 화면으로 만들기
  • CRUD(목록·생성·수정·삭제) 같은 정형화된 기능
  • UI 컴포넌트 — 토스트, 모달, 스켈레톤 같은 익숙한 패턴
  • 일회성 스크립트 — 파일 정리, 데이터 변환, 크롤링
  • 낯선 코드 읽기·설명, 에러 메시지 해석
  • 테스트 코드 작성

아직 잘 안 되는 것

  • 여러 화면에 걸친 복잡한 상태 관리 — 부분은 맞는데 전체가 어긋납니다
  • 성능 최적화 — 병목이 어디인지는 측정해야 알고, AI는 측정하지 않아요
  • 보안 — 그럴듯하게 동작하지만 키가 프론트에 노출돼 있는 코드를 자연스럽게 내놓습니다
  • 재현 안 되는 버그 디버깅 — 로그와 실행 결과가 있어야 하는데 AI는 짐작으로 고칩니다
  • 기존 대형 코드베이스 수정 — 컨텍스트 윈도우에 다 안 들어갑니다

한 문장으로 하면, 0에서 1까지는 빠르고 1에서 10은 여전히 느립니다.

바이브코딩은 어떻게 하나요?

요청의 품질이 결과의 품질입니다. 좋은 요청에는 네 가지가 들어갑니다.

  1. 원하는 결과 — "로그인 폼"이 아니라 "이메일·비밀번호 입력과 제출 버튼이 있고, 실패하면 폼 아래 빨간 메시지가 뜨는 로그인 폼"
  2. 제약 — 쓸 기술, 쓰면 안 되는 것, 지켜야 할 스타일
  3. 예시 — 참고할 기존 코드나 화면. "이 파일과 같은 방식으로"가 설명 열 줄보다 강합니다
  4. 검증 방법 — "다 되면 어떻게 확인하는지 알려줘"

그리고 작게 쪼개세요. "쇼핑몰 만들어줘"는 그럴듯한 껍데기를 받고 끝납니다. "상품 목록 페이지" → "상세 페이지" → "장바구니 담기" 순서로 하나씩 끝내고 매번 실행해서 확인하는 쪽이 훨씬 빠릅니다. 한 번에 여러 개를 시키면 어디서 틀렸는지 찾는 데 시간을 다 씁니다.

AI에게 시키기

기능 하나를 제대로 시킬 때 쓰는 템플릿이에요. 대괄호만 채워서 그대로 붙여넣으면 됩니다.

[무엇을] 만들어줘.
 
원하는 동작:
- [사용자가 무엇을 하면 무엇이 일어나는지 1~3줄]
- [실패했을 때 어떻게 되는지]
 
제약:
- 기술: [예: Next.js App Router, TypeScript]
- [건드리면 안 되는 파일이나 지켜야 할 규칙]
- API 키 같은 비밀값은 서버 환경변수로만 쓰고 프론트에 노출하지 마
 
참고:
- [비슷한 기존 파일 경로] 와 같은 구조·네이밍으로
 
끝나면:
- 바꾼 파일 목록과, 내가 직접 확인할 수 있는 테스트 방법을 알려줘

"쇼핑몰 만들어줘" 같은 한 줄 요청과 이 템플릿의 차이가 바이브코딩 결과의 차이입니다.

혼동 주의

  • AI 자동완성(코파일럿식): 내가 코드를 쓰고 AI가 다음 줄을 제안하는 것 — 주도권이 나한테 있습니다. 바이브코딩은 반대로 AI가 쓰고 내가 검수해요. 실제로는 둘을 섞어 씁니다
  • 노코드: 정해진 블록을 마우스로 조립하는 것. 플랫폼이 허용한 범위를 못 벗어납니다. 바이브코딩의 결과물은 그냥 코드라서 한계가 없는 대신, 잘못돼도 막아주는 게 없습니다
  • "AI가 다 해준다": 가장 흔한 오해. AI는 요청받은 것을 만들 뿐 무엇을 만들지 정해주지 않고, 틀렸다고 먼저 말해주지도 않습니다
  • 바이브코딩 ≠ 검수 안 함: 카파시의 원문은 취미 프로젝트 맥락이었습니다. 남이 쓸 제품에 코드를 읽지 않고 올리는 건 그냥 위험한 일이에요

자주 묻는 것

Q. 어떤 언어부터 배워야 하나요? 언어보다 웹이 어떻게 굴러가는지(브라우저와 서버가 뭘 나눠 하는지, 요청과 응답이 뭔지)를 먼저 잡는 게 효율이 좋습니다. 이 사전의 CORS·환경변수 항목이 그 지점의 최소 지식이에요.

Q. 이걸로 돈을 벌 수 있나요? 만드는 속도가 빨라진 것이지 팔리는 것을 알아내는 일이 쉬워진 건 아닙니다. 병목은 여전히 "무엇을 만들 것인가"에 있어요.

Q. 결과물이 자꾸 산으로 갑니다. 대개 세션이 길어져 컨텍스트 윈도우 밖으로 초반 규칙이 밀려난 경우입니다. 중요한 결정은 파일로 남기고 새 세션을 시작하세요.