AI와 함께 달리는 '바이브 코딩', 그 속도에 방향을 더하다
회사의 시계는 언제나 개발팀의 속도보다 빠르게 흐른다. 윗선의 지시는 번개처럼 떨어지는데, 우리 개발팀은 이미 산더미 같은 백로그에 파묻혀 있다. 정석대로 기획서를 쓰고, 티켓을 발행하고, 일정을 조율하려다 보면 결론은 늘 하나다. "이번 분기 내에는 불가능합니다."
협업으로 풀 수 없는 일정의 압박. 그래서 나는 '바이브 코딩'을 시작했다. AI와 대화하며 코드를 짜고, 즉시 기능을 구현하는 나만의 생존 방식이었다. 그 결과, 내 손에서 3개의 프로젝트가 탄생했고 지금도 쌩쌩하게 돌아가고 있다. 하지만 AI와의 협업이 늘 장밋빛은 아니었다. '그냥 알아서 해주겠지'라는 안일한 생각으로 덤볐다가는 낭패를 보기 십상이었다.
바이브 코딩은 빠르다. 하지만 방향을 잃으면 그 속도만큼 빠르게 망가진다. 어느 날은 로직이 꼬여 코드 전체가 무한 루프에 빠지기도 했고, 불필요한 연산을 요청하느라 아까운 토큰만 허공에 날려버린 적도 부지기수였다. AI는 내가 개떡같이 말해도 찰떡같이 알아듣는 척하지만, 결국 내가 설계하지 않은 구멍은 메워주지 못했다.
기능은 돌아가는데 왠지 모르게 위태로운 코드, 덩치만 커진 프로젝트 앞에서 나는 잠시 멈춰 섰다. 그때 책장에 꽂혀 있던 공명식 저자의 웹기획 실전 가이드를 다시 꺼내 들었다.
사실 이 책은 아주 디테일한 기술서라기보다는, 기획을 짚어주는 짧은 가이드에 가깝다. 하지만 AI라는 고성능 엔진을 달고 폭주하던 나에게는 브레이크이자 내비게이션이 되어 주었다. 특히 76페이지부터 이어지는 운영 플로우와 유지보수 계획 파트는 내가 바이브 코딩에서 놓치고 있던 '빈틈'을 정확히 찔렀다.
나는 이 책의 내용을 AI 가이드와 결합해 내 프로젝트에 적용하기 시작했다.
1. 운영 플로우: 무한 루프 끊어내기 이전에는 AI에게 "이 기능 만들어줘"라고 뭉뚱그려 말했다면, 책을 읽은 후에는 서비스의 전체 흐름도를 먼저 머릿속에 그렸다. 데이터가 어디서 들어와서 어디로 나가는지, 예외 상황에서는 어디로 빠지는지 '길'을 먼저 닦아두니 AI가 작성한 코드도 무한 루프에 빠지지 않고 정해진 길로만 매끄럽게 달리기 시작했다.
2. 유지보수 계획과 RACI 매트릭스: AI의 역할 정의 책에서 언급한 RACI(Responsible, Accountable, Consulted, Informed) 매트릭스는 사람 간의 협업 도구지만, 나는 이를 AI와의 협업에 적용했다.
"이 로직의 책임(R)은 프론트엔드 스크립트에 있어."
"이 데이터 검증(A)은 백엔드에서 무조건 처리해야 해." 이렇게 역할과 책임을 명확히 프롬프팅하자, 코드 간의 충돌이 사라졌다. 윗선의 빠른 지시에도 흔들리지 않는 구조가 잡힌 것이다.
3. 데이터 기반 업데이트 설계: 토큰 낭비 줄이기 무턱대고 모든 데이터를 호출하던 방식에서 벗어나, 책에서 힌트를 얻어 데이터의 생성-저장-폐기 주기를 설계했다. 꼭 필요한 시점에 필요한 데이터만 AI에게 요청하니 토큰 효율이 비약적으로 상승했다. 낭비 없는 프로그램은 이렇게 탄생했다.
개발팀의 지원과는 별개로 3개의 프로젝트를 굴리면서 깨달은 것은 명확하다. 바이브 코딩이라는 강력한 도구가 있어도, 결국 '무엇을 어떻게 만들 것인가'를 결정하는 기획의 힘이 없으면 결과물은 사상누각이라는 것이다.
<웹기획 실전 가이드>는 내게 엄청난 신기술을 알려준 것은 아니다. 하지만 너무 바빠서, 혹은 AI를 믿어서 건너뛰려 했던 '기본'을 다시 한번 복기시켜 주었다.
그 덕분에 나의 바이브 코딩은 이제 낭비 없이, 더 빠르고 견고하게 돌아간다. 윗선의 지시가 아무리 빨라도 이제는 두렵지 않다. 내겐 AI라는 손과, 책으로 다져진 기획이라는 머리가 있으니까.