바이브 코딩이라는 밈이 어떻게 생겨났고, 1년 뒤 LLM 에이전트를 활용한 프로그래밍이 어떤 방향으로 진화하고 있는지에 대한 Andrej Karpathy의 회고.
URL: https://x.com/karpathy/status/2019137879310836075
많은 사람들이 이걸 ‘바이브 코딩(vibe coding)’ 1주년이라며 인용 트윗했더군요. 간단히 회고를 해보면—
저는 트위터 계정을 17년째 쓰고 있는데(세상에) 여전히 제 트윗의 반응(engagement)을 거의 전혀 예측하지 못합니다. 이 트윗도 그냥 샤워하면서 떠오른 생각을 아무 생각 없이 툭 던진 ‘버릴’ 트윗이었어요. 그런데 공교롭게도, 많은 사람들이 동시에 비슷하게 느끼고 있던 어떤 것에 대해 딱 맞는 이름을 적절한 순간에 찍어낸 셈이 되었고, 그래서 지금 우리가 있는 이 상황이 됐죠.
이제 ‘바이브 코딩’은 제 위키피디아에 주요 밈적 “기여”로까지 언급되고 있고, 심지어 그 항목의 문서는 더 길기도 합니다. ㅋㅋ
제가 덧붙이고 싶은 점 하나는, 당시에는 LLM의 역량이 충분히 낮아서 바이브 코딩을 주로 재미로 하는 일회성 프로젝트, 데모, 탐구에 썼다는 겁니다. 꽤 재밌었고, 거의 될 뻔했죠.
오늘(1년 후)에는 LLM 에이전트를 통한 프로그래밍이 점점 전문가들의 기본 워크플로로 자리 잡아가고 있습니다. 다만 더 많은 감독과 더 엄격한 검토가 동반된 형태로요. 목표는 에이전트를 사용해 레버리지를 얻되, 소프트웨어 품질을 조금도 타협하지 않는 것입니다.
많은 사람들이 ‘바이브 코딩’과 구분하기 위해 더 나은 이름을 붙이려 했는데, 개인적으로 제가 요즘 가장 마음에 드는 표현은 **“에이전틱 엔지니어링(agentic engineering)”**입니다:
2026년에는 모델 레이어와 새로운 에이전트 레이어 양쪽 모두에서 계속된 개선이 있을 가능성이 큽니다. 저는 이 둘의 곱(product)과 또 1년의 진보가 만들어낼 결과가 기대됩니다.
Andrej Karpathy (@karpathy) — 2025년 2월 2일
저는 “바이브 코딩(vibe coding)”이라고 부르는 새로운 종류의 코딩이 있다고 생각합니다. 여기서는 분위기(vibes)에 완전히 몸을 맡기고, 지수적 성장을 받아들이며, 코드가 존재한다는 사실조차 잊어버립니다. LLM(예: Sonnet을 쓰는 Cursor Composer)이 너무 좋아지고 있기 때문에 가능한 일이죠. 그리고 저는 SuperWhisper로 Composer에게 그냥 말로 대화합니다.