<aside> 📌

Part 1 · Ch02 — Vibe Coding의 본질과 한계

Andrej Karpathy가 만든 "Vibe Coding"의 원래 정의부터, 잘 먹히는 4가지 시나리오, 프로덕션에서 터지는 보안·성능 함정, 그리고 왜 다음 챕터의 Harness / Agentic Engineering으로 넘어가야 하는지까지 한 페이지로 정리한 치트시트입니다. "코드를 안 읽는 것"이 핵심이라는 점, 그리고 그게 온램프이지 목적지가 아니라는 점만 가져가면 됩니다.

</aside>

1. Vibe Coding이란? — Karpathy의 원점

🎯 1-1. 원작자 정의 (2025.02.02)

<aside> ⭐

Andrej Karpathy (前 Tesla AI / OpenAI 공동 창업 멤버)가 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."

— 완전히 바이브에 몸을 맡기고, 기하급수적 변화를 받아들이고, 코드가 존재한다는 사실 자체를 잊어버리는 것.

</aside>

🎙️ 1-2. Karpathy 본인의 실제 작업 방식

행동 원문
음성으로 지시, 키보드 거의 안 만짐 "barely even touch the keyboard" (SuperWhisper)
사이드바 패딩 같은 자질구레한 것도 음성으로 "dumbest things"
diff 안 읽고 무조건 수락 "I don't read the diffs anymore" → Accept All
에러 메시지 그대로 복붙 "I just copy paste them in with no comment"
안 고쳐지면 우회하거나 무작위 변경 던지기

<aside> 💡

원작자의 결론 두 줄 (이게 핵심입니다):

즉, Karpathy 본인이 처음부터 "버릴 주말 프로젝트용", "엄밀히 말해 코딩이 아니다" 라고 못박았습니다.

</aside>

⚠️ 1-3. 흔한 3가지 오해 바로잡기

🧭 1-4. 코딩 스펙트럼 위의 위치

수동 코딩  ←→  AI 보조 코딩  ←→  Vibe Coding  ←→  완전 자율 에이전트
(사람이      (Copilot, IDE     (코드 안 읽고     (Plan/Execute/Verify
 전부 작성)   자동완성 수락)      AI에 맡김)        를 에이전트에 위임)

Karpathy 원문에 충실한 Vibe Coding의 5가지 특징:

  1. 사람이 자연어/음성으로 지시
  2. AI가 코드 생성
  3. diff를 안 읽고 Accept All