𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗜𝘀 𝗡𝗼𝘁 𝗔 𝗟𝗲𝘃𝗲𝗹. 𝗜𝘁'𝘀 𝗔𝗻 𝗔𝘅𝗶𝘀.

Karpathy는 바이브 코딩(vibe coding)을 단순한 루프로 정의했습니다: 보고, 말하고, 실행하고, 복사해서 붙여넣는 것 말이죠.

대부분의 사람들은 이를 자율성의 사다리로 취급합니다. AI에게 얼마나 많은 일을 맡기는지를 기준으로 측정하곤 합니다.

그 레벨은 다음과 같습니다:

  • L0: AI 미사용
  • L1: 자동 완성 도구로서의 AI
  • L2: 의도 기반 (사용자가 '무엇'을 정의하면, AI가 '어떻게'를 정의)
  • L3: 협업 페어 프로그래밍
  • L4: 반자율형
  • L5: 완전 자율형

이 사다리는 유용하지만 불완전합니다. 오직 한 가지, 즉 '위임(delegation)'만을 측정하기 때문입니다.

두 명의 개발자가 모두 레벨 4에 있을 수 있습니다. 한 명은 점점 더 견고해지는 깨끗한 코드베이스를 구축하는 반면, 다른 한 명은 점점 더 무너져 내리는 엉망진창인 코드를 만듭니다.

그 차이는 실력이 아닙니다. 바로 '운영자 규율(operator discipline)'입니다.

운영자 규율이란 작업 내용 중 얼마나 많은 부분이 '검사 가능한 상태(inspectable state)'로 유지되는지를 의미합니다.

결정을 저장해두지 않으면 매 세션마다 같은 결정을 반복해야 합니다. 저는 몇 달 동안 똑같은 아키텍처를 두고 AI와 씨름했습니다. AI는 매번 똑같이 틀린 제안을 했고, 저는 진이 빠졌습니다.

저는 결정을 위한 간단한 저장소를 만들어 이 문제를 해결했습니다:

  • 제안됨 (Proposed)
  • 수락됨 (Accepted)
  • 확정됨 (Locked)

결정이 '확정(locked)'되면, AI는 허가 없이 이를 변경할 수 없습니다. 작업은 차분해졌고, 코드베이스는 더 이상 흔들리지 않았습니다.

바이브 코딩은 두 개의 축으로 이루어진 지도입니다. 축 1은 자율성(L0L5)입니다. 축 2는 운영자 규율(낮음높음)입니다.

수식은 다음과 같습니다: 장기적인 관점에서 L1 + 높은 규율 > L5 + 낮은 규율.

규율이 낮은 상태에서의 높은 자율성은 최대의 속도와 최대의 혼란을 초래합니다. 기술 부채라는 벽을 향해 빠르게 돌진하게 되는 것이죠.

규율 있게 구축하기 위해 저는 세 가지를 사용합니다:

  • 페르소나 파일: 모델을 위한 정체성, 규칙 및 선호도.
  • Append-only 저장소: 확정된 결정과 활성 스레드를 위한 공간.
  • 기록하는 습관: 결정이 내려지는 즉시 기록하기.

프롬프트에만 의존하지 마세요. 상태 머신(state machine)을 구축하세요.

AI를 더 많이 활용함에도 레버리지가 커지지 않는다면, 문제는 모델이 아닐 가능성이 높습니다. 문제는 당신의 두 번째 축에 있습니다.

당신은 무엇을 상태(state)로 기록하고 있습니까? 매 세션마다 무엇을 처음부터 다시 만들고 있습니까?

Source: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb

Optional learning community: https://t.me/GyaanSetuAi