바이브 코딩(Vibe coding)은 도박 루프가 될 수 있다
Vibe coding can turn into a gambling loop
핵심 요약
AI 코딩 도구의 편리함이 오히려 무분별한 수정과 도박 같은 반복 작업을 유발해 개발 효율을 떨어뜨릴 수 있다는 고민.
- 도박 루프 현상 — AI의 결과물에 의존해 무한 반복 수정하며 시간을 낭비하게 됨
- 아키텍처 드리프트 — AI가 의도치 않게 코드를 수정해 프로젝트 구조가 망가지는 문제
- 엔지니어링 습관 — AI 의존도가 높아지면 스스로 코드를 짜는 능력이 퇴화할 위험
- 통제 전략 — 작업 범위를 명확히 제한하고 검증 단계를 강제하는 방식의 필요성
나는 AI 코딩 도구를 많이 사용하기 때문에, 이건 AI 반대 글이 아니야. 오히려 AI가 내 작업 방식을 바꿀 만큼 충분히 유용하다는 게 문제지.
몇 년 전, 나만의 텔레그램 봇을 만들고 싶어서 작은 자바 개인 프로젝트를 시작했어. 비공개였고, 이름도 달랐고, 나를 위해 몇 가지 간단한 일을 했지. AI 코딩 도구들이 더 접근하기 쉬워졌을 때, 나는 그것들을 제대로 사용하는 방법을 배우기 위한 수단으로 계속 그 프로젝트를 작업했어.
그 프로젝트는 결국 open-daimon으로 성장했어. 작업에 따라 로컬 모델과 OpenRouter 모델 사이를 라우팅하는 자바 프레임워크지. 지금은 서서히 AI 에이전트 워크플로우 같은 것이 되어가고 있어. 모델 선택, 도구 사용, 그리고 주변 오케스트레이션 일부를 처리해.
유용한 부분은 명확해. AI는 지루한 매핑을 작성하고, 테스트를 생성하고, 버그를 찾고, 실패 원인을 설명하고, 때로는 내가 시작하기도 전에 기능을 구현해 주기도 해.
하지만 불편한 부분도 현실이야. 완전한 바이브 코딩은 도박처럼 느껴지기 시작할 수 있어.
AI가 쓸모없어서가 아니야. 충분히 자주 작동하기 때문이지.
너무 자주 작동해서 AI를 조금 과하게 신뢰하게 돼. 너무 자주 작동해서 생성된 모든 줄을 읽는 게 선택 사항처럼 느껴지기 시작해. 너무 자주 작동해서 이런 생각이 들지. '프롬프트 한 번만 더, 모델 한 번만 더, 검토 한 번만 더, 테스트 한 번만 더 돌리면 드디어 깔끔해지겠지.'
보상은 완성된 기능만이 아니야. 보상은 다음 실행이 문제를 해결할지도 모른다는 기대감이지.
내 프로젝트에서 이 모드는 나를 안정적으로 빠르게 만들어주지 않아. 나는 예전에는 잘 작동하던 것들을 수리하고, 기존 가정을 깨뜨리는 그럴듯한 변경 사항을 검토하고, 아키텍처 드리프트를 정리하는 데 많은 시간을 써. 이상한 점은 내가 여전히 계속하고 있다는 거야. 만약 내가 모든 것을 직접 손으로 짰다면, 아마 더 일찍 프로젝트를 포기했을지도 몰라. AI와 함께라면, 다음 세션이 나에게 큰 도약을 가져다줄 가능성이 항상 있으니까.
또 다른 층위도 있어. 지금 당장 AI는 우리가 얻는 것에 비해 저렴하게 느껴져. 하지만 우리가 저렴한 토큰을 중심으로 엔지니어링 습관을 재구축했는데 나중에 가격이 변한다면, 그 의존성은 명확해질 거야. AI 없이 코딩하는 것은 더 느리게 느껴질 것이고, AI를 사용하는 것은 훨씬 더 비싸질 수 있지.
나는 'AI를 사용하지 마라'가 답이라고 생각하지 않아. 그건 어리석은 소리지. 내가 중요하게 생각하는 구분은 AI 보조 엔지니어링과, 계속해서 움직임만 만들어내기 때문에 엔지니어링처럼 느껴지는 보상 루프 사이의 차이야.
에이전트를 만들거나 사용하는 사람들에게 묻고 싶어: 시스템이 계속해서 그럴듯한 다음 단계를 생성할 때, 어떻게 자율성, 비용, 검토 과정을 통제하고 있어?

