내가 Vibe 코딩을 그만두는 이유
(lucasaguiar.xyz)- 개발 중 "몰입 상태(Flow)"를 AI와 함께 경험하는 Vibe Coding에 대해 반성적으로 고찰한 글
- 최근 두 달 동안 Vibe 코딩에 의존했지만, 생산성과 비용 면에서 만족스럽지 않았다고 판단함
- Vibe Coding은 특정한 개발 방법론이 아니라 일종의 상태 혹은 감정 중심의 개발 방식
- AI 코딩 도우미(Cline, Roo Code, Cursor 등)에 의존해 흐름을 따라가며 코드를 작성
- 명확한 계획 없이 직관과 몰입감만으로 작업하며, 도파민에 이끌려 '진전된 느낌'을 추구
Vibe Coding의 문제점
- 시간 낭비: 처음에는 빠르게 진행되는 듯하지만, 구조가 없기 때문에 오류나 변화에 끌려다님
-
비용 증가: AI의 컨텍스트 윈도우가 커질수록 API 호출 비용도 증가
- 예: 수십만 토큰 전송, 수천 줄 생성 → 결과적으로 비용 부담
- 재작업 증가: 초기에 빠르게 만든 코드가 결국 목적에 맞지 않아 전체를 다시 고쳐야 하는 상황이 발생
장점도 존재함
- 반복적인 디버깅과 재이해를 통해 코드 구조와 언어 자체에 대한 이해도 향상
- 필자는 Python 학습에 집중 중이며, 에러를 이해하고 모델을 올바르게 유도하는 능력이 조금씩 생김
Vibe Coding vs. AI Chat vs. 웹 검색
- Vibe Coding: 초기 탐색이나 실험적 시도에는 유용하나, 구조적인 개발에는 부적합
- AI Chat (ChatGPT 등): 빠른 답변과 보일러플레이트 생성에는 유용하나, 맹목적 신뢰는 위험 (AI 환각 가능성 존재)
- 웹 검색: 개념과 정확한 해결책을 찾는 데 필수적이나, 시간이 오래 걸릴 수 있음
현재 선호하는 조합: Gemini + Open WebUI
-
Gemini Code Assist (VS Code에서 사용):
- 무료이며, 테스트 코드 생성 및 에러 수정에 강함
- 유닛 테스트를 처음 해보는 사람에게 특히 유용
-
Open WebUI:
- 다양한 모델 지원과 커스터마이징 가능
- 특정 목적(코딩, 논문, 특허 등)에 맞는 프롬프트 설정 가능
- 텍스트 정렬, 테이블 변환 등 비용 대비 효율적인 작업에 적합
비효율적인 선택: 무제한 AI 에이전트
- Roo Code, Cline 등은 긴 시간 실행되며 토큰 사용량이 많음
- 특히 Claude 기반은 성능은 좋지만 비용이 과도하게 큼
- 대신 Gemini 2.0, DeepSeek V3/Chat 등은 무료이거나 저렴하고, 성능도 준수함
결론: 균형을 찾아가는 중
- Vibe Coding이 완전히 나쁘다고는 할 수 없음
- 창의력 발휘나 아이디어 탐색에는 도움이 됨
- 그러나 지속 가능한 개발 방식은 아님
- 마감 기한과 비용 앞에서 현실적인 대안이 필요
- 필자의 현재 최적 조합:
- Gemini Code Assist (무료, 유닛 테스트에 강함)
- Open WebUI (컨트롤과 비용 측면에서 유리)
- 향후 계획:
- Perplexity 같은 유료 챗 앱 고려 ($20/월, 무료 티어도 존재)
- API 비용이 월 $30 이상이므로, 구조적 비용 절감 필요
- 장기적으로는 로컬 모델 실행도 고려, 더 효율적인 모델이 나오면 전환 가능성 있음
Hacker News 의견
-
다른 사람들이 LLMs를 사용하여 코딩하는 방법에 대한 보고서를 읽는 것이 흥미로움
- 개인적으로 LLMs가 프로그래밍의 "언캐니 밸리"를 넘어서서 생산성이 크게 향상됨
- 문제와 제약 조건을 잘 설명하면 수천 줄의 코드를 정확하게 생성할 수 있음
- LLM이 생성한 코드를 검토하는 것이 중요하며, 구체적으로 요구하면 잘 해결됨
- "해결책을 구현할 계획을 말해달라"는 요청이 유용함
- 결과는 놀라움. 스타일은 다를 수 있지만 구조적으로 매우 정확함
-
Vibe 코딩은 프로덕션 코드 작성이 아닌 탐색적 프로토타입에 적합함
- 개인적인 도구에는 괜찮지만, 다른 사람에게 배포할 코드에는 적합하지 않음
- 코드에 대한 이해와 반복이 필요함
- Vibe 코딩은 코드에 신경 쓰지 않는 행위로 정의됨
-
Vibe 코딩은 "흐름"에 빠져 쉽게 코드를 생성하는 것임
- 영화 속 해커 장면이 ChatGPT를 사용했다면 더 멋졌을 것이라는 농담
- 코드 실행을 기준으로 코드의 정확성을 판단하는 것은 좋지 않음
- 최소한 LLM 출력물을 검토하는 것이 중요함
-
Vibe 코딩은 코딩과 관련이 없다고 생각함
- 비전문가도 작은 규모의 코드를 만들 수 있지만, 대규모 시스템은 어려움
- LLMs는 보일러플레이트 코드를 생성하는 데 유용하지만, 문제 발생 시 수정이 필요함
- 새로운 'vibe coders'는 문제를 이해하지 못하고 반복적으로 시도함
-
Claude Code를 사용하는 데 하루에 $30를 지출함
- Vibe 코딩에 많은 비용을 들임
-
트리 구조로 작업하는 것이 유용함
- 큰 그림을 그리고 세부 사항을 채워나가는 방식
- LLMs와 함께 작업할 때 효과적임
- 구조적이지만 여전히 Vibe 코딩으로 간주될 수 있음
-
Karpathy는 이름 짓기에 능함
- 새로운 이름이 잘 정착됨
-
LLM을 많이 사용하지만, Vibe라는 개념은 온라인 농담에서 시작됨
- 질문을 잘 구성하는 것이 중요하며, 이는 코딩과 유사함
- 테스트가 중요하며, LLM을 통해 학습이 빠르게 진행됨
-
자신의 생각을 공식 언어로 표현하는 것의 가치가 있음
- 수학이 자연어로도 표현 가능하지만 공식화의 명확성과 간결함이 유용함
- 코드는 모호한 아이디어를 명확하게 만드는 수단임
- 모든 시스템이 모호한 언어로 작성되는 것은 바람직하지 않음
-
AI 채팅이 웹 검색보다 더 나은 결과를 제공함
- SQL 쿼리를 작성할 때 Gemini가 더 나은 결과를 제공함