4 minutes
바이브 코딩에 대한 진실 혹은 거짓

정도현 - 로보코 수석 컨설턴트
나는 86년 애플II, 정확히는 애플의 OEM물량을 빼돌려 뒷시장에서 유통시킨 ‘청계천2호’로 프로그래밍에 입문했다. 95년부터 직업 프로그래머로 일했으니, 어느덧 30년 가까운 세월동안 코딩을 해 오고 있다. 오랜 기간동안 소프트웨어 개발과 관련한 무수한 트랜드 변화를 경험해 왔지만, 바이브 코딩의 등장만큼 충격적인 변화는 없었다. 작년 12월부터는 바이브 코딩으로 실제 프로덕션 개발을 하고 있다. 최근 SNS를 보면 이 바이브 코딩에 대한 우려와 기대가 많아 보인다. 내 경험을 바탕으로 이 새로운 현상에 대해 이야기하고자 한다.
첫째, 바이브 코딩은 AI로 개발하는 것을 말하는가? 맞기도 하고 틀리기도 하다. 몇 년 전부터 개발자들은 이미 GitHub Copilot이나 ChatGPT 같은 AI를 사용해왔다. 다만 기존 방식이 사람 주도의 문제 해결이었다면, 바이브 코딩은 사람이 문제를 정의하고 AI가 해결까지 책임지는 방식이다. 자동차로 치자면 지금까지의 개발은 수동에서 오토로, 그리고 내비게이션까지 온 상태다. 바이브 코딩은 목적지만 말해주면 알아서 데려다주는 자율주행에 더 가깝다.
둘째, 바이브 코딩은 정말 소프트웨어 지식이 없어도 가능한가? 이 또한 그렇기도 하고 아니기도 하다. AI는 알고리즘 문제와 같은 비교적 협소한 문제를 해결하는 데에 매우 효과적이다. 그러나 일정 규모 이상의 프로젝트에서 바이브 코딩이 잘 작동하려면 명확한 문제 정의와 적절한 콘텍스트 경계를 유지하는 것이 필수이다. 현재의 AI 도구는 지나치게 복잡한 콘텍스트를 처리하기 어렵다. 따라서 적절히 문제를 잘게 쪼개는 능력, 즉 소프트웨어 엔지니어링에 대한 기본적 이해는 여전히 필요하다. 이러한 상태가 얼마나 지속될지는 알 수 없다. LLM과 바이브 코딩 도구들이 빠르게 발전하고 있기 때문이다. 확실하게 말할 수 있는것은 현 시점의 바이브 코딩은 적어도 대부분의 문제 해결에 있어서 함수 단위를 넘어서서 마이크로 서비스 규모의 콘텍스트를 처리하는 데에는 아무 문제가 없다는 것이다.
셋째, 바이브 코딩은 지나가는 유행일까? 아니다. 이미 인터넷이나 스마트폰처럼 세상에 나왔고, 나를 포함해서 바이브 코딩으로 개발을 하는 개발자들이 실제로 많이 있다. 바이브 코딩의 유용성은 이미 검증된 것이고, 유행처럼 사라지지 않고 지속적으로 개선될 것이다. 바이브 코딩을 지탱하는 핵심 기술인 AI의 성능도 빠르게 발전하고 있다. 지금은 어렵다고 느끼는 문제들도 금세 해결될 것이다. 앞으로 바이브 코딩은 소프트웨어뿐 아니라 AI를 이용해서 현실의 여러 문제를 해결하는 중요한 도구로 자리잡을 것이다. 물론 악용하려는 사람들도 나올 것이니 이에 대한 대비는 필요하다.
넷째, 바이브 코딩은 대규모 개발에 사용될 수 없는가? 아니다. 현재는 AI의 성능상 한계가 있지만, 충분히 해결 가능한 문제다. AI가 잘 처리할 수 있는 크기로 개발을 나누면 된다. 프롬프트 엔지니어링으로 AI가 고려해야 하는 콘텍스트를 제한하거나, 아예 마이크로 서비스로 마이그레이션 하는 것도 좋은 방법이다. 충분히 가능하고 효과적이다. 중요한 것은 일정 규모를 넘어가는 프로젝트에서 바이브 코딩을 사용하기 위해서는 그 나름의 방법론과 프로세스가 필요하다는 것 이다.
다섯째, 바이브 코딩은 버그가 많다? 맞다. 하지만 사람이 짠 코드도 마찬가지다. 사람이든 AI든 규모가 커지면 버그는 늘어난다. 핵심은 바이브 코딩이 잘 동작하는 구현 규모를 유지 할 수 있게 잘게 쪼개면서 개발해 나가는 것 이다. SOLID원칙의 ‘O’에 해당하는 수정에는 닫혀있고 확장에는 열려있는 구조가 여기서 빛을 발한다. 또 한편으로는 바이브 코딩에서도 TDD(테스트 주도 개발)가 매우 유용하다. 다만 사람의 TDD는 테스트를 먼저 작성한 뒤 실행코드를 짜지만, AI는 거의 동시에 테스트와 실행코드를 만든다. 이렇게 작성된 테스트 코드는 이후의 변경사항에 든든한 보호막이 되어준다.
여섯째, 바이브 코딩은 완전히 새로운 개발 방식인가? 아직은 아니다. 자율주행이 나왔어도 자동차에 여전히 운전대가 남아 있듯, 바이브 코딩도 기존 소프트웨어 개발의 좋은 모범사례들을 계승하고 있다. 테스트 코드, SOLID 원칙, 클린 아키텍처, DDD, CI/CD, 정적 코드 분석 등 기존 모범사례들은 바이브 코딩에서도 그대로 통용된다. 오히려 AI가 이 원칙들을 더 철저히 지킬 수 있게 해 주기 때문에 모범 사례가 가져다 주는 장점을 극대화할 수 있다. 하지만 조만간 바이브 코딩은 완전한 자율 주행차에서 헨들이 없어지듯이 코드 그 자체를 보여주지 않거나 감추더라도 문제 없는 수준으로 발전해 나갈 것으로 본다. 심지어 AI를 위한 프로그래밍 언어나 프레임워크가 등장할 수도 있다.
마지막으로, 바이브 코딩은 대기업에서는 쓸 수 없을까? 바이브 코딩의 보급은 클라우드 컴퓨팅 도입과 비슷한 양상을 보일 것으로 예상한다. 대기업 입장에서는 빠르게 바이브 코딩을 도입하기는 쉽지 않을듯 하다. 하지만 시간이 흐르면서 컴플라이언스 같은 문제는 클라우드 업체가 해결책을 제공해 줄 것이다. 기술에 대한 인사이트를 가진 기업들은 가능성을 확인하고 도입을 서두를 것이다. 대기업에 비해 발걸음이 가벼운 스타트업들은 이미 빠른 속도로 바이브 코딩을 도입하고 있다. 하지만 비즈니스 문제를 정의하고 해결하는 것은 여전히 사람의 몫이다.
요약하자면 바이브 코딩은 일시적 유행이 아니다. 아직은 부족하지만 매우 강력한 가능성을 가지고 있으며, 끊임없이 진화하고 있다. 중요한 것은 이를 이해하고 올바르게 활용할 줄 아는 우리의 태도다.