← 목록으로

바이브코딩은 직접 코드를 쓰는 것만큼 재미있지 않다

요약
  • AI를 활용한 '바이브코딩'은 빠른 시제품 제작과 생산성 면에서 유용하지만, 직접 코딩할 때 얻는 배움과 성취감, 프로젝트에 대한 애착은 제공하지 못합니다.
  • 저자는 AI가 주는 즉각적인 즐거움보다 고생 끝에 얻는 성취감이 장기적으로 더 큰 만족을 준다는 점을 강조합니다.
  • AI 보조 코딩으로 유용한 결과물을 빠르게 만들 수 있어도, 만드는 과정의 즐거움은 직접 코드를 쓸 때보다 적을 수 있음
  • 바이브코딩은 재미를 앞당겨 제공함. 적은 노력으로 아이디어를 시제품으로 만들 수 있지만, 리팩터링은 처음처럼 짜릿하지 않음
  • 만드는 즐거움에는 아이디어의 실현뿐 아니라 어렵게 이룬 성취, 일을 잘 해냈다는 만족, 배움도 있지만, 바이브코딩이 이를 자연스럽게 가져다주지는 않음
  • AI 덕분에 직접 만들기에는 시간이 너무 오래 걸리거나 아예 시도하지 않았을 도구와 게임을 만들 수 있었으며, 이런 경우 선택지는 AI와 수작업이 아니라 만들기와 만들지 않기였음
  • 직접 코딩하며 겪는 고생은 나중에 성취감과 애착으로 돌아올 수 있지만, 바이브코딩에서는 프로젝트와의 거리감과 통제력 부족이 남았음
직접 만드는 즐거움과 AI 코딩의 차이
  • 무언가를 만드는 일은 배움과 발견보다 더 큰 만족을 줄 수 있으며, 소프트웨어는 아무것도 없는 상태에서 쓸모 있는 무언가를 만들기 쉬운 수단임
    • 어린 시절 꿈이었던 발명가는 만들기와 발견을 결합하는 직업이었음
    • 글쓰기와 작곡도 소프트웨어처럼 물리적 현실이나 다른 사람과의 접촉이 비교적 적게 필요한 창작 활동임
  • 최근 취미로 만든 Python 스크레이퍼 두 개는 단순했지만 오랫동안 원했던 기능을 수행했고, 몇 년 만에 가장 즐거운 프로그래밍 경험이었음
    • 프로젝트는 salez.ca와 Free Silver Price API임
    • 그전에는 주로 셸 스크립트를 작성했으며, Bash는 재미있는 언어로 알려져 있지는 않음
  • AI가 어리석다거나 생산성을 높이지 못한다는 이유만으로 AI 보조 코딩을 쉽게 일축하기는 어려워졌음
    • 그러나 생산성과 별개로, AI를 통한 코딩은 직접 코딩하는 것보다 덜 재미있었음
    • 바이브코딩도 무언가를 실제로 만들었다는 짜릿함을 일부 주지만, 처음의 흥분이 리팩터링까지 이어지지는 않음
재미를 앞당기는 방식과 여섯 가지 만족
  • 바이브코딩의 확산 요인 중 하나는 프로젝트와 개발 경력 양쪽에서 재미를 앞당겨 제공한다는 데 있음
    • 아이디어가 있으면 아주 적은 노력으로 작동하는 시제품을 빠르게 얻을 수 있음
    • 코딩 경험이 없어도 앱을 “코딩”할 수 있고, 그 앱은 아마 작동할 것임
  • 즐거움을 먼저 받는 방식은 개인적으로 피하고 싶은 방식임
    • 아직 하지 않은 일의 대가를 미리 받거나, 빚을 지거나, 오늘 다른 사람이 내 일을 해주는 대신 내일 그 사람의 일을 해주기로 하는 약속도 같은 이유로 선호하지 않음
  • 무언가를 만들 때의 짜릿함과 만족은 여섯 가지로 나눌 수 있음
    • 아이디어 자체에서 오는 짜릿함
    • 아이디어를 현실로 만드는 짜릿함
    • 어렵게 이뤄낸 성취의 만족
    • 일을 잘 해냈다는 만족
    • 배우는 즐거움
    • 자신의 문제를 해결하는 무언가를 만들었다는 만족
  • 바이브코딩은 대체로 아이디어, 실현, 문제 해결에서 오는 만족을 줄 수 있음
    • 반면 어렵게 이룬 성취, 일을 잘 해냈다는 만족, 배움은 바이브코딩의 자연스러운 결과가 아님
AI가 아니었다면 만들지 못했을 것들
  • AI를 활용하면 제작에 들일 만한 시간의 기준이 달라짐. 수작업으로 몇 주를 쓸 가치는 없지만, 몇 분이나 며칠이면 만들 가치가 있는 도구들이 있음
  • Hacker News 제출 이력 확인 북마클릿은 한 번의 요청으로 만들었고, 실제 문제를 해결해 상당한 만족을 줬음
    • Taylor Troesh의 Discuss on HN 코드 조각을 바탕으로 제작함
    • Wallabag 즐겨찾기 페이지에서 정기적으로 사용함
  • Party Market은 예측시장에 관한 짧은 강연을 위해 빠르게 만든 예측시장 시뮬레이터 파티 게임임
    • 강연 중 “내가 얼마나 오래 떠들 것인가”를 주제로 실시간 시장을 열어 건조하고 지루한 강연을 재미있는 행사로 바꿈
    • 코드 품질은 형편없고 버그도 많았지만, 같은 시간에 직접 작성하는 것은 불가능했음
    • AI로 만들지 않았다면 아예 만들지 못했을 사례임
  • Pyronear 기반 산불 조기경보 시스템은 Lumo 무료 플랜을 이용해 두 차례 오후 작업으로 구현함
    • 아는 소방 책임자가 Nvidia 카드와 Xeon 모델/세대조차 명시하지 않은 “AI 어플라이언스”에 지나치게 많은 돈을 쓰려던 것이 계기였음
    • 노트북에서 실시간 영상으로 작동했고, 입력한 발화 영상에서 연기가 처음 나타나는 프레임을 감지할 수 있었음
  • Kobo 데이터베이스 마이그레이션 도우미는 브라우저에서 실행되며, SQLite에 익숙하지 않은 사람도 책과 주석을 새 기기로 옮길 수 있도록 만듦
  • 보컬 코치와의 수업이 취소됐을 때는 약 10년 동안 만들려고 계획했던 실시간 음정 훈련 앱을 구현함
힘들어도 남는 성취감
  • AI로 만든 결과물 대부분에는 매우 만족했지만, 제작 과정은 직접 만든 작은 스크레이퍼만큼 재미있지 않았음
  • 수작업 개발도 항상 즐겁지는 않음

    • 마감이 있던 첫 Golang 프로젝트는 상당 시간 동안 확실히 즐겁지 않았음
    • 처음 20줄 정도의 Rust 코드를 쓰며 컴파일러와 씨름한 경험도 마찬가지였음
    • 이런 경험은 장기적으로 당장은 힘들지만 지나고 나면 즐거운 ‘Type II fun’이 됐음
    • “내가 해냈다”는 성취감이 남았고, 다음번에는 더 쉽게 할 수 있었음
도구를 바꿔도 남았던 불만
  • 여러 수준의 AI 코딩 방식을 시도했음
    • llama-server에서 실행하는 로컬 모델을 사용함
    • Phind, Lumo 등 무료 서비스의 응답을 복사해 한 번에 스크립트를 만들기도 함
    • 원격 서버의 “Clod Masterpiece 200™” 무제한 플랜과 직접 작성한 자동 승인 훅을 활용해 알고리듬 트레이딩 모델을 개발함
    • 자동 승인 훅은 우려스러울 만큼 –dangerously-skip-permissions에 가까웠음
  • 어느 방식이든 생산성은 있었지만 결과물의 품질과 작업 중의 감정은 마음에 들지 않았음
    • AI는 스스로 바보처럼 느끼게 하고, 자신이 불필요한 존재라는 감각을 줬음
    • 때로는 사용하는 것 자체가 찜찜했으며, AI를 존중하게 되지도 않았음
프로젝트와의 관계, 현실과의 거리
  • 바이브코딩은 첫 데이트나 하룻밤의 만남을 반복하는 것과 비슷함

    • 프로젝트와 관계를 쌓으며 얻는 따뜻한 감정과 애착이 같은 방식으로 생기지 않음
    • 도파민만으로 채워진 삶에서는 짜릿함도 반복될수록 무뎌짐
    • 바이브코딩은 자신과 현실 사이에 한 겹을 더함. 현실을 직접 경험하는 편이 대체로 더 재미있다는 선호와 충돌함
  • 간신히 통제되는 대기업의 경영자가 된 듯한 작업 경험

    • 실제로 무슨 일이 벌어지는지 제대로 안다는 느낌이 없고, 태업이나 방해를 의심하게 됨
    • 결과물은 완성된 모습으로 나타나지만 상상한 것과 조금 다르고, 작동할 때도 작동하지 않을 때도 있음
    • 그럴 때 할 수 있는 일은 블랙박스에 돈을 더 넣고 더 크게 요구하는 것뿐이라는 감각이 남음
    • 이 글의 개요는 촛불 아래 파란 잉크로 작성했으며, 오타 수정에도 AI를 사용하지 않았음
그냥 목록으로
원문 보기 ↗