Rachel Thomas - 2026년 1월 28일
바이브 코딩(Vibe coding)은 사람이 코드를 읽지 않을 것을 전제로, AI를 이용해 복잡하고 방대한 양의 코드를 생성하는 것을 말합니다. 이는 현재 기술 산업에 일종의 마법을 걸어놓은 상태입니다. 경영진은 AI가 업무를 처리할 수 있다고 주장하며 해고를 밀어붙입니다. 관리자들은 직원들에게 코드의 일정 비율 이상을 AI로 생성하라고 압박하며, 그렇지 않으면 인사 고과에서 불이익을 줄 것이라고 경고합니다. 소프트웨어 개발자들은 주변의 모든 이들이 '10배 개발자(10x developer)'가 된 것만 같아 뒤처질까 봐 불안해합니다. 대학생들은 AI가 코딩을 자동화한 마당에 컴퓨터 과학을 공부할 가치가 있는지 의문을 갖습니다. 커리어의 모든 단계에 있는 사람들이 자신의 역량 개발에 투자하기를 주저합니다. 어차피 1년 뒤면 AI가 대신 해줄 텐데, 그게 다 무슨 소용일까요?
우리는 AI 기업에서 일하며 매일 AI를 사용합니다. AI는 유용합니다! 하지만 우리는 바이브 코딩에 대해 신중하게 접근하고 있으며, 그 과정에서 많은 문제가 발생할 수 있음을 목격해 왔습니다. 바이브 코딩의 결과는 초기 열성론자들이 약속했던 것과는 거리가 멀었습니다. 유명 소프트웨어 개발자인 아민 로나커(Armin Ronacher)는 AI 코딩 에이전트의 문제점을 강력하게 묘사했습니다. "처음 클로드(Claude)에 빠졌을 때 저는 잠도 자지 않았습니다. 두 달 동안 과도하게 프롬프트를 입력하며 토큰을 낭비했죠. 결국 수많은 도구를 만들고 또 만들었지만, 정작 제대로 사용한 것은 거의 없었습니다... 제가 만든 도구 중 꽤 많은 것들이 당시에는 정말 훌륭하다고 느껴졌지만, 나중에 보니 실제로 사용하지 않거나 생각했던 대로 작동하지 않는다는 것을 깨달았습니다." 아민은 자신의 글에 "에이전트 정신증(agent psychosis)"이라는 제목을 붙였습니다. '정신증'이라는 용어는 매우 강한 표현입니다. 이 기술의 어떤 점이 이토록 생산적이고 경험 많은 개발자들을 함정에 빠뜨리는 것일까요? 그 이유는 도박의 중독성과 유사할 수 있는데, 이는 보통 긍정적인 상태인 '몰입(Flow)'의 이면에 숨겨진 불길한 흐름과도 같습니다. 모든 집중이 몰입은 아닙니다
코딩이나 다른 창의적인 작업을 할 때, 우리 중 많은 이들이 '몰입' 상태를 경험합니다. 이는 완전히 빠져들어 활기차게 집중하는 상태를 말합니다. 이 개념은 1970년대 심리학자 미하이 칙센트미하이(Mihaly Csikszentmihalyi)에 의해 처음 정립되었습니다. 그는 1990년 베스트셀러 저서에서 몰입을 "자신의 기술이 당면한 과제를 해결하기에 적절하다고 느끼며, 목표 지향적이고 규칙에 얽매인 행동 시스템 속에서 자신이 얼마나 잘하고 있는지에 대한 명확한 단서를 제공받는 상태"라고 설명했습니다.
하지만 몰입의 긍정적인 정의에는 부합하지 않으면서도, 빠져드는 기분과 집중력을 유발하는 활동들이 있습니다. 도박을 예로 들어보겠습니다. 몰입의 핵심 요소는 직면한 도전 과제가 개인의 기술 수준과 적절히 맞아야 한다는 것입니다. 칙센트미하이는 도박꾼들이 전적으로 운에 의해 결정되는 게임에서도 자신의 기술이 중요한 역할을 한다고 믿는 현상에 대해 "룰렛 도박꾼들은 바퀴의 회전을 예측하기 위해 정교한 시스템을 개발한다"라고 썼습니다.
이러한 종류의 몰입에서 또 다른 핵심 요소는 활동이 "자신이 얼마나 잘하고 있는지에 대한 명확한 단서"를 제공해야 한다는 점입니다. 현대 슬롯머신 제조사들은 이와 정반대의 상황을 만들기 위해 엄청난 노력을 기울여 왔으며, 그 결과 **'승리로 위장된 패배(Loss Disguised as a Win, LDW)'**라는 결과를 만들어냈습니다.
전통적인 슬롯머신에서는 이기거나 지거나 둘 중 하나입니다. 반면, 멀티라인 슬롯머신은 한 번에 20개의 줄이 돌아가며 부분적인 '크레딧'을 보상으로 줍니다. 이는 돈을 잃고 있음에도 불구하고 이기고 있다는 착각을 불러일으킵니다. 예를 들어, 20센트를 걸고 15센트의 '크레딧'을 받을 수 있습니다. 실제로는 5센트 손실이지만, 슬롯머신은 축하 음악을 울려 긍정적인 도파민 반응을 유도합니다. 연구에 따르면 이러한 게임은 실제 승리와 유사한 생리적 반응을 유도하며, 플레이어들은 고도로 몰입된 상태에 빠지기 쉽습니다. 이 슬롯머신은 한 번에 4개 라인을 플레이할 수 있으며, 일부는 최대 20개 라인까지 가능합니다. (출처: Wikimedia Commons)
도박 중독 연구자들은 진정한 몰입의 이 변질된 형태를 설명하기 위해 "다크 플로우(dark flow)"라는 용어를 만들었습니다. 칙센트미하이는 2014년 인터뷰에서 "정크 플로우(junk flow)"라는 개념을 정의했습니다. "정크 플로우는 처음에는 몰입일 수 있지만, 시간이 지나면서 성장을 돕는 대신 중독되는 피상적인 경험에 빠지는 것을 말합니다. 문제는 성장에 도움이 되지 않으면서도 매력적이고 유혹적인 것들에서 즐거움이나 재미를 찾는 것이 훨씬 쉽다는 점입니다." '정크 플로우' 또는 '다크 플로우'의 개념은 많은 사람이 바이브 코딩에서 겪는 경험과 일치합니다. 그 결과는 처참할 수 있습니다.
바이브 코딩과 도박의 평행이론
다시 아민의 경험을 되짚어 봅시다. "제가 만든 도구 중 꽤 많은 것들이 당시에는 정말 훌륭하다고 느껴졌지만, 나중에 보니 실제로 사용하지 않거나 생각했던 대로 작동하지 않는다는 것을 깨달았습니다." 이는 도박 중독의 '승리로 위장된 패배' 개념과 매우 흡사합니다. 수백 줄의 코드와 쏟아져 나오는 앱들을 생각해 보십시오. 그중 일부는 정말 유용할 수도 있지만, 상당수는 미래에 유지보수하거나 수정하기에 너무 복잡하며 숨겨진 버그를 포함하고 있는 경우가 많습니다. 우리 중 많은 이들이 컴퓨터 프로그래밍을 사랑하는 이유 중 하나는 몰입의 경험 때문입니다. 겉보기에 바이브 코딩은 이와 유사한 몰입을 유도하는 것처럼 보일 수 있습니다. 하지만 바이브 코딩은 도박이 실패하는 것과 똑같은 지점에서 몰입의 특성을 위반하곤 합니다.
- 바이브 코딩은 자신이 얼마나 잘하고 있는지에 대한 명확한 단서를 제공하지 않습니다(심지어 승리로 위장된 패배라는 오해의 소지가 있는 단서를 제공합니다).
- 도전 수준과 기술 수준 사이의 일치 여부가 불분명합니다.
- 사람들이 실제보다 자신이 결과에 더 큰 영향을 미치고 있다고 생각하게 만드는 가짜 통제감을 제공합니다.
바이브 코딩을 할 때, 사람들은 생성된 코드가 정말 좋은지 여부를 몇 시간, 몇 주, 심지어 몇 달이 지나서야 깨닫게 된다고 보고합니다. 새로운 버그를 발견하거나 간단한 수정조차 할 수 없게 되며, 프로그램이 예상치 못한 방식으로 충돌하기도 합니다. 게다가 AI 코딩 에이전트가 얼마나 열심히 작동하는지, 그리고 생성된 코드의 양이 얼마나 많은지는 종종 단기적인 생산성 지표처럼 보입니다. 이는 멀티라인 슬롯머신의 축하 소리와 똑같은 감정을 유발할 수 있습니다.
바이브 코딩은 오해의 소지가 있는 주체성을 부여합니다. 코더는 무엇을 만들고 싶은지 지정하고, 대규모 언어 모델(LLM)로부터 어떻게 진행할지에 대한 선택지를 제공받습니다. 하지만 그러한 옵션들은 프로그래머가 스스로 내릴 법한 아키텍처 선택과는 상당히 다르며, 평소라면 택하지 않았을 경로로 그들을 유도합니다.
슬롯머신과 LLM 모두 사용자의 심리적 반응을 극대화하도록 정교하게 설계되었습니다. 슬롯머신 제조사는 당신이 얼마나 오래 플레이하고 얼마나 많이 베팅하는지를 극대화하려 합니다. LLM은 인간이 좋아할 만한 답변을 하도록 미세 조정(Fine-tuning)되어, 아첨을 떨고 사용자가 계속 다시 돌아오게 만듭니다. 제가 이전 블로그 포스트와 학술 논문에서 썼듯이, AI는 지표를 최적화하는 데 너무 능숙해서 그 과정에서 해로운 결과를 초래하는 경우가 많습니다. 신뢰할 수 없는 화자들
'정크(또는 다크) 플로우' 상태에서는 자신의 생산성 수준과 작업 품질을 정확하게 평가하는 능력을 상실하게 됩니다. METR의 연구에 따르면, 개발자들이 AI 도구를 사용할 때 스스로는 20% 더 빠르게 일하고 있다고 추정했지만, 실제로는 19% 더 느리게 일했습니다. 인지된 시간과 실제 시간 사이에 거의 40%의 차이가 발생한 것입니다! 바이브 코딩으로 생산성이 높아졌다고 열광하는 사람들의 주장을 평가하기는 어렵습니다. 소프트웨어 엔지니어링에 대한 사전 전문 지식과 효과적인 컨텍스트를 제공하는 지식이 유용하긴 하지만, 그것이 바이브 코딩 결과에 미치는 영향은 비선형적이고 불투명합니다.
저는 10년 동안 구독하며 즐겨 읽어온 한 선도적인 AI 연구자의 블로그 포스트 최근 2개를 도저히 읽을 수가 없었습니다. 우연히 포스트의 한 소제목 부분을 보게 되었는데, 저자는 이 최근 2개의 포스트를 생성하는 데 AI를 사용했다고 밝혔습니다. 그는 이전과 동일한 품질의 글을 훨씬 더 빠르게 생산하고 있다고 썼습니다. 그 필자는 제가 존경하는 지적이고 성취도가 높은 분이지만, 이 포스트들이 이전 작업물들과는 상당히 다르게 읽힌다는 사실을 인지하지 못하는 듯했습니다. 적어도 저에게는 이전 글들보다 가독성이 훨씬 떨어졌습니다.
소셜 미디어는 AI로 얼마나 더 많은 일을 해내고 있는지 말하는 계정들로 가득합니다. 사람들은 자신이 말하는 것을 진심으로 믿을 수도 있지만, 개인은 자신의 생산성을 판단하는 데 있어 형편없는 심판관입니다.
빗나간 예측들
AI 코딩 에이전트가 무엇을 할 수 있는지 실험해 볼 가치는 있지만, 현재의 기술 스택 개발을 포기하지는 마십시오. 바이브 코딩의 매력 중 일부는 6개월 또는 12개월 후에 얼마나 효과적일지에 대한 추측 섞인 외삽(Extrapolation)에 기반합니다. 이러한 예측은 현실보다는 희망에 근거한 순전한 추측일 뿐입니다.
기술 기업 CEO들의 예측을 비판적인 시각으로 바라보십시오.
당신의 커리어를 걸고 도박을 하시겠습니까?
우리 모두는 실수를 하며, 저는 위에 언급된 분들을 비난하려는 것이 아닙니다. 하지만 AI 연구자나 기술 기업 CEO의 추측성 예측 때문에 자신의 기술에 대한 투자를 중단하고 싶은지 자문해 보는 것이 중요합니다. 소프트웨어 엔지니어링이나 문제 해결 능력을 키우지 않았는데, 점점 더 커지는 복잡성을 AI 코딩 에이전트가 처리할 수 있을 것이라는 예측이 실현되지 않는 상황을 가정해 보십시오. 그때 당신은 어떤 처지에 놓이게 될까요?
AI 도구들이 정말 인상적이고 계속 발전하고 있는 것은 사실이지만, 주요 기초 모델 연구소들의 예측은 그 발전 속도를 지속적으로 과장해 왔습니다. 이는 새로운 일이 아닙니다. 기술 기업들은 수십 년 동안 자신들의 제품을 과대광고해 왔습니다.
인간의 창의성과 사고는 여전히 중요합니다
AI 코딩 에이전트는 문법적으로 올바른 코드를 생성할 수 있습니다. 하지만 유용한 추상화 계층이나 의미 있는 모듈화를 만들어내지는 못합니다. AI는 코드의 간결함이나 대규모 코드베이스의 구조 개선에 가치를 두지 않습니다. 우리는 코딩을 자동화했을 뿐, 소프트웨어 엔지니어링을 자동화한 것이 아닙니다.
마찬가지로, AI는 문법적으로 정확하고 그럴듯해 보이는 텍스트를 생성할 수 있습니다. 하지만 그것이 당신의 생각을 직접적으로 날카롭게 다듬어주지는 않습니다. 가장 정밀한 공식을 만들어내거나 문제의 핵심을 짚어내지도 못합니다.
"지금 AI 에이전트에 모든 것을 거는 사람들은 스스로 도태되는 길을 택하는 것입니다. 모든 사고를 컴퓨터에 아웃소싱하면 기술 향상, 학습, 그리고 더 유능해지는 과정을 멈추게 됩니다." 제레미 하워드(Jeremy Howard)는 Nvidia 개발자 인터뷰에서 이렇게 말했습니다. AI는 유용한 도구이지만, 인간의 핵심 능력을 대체하지는 못합니다. 이 에세이의 초기 초안에 대해 피드백을 준 제레미에게 감사를 표합니다.