바이브 코딩(Vibe Coding) - 새로운 가능성
"바이브 코딩(Vibe Coding)"—모든 코드를 한 줄씩 작성하는 대신 자연어 프롬프트와 반복적인 수정(iteration)을 통해 소프트웨어를 구축하는 관행—은 빠르게 진화해 왔습니다. 우리는 챗봇 기반의 어시스턴트로 시작하여 Cursor나 Windsurf 같은 "컴포저(Composer)" 도구들로 넘어갔고, v0나 Lovable 같은 즉각적인 UI 생성기들을 실험해 보았습니다.
하지만 새로운 변화가 일어나고 있습니다. **제미나이 3.0(Gemini 3.0)**과 구글의 새로운 에이전트 플랫폼인 **안티그래비티(Antigravity)**의 출시로, 우리는 단순한 "코딩 보조"를 넘어 진정한 **"에이전트 오케스트레이션(Agentic Orchestration)"**의 시대로 이동하고 있습니다.
이 글에서는 이 새로운 기술 스택을 활용해 단 이틀 만에 프로덕션 수준의 뉴스레터 앱을 구축한 경험을 공유하고, 왜 이것이 Cursor나 Claude Code를 대체할 만한 도구가 될 수 있는지 그 가능성을 살펴봅니다.
그동안 저는 Loveable을 활용해 전체적인 프론트엔드 구성을 빠르게 확보하고, Cursor로 백엔드 구현과 클라우드 배포를 진행하는 ‘2단계 개발 방식’을 주로 사용해 왔습니다. 또한 Claude나 Gemini로 프로젝트 아이디어를 구체화한 뒤, Loveable과 Cursor를 연계하는 ‘3단계 개발 워크플로우’도 함께 시도해 왔습니다.
그러던 중 AI 기반 개발(Vibe Coding)에서 사양(Requirement Specification)의 중요성을 절실히 깨닫게 되었고, 이를 해결하기 위해 Clearly를 직접 개발하여 제 전체 개발 프로세스에 정식으로 통합하게 되었습니다.
입력이 나쁘면 결과도 나쁩니다(Garbage in, garbage out). 아무리 뛰어난 AI라도 정의되지 않은 비즈니스 로직을 추측할 수는 없습니다.
역할: "뉴스레터 앱 만들어줘" 같은 모호한 프롬프트를 쓰는 대신, Clearly를 사용하여 구조화된 **BRD(비즈니스 요구사항 정의서)**와 **PRD(제품 요구사항 정의서)**를 생성합니다.
결과물: 다운스트림(Downstream)의 AI 에이전트들을 위한 청사진 역할을 하는 정밀하고 맥락이 풍부한 "바이브 코딩 프롬프트"를 제공합니다.
혁신: 제미나이 3.0은 단순히 더 똑똑해진 챗봇이 아닙니다. "플랜 모드(Plan Mode)"를 갖춘 에이전트 모델입니다.
중요한 이유: 단편적인 코드 조각만 던져주던 이전 모델들과 달리, 제미나이 3.0은 전체 프론트엔드 흐름을 설계할 수 있습니다. Clearly에서 생성한 프롬프트를 입력했을 때, 단 한 번의 시도로 내 앱을 위한 완전하고 탐색 가능한 UI 목업을 생성해 냈습니다. 단순히 컴포넌트 하나가 아니라, 응집력 있는 시스템을 만들어낸 것입니다.
정의: 구글의 새로운 AI 네이티브 IDE(통합 개발 환경)입니다. 이것은 단순한 텍스트 에디터가 아니라, 자율 에이전트들을 위한 "미션 컨트롤(관제탑)"입니다.
초능력: 터미널, 브라우저, 에디터에 대한 완전한 접근 권한을 가집니다. 코드를 제안하는 데 그치지 않고, 코드를 실행하고, 테스트하고, 수정합니다.
여러분이 지금 읽고 있는 이 서비스를 구축하기 위해 사용한 정확한 워크플로우는 다음과 같습니다.
저는 Clearly에서 몇 가지 전략적인 질문에 답하는 것으로 시작했습니다. 시스템은 저에게 사용자(관리자 vs 구독자)가 누구인지, 핵심 가치가 무엇인지 정의하도록 유도했습니다.
결과: 제미나이 3.0에 최적화된 포괄적인 프롬프트와 생성된 PRD.
Clearly의 프롬프트를 Google AI Studio로 가져가 제미나이 3.0 프로 (High) Planning 모드를 사용했습니다.
결과: 약 10분 만에 높은 완성도의 완전 반응형 UI를 얻었습니다. 단순히 "예쁜" 것이 아니라, 스펙에 명시된 기능적 요구사항을 완벽하게 따랐습니다.
저는 Claude Code를 사용하여 백엔드 로직(Node.js/Firebase)을 구현하기 위해 코드를 Cursor로 옮겼습니다. 모든 것이 순조로웠지만, **"배포의 장벽"**에 부딪혔습니다. 구글 로그인이 작동하지 않게 만드는 고질적인 Firebase API 키 구성 오류 때문이었습니다.
고군분투: Claude Code와 OpenAI Codex로 문제를 해결해 보려고 수 시간 동안 씨름했지만, 여러 차례 다양한 방식으로 시도해도 끝내 해결책을 찾지 못했습니다. 답답함은 커져만 갔고, 코드와 Google Console을 샅샅이 살펴봐도 명확한 원인을 발견할 수 없었습니다. 잠시 지금까지의 작업을 모두 포기하고 처음부터 다시 시작할까 고민할 정도였죠. 그러던 순간, 마침 구글에서 막 공개한 최신 도구 Antigravity가 떠올라 이를 시험 삼아 사용해 보기로 했습니다.
그래서 이 시점에서 Antigravity를 투입해 보기로 했습니다. 콘솔 에러 메시지를 그대로 던져 넣었는데—
와우!
Claude Code도, OpenAI Codex도 해결하지 못했던 버그를 Antigravity가 단번에 잡아냈습니다.
이 경험 이후로는 당분간 Cursor 대신 Antigravity를 좀 더 적극적으로 활용해 볼 생각입니다.
우리는 이제 단순히 "코드를 작성"하는 것이 아니라, 시스템을 설계하고 **에이전트를 지휘(orchestrate)**하는 시대로 진입하고 있습니다.
Clearly는 *무엇(What)*을 정의합니다.
Gemini 3.0은 *외형(Look)*을 창조합니다.
Antigravity는 그것이 *작동(Works)*하게 만듭니다.
� 스펙 정의부터 시작하세요: Clearly로 첫 번째 PRD 작성하기