지난 2월부터 커서로 바이브 코딩을 시작했다. 제작년 말부터 Github Coplit을 사용하긴 했었지만, Copilot은 2배 정도 좋은 생산성을 줬고, Cursor는 10배였다. 최근에는 한주에만 커서에 프롬프트를 300개 정도 보냈다. 그러면서 배우고 느낀 점이 좀 있어서 대장간 친구들에게 공유했다. 바이브로 잘 할 수 있는 코딩, 그렇지 않은 코딩이 있다고 생각한다.
관련 글
‘스마트 스토어로 무자본 창업하기’, ‘노코드로 앱 창업하기’ 이후 ‘바이브 코딩’ 열풍이 불기 시작한 것 같다. 내가 브이로그에 설명한 것처럼, 바이브 코딩이란 기술적이고 논리적인 사고는 차차하고 ‘바이브’를 타고 AI와 함께 소프트웨어를 만드는 것을 의미한다. 자조적이면서 재밌는 말이다.
대화를 하면서 앱을 만드는 개발 도구가 웹브라우저에서 꽤 잘 돌아가는 시대가 왔다. Replit은 비개발자에게 인기 있는 대표적인 바이브 코딩 툴이다. SaaS로, 브라우저 안에서 돌아간다. 나는 전부터 코딩을 조금 해왔기 때문에 cursor를 사용한다.
커서는 (나도 원래 사용하던) VS code라는 개발 툴에 프롬프트를 작성할 수 있는 채팅 UI가 결합된 형태인데, 내가 코딩하고 있는 파일과 폴더의 구조, 내용을 이해하고, 내 지시사항에 대한 코드 추가와 수정을 “반자동”으로 할 수 있는 좋은 UX를 가지고 있다.
요즘은 MCP도 함께 사용하고 있는데, Supabase MCP와 Figma MCP를 쓰고 있다. MCP는 언어 모델을 통해 소프트웨어를 제어하고 통신할 수 있는 프로토콜인데, 내가 데이터베이스로 쓰는 Supabase에 새로운 테이블을 만드는 걸 커서 프롬프트를 통해 요청할 수 있다. sql 쿼리를 작성할 필요 없이 영어로 해결이 가능해졌다.
내가 느낀 바이브 코딩의 강점과 한계
강점: 프로토타이핑/PoC는 확실히 10배 빨라졌다.
강점: 프롬프트 몇 줄 만으로도 정석적인 UI/UX 디자인을 잘 뽑아낸다.
한계:
로그인 같은 기능을 붙일 때 제대로 검수하지 않으면 접속 환경 차이에 따른 안정성 확보가 어렵다.
내가 수동으로 수정한 디자인을 종종 자기 맘대로 다시 되돌린다. 코드에서도 마찬가지임 (해결 방법 있음)
5월에는 다국어를 지원하는 웹사이트 2개를 만들었다. 데이터가 많지 않고 수정 주기가 길어 텍스트는 웹사이트 안에 하드코딩으로 박았다.
강점: 언어 모델을 사용하기 때문에 이런 경우에 번역을 프롬프팅으로 자동 생성할 수 있다.
6월에는 메버릭 하우스 커뮤니티 플랫폼을 만들었다.
강점: 와이어프레임 그리는 단계를 생략하고 코드를 가지고 디자인할 수 있다.
한계: 어느정도 기능이 들어가는 웹앱의 경우 바이브 만으로는 코딩이 어렵다. API call 들을 모두 파악하고, 개발 문서를 빡세게 작성하며 사람과 함께 주기적으로 업데이트 해나가야 한다.
결론은, 플랫폼을 만드려면 바이브 많으로는 코딩이 어렵다. 기획하는 데 시간을 많이 들이고, AI가 작성한 코드를 적용하기 전에 사람이 직접 검수해야 한다.
추가로, 바이브 코더가 잘못된 지시를 내리면 앱에 문제가 생긴다. 언어 모델들은 사용자를 만족시키도록 설계되어 있기 때문에 사람에게 아첨을 한다. 내가 문제의 원인을 잘못 파악하고 그걸 고치라고 하면, 잘못된 문제에서도 그에 최대한 맞추어 “맞습니다! 수정하겠습니다~” 하면서 불필요하고 잘못된 수정을 만들어 낸다.
암튼 그렇게 점점 개발자에 가까워지는 중이다.
바이브코딩
장점: 와 이걸 이렇게 빠르게 만들어줘?
단점: 와 이걸 이렇게 비효율적으로 고쳐?
(고치면 다행)