'바이브 코딩'하는 마음에 대한 고찰
2503 시즌 - 책 <쓰기의 미래> 독후감
2025-05-16 02:23
전체공개
바이브 코딩(Vibe coding)이란 AI를 활용하여 '자연어'로만 코딩을 하는 것을 뜻한다. <쓰기의 미래>의 원서 <Who Wrote This?>가 출간된 2023년에는 존재하지 않던 개념이다. 이 책에서도 Github '코파일럿'을 소개하긴 했지만, 2년이 사이 많은 발전이 있었다. 지금의 AI coding agent 는 코드 한 줄 쓰지 않아도 사이트 하나를 뚝딱 만들 수 있을 정도다. 오픈 AI 공동 창업자이자 '바이브 코딩'이란 용어를 만든 안드레이 카파시(Andrej Karpathy)의 말을 빌리자면 "코드가 존재한다는 것 조차 잊어버릴' 정도로 말이다.
나도 Cursor(AI 기반 개발툴)을 사용하여 '바이브 코딩'을 해봤다. 홈페이지 디자인과 회원가입/로그인/게시판/채팅/댓글/좋아요 등의 기능을 정말 빠르게 구현했는데, 맹세코 코드에는 한 번도 손 대지 않았다. 답답한 순간은 많았지만 오직 AI와의 대화로만 작업을 완료했다. 정말 놀랍고 경이로웠다, 개발을 못하는 사람에게도 아이디어를 실현할 수 있는 시대가 도래했다는 생각이 들었다. 많은 사람에게는 기회다. 반면, 직접 개발이 가능한 개발자가 '바이브 코딩'에 의존할 경우 마음에 어떤 변화가 생길지 궁금했다.
바이브 코딩의 한계는 이미 많은 사람들이 지적하고 있다. 대표적인 것은 아래와 같다.
나도 Cursor(AI 기반 개발툴)을 사용하여 '바이브 코딩'을 해봤다. 홈페이지 디자인과 회원가입/로그인/게시판/채팅/댓글/좋아요 등의 기능을 정말 빠르게 구현했는데, 맹세코 코드에는 한 번도 손 대지 않았다. 답답한 순간은 많았지만 오직 AI와의 대화로만 작업을 완료했다. 정말 놀랍고 경이로웠다, 개발을 못하는 사람에게도 아이디어를 실현할 수 있는 시대가 도래했다는 생각이 들었다. 많은 사람에게는 기회다. 반면, 직접 개발이 가능한 개발자가 '바이브 코딩'에 의존할 경우 마음에 어떤 변화가 생길지 궁금했다.
바이브 코딩의 한계는 이미 많은 사람들이 지적하고 있다. 대표적인 것은 아래와 같다.
- (0 to 1)에는 뛰어나지만 (1 to N)에는 한계가 있다. 즉, 확장성이 떨어진다.
- 무분별한 라이브러리 다운로드로 보안 취약점이 생긴다.
- 코드 버그가 자주 생기고, 디버깅이 어렵다.
나는 위 사항을 자세히 다루지는 않겠다. 내가 아니라도 얘기하는 사람이 많기 때문이다.
이 글은 <쓰기의 미래>의 독후감인 만큼, '바이브 코딩'에 의존하는 개발자의 마음에는 어떤 변화가 있을지 생각해 보려 한다.
코딩은 한 줄 한 줄 쌓아가며 확장해 나가는 행위다. 어제 작성된 코드는 오늘 놓일 코드의 단단한 받침돌이 된다. 집을 짓는 것에 비유하면 바닥부터 하나하나 벽돌을 쌓아가는 것이다. 모든 벽돌이 내 손끝을 통해 놓여진다. 한 번 자리 잡은 벽돌은 내가 마음먹고 제거하기 까지는 그 자리를 지켜줄 것임을 안다. 이런 누적성과 예측가능성은 벽돌 하나하나에 애정이 담기게 만든다. 또한 어느 벽돌이 삐뚤어져 있더라도 세심한 손길로 그 부분만 살짝 고칠 수 있다. 나는 구석구석 파악하고 있기 때문에 사소한 문제를 바로잡는데 어렵지 않다.
반면 '바이브 코딩'은 어떤가? 요청하면 순식간에 집이 만들어진다. 내 손을 거친 벽돌은 없다. 건물 외관은 내 요청대로 만들어진 것 같아 보여도 내부와 기능은 장담할 수 없다(여닫이문처럼 생겼지만 미닫이문일 수도;;). 그리고 벽돌 하나가 삐뚤어졌다고 해보자. 그 '벽돌'을 10도 틀어달라고 AI에게 콕 짚어서 요청하긴 어렵다(비개발자일 경우는 더더욱). 그렇다고 AI가 만들어놓은 집을 내가 직접 건드리기도 어렵다. 사실 AI가 잘하는 것은 삐뚤어진 벽돌 하나를 바로잡기 위해 집을 허물고 처음부터 다시 지어버리는 것이다. 사람에게는 비효율적으로 느껴지겠지만 몇 초 만에 수천 줄을 작성하는 AI 에게는 그 편이 더 효율적이다. 실제로 '바이브 코딩' 개발자가 '버그'를 해결하는 방식이다(Youtube 참고). 언제든 순식간에 허물어질 수 있는 코드(벽돌)들에는 애정과 관심을 두기 어렵다.
<쓰기의 미래>에는 AI에 의존하여 글을 쓰는 소설가 이야기가 나온다. 작품 출간 속도는 빨라졌지만 그녀에게 뭔가 이상한 일이 생긴다. 더 이상 인물이나 줄거리에 몰입이 안 되는 것이다. 그녀는 이렇게 말한다.
이 글은 <쓰기의 미래>의 독후감인 만큼, '바이브 코딩'에 의존하는 개발자의 마음에는 어떤 변화가 있을지 생각해 보려 한다.
코딩은 한 줄 한 줄 쌓아가며 확장해 나가는 행위다. 어제 작성된 코드는 오늘 놓일 코드의 단단한 받침돌이 된다. 집을 짓는 것에 비유하면 바닥부터 하나하나 벽돌을 쌓아가는 것이다. 모든 벽돌이 내 손끝을 통해 놓여진다. 한 번 자리 잡은 벽돌은 내가 마음먹고 제거하기 까지는 그 자리를 지켜줄 것임을 안다. 이런 누적성과 예측가능성은 벽돌 하나하나에 애정이 담기게 만든다. 또한 어느 벽돌이 삐뚤어져 있더라도 세심한 손길로 그 부분만 살짝 고칠 수 있다. 나는 구석구석 파악하고 있기 때문에 사소한 문제를 바로잡는데 어렵지 않다.
반면 '바이브 코딩'은 어떤가? 요청하면 순식간에 집이 만들어진다. 내 손을 거친 벽돌은 없다. 건물 외관은 내 요청대로 만들어진 것 같아 보여도 내부와 기능은 장담할 수 없다(여닫이문처럼 생겼지만 미닫이문일 수도;;). 그리고 벽돌 하나가 삐뚤어졌다고 해보자. 그 '벽돌'을 10도 틀어달라고 AI에게 콕 짚어서 요청하긴 어렵다(비개발자일 경우는 더더욱). 그렇다고 AI가 만들어놓은 집을 내가 직접 건드리기도 어렵다. 사실 AI가 잘하는 것은 삐뚤어진 벽돌 하나를 바로잡기 위해 집을 허물고 처음부터 다시 지어버리는 것이다. 사람에게는 비효율적으로 느껴지겠지만 몇 초 만에 수천 줄을 작성하는 AI 에게는 그 편이 더 효율적이다. 실제로 '바이브 코딩' 개발자가 '버그'를 해결하는 방식이다(Youtube 참고). 언제든 순식간에 허물어질 수 있는 코드(벽돌)들에는 애정과 관심을 두기 어렵다.
<쓰기의 미래>에는 AI에 의존하여 글을 쓰는 소설가 이야기가 나온다. 작품 출간 속도는 빨라졌지만 그녀에게 뭔가 이상한 일이 생긴다. 더 이상 인물이나 줄거리에 몰입이 안 되는 것이다. 그녀는 이렇게 말한다.
더 이상 나의 작품이라는 생각이 들지 않았어요. 썼던 것을 돌이켜 보면서 내가 그 단어들과 발상들에 정말로 연결되어 있다는 느낌이 들지 않았을 때는 곤혹스러웠습니다.
이후로 그녀는 작품에 AI를 사용하지 않게 됐다. 나는 코딩도 마찬가지라고 생각한다. 코드와 코드의 흐름(로직)에 연결되어 있다는 느낌이 들지 않으면 몰입이 어렵다. 미하이칙센트 미하이의 책 <몰입의 즐거움>을 읽은 사람들을 알겠지만, '몰입'은 정말 놀라운 결과물을 만들어낸다.
물론 '바이브 코딩'도 몰입이 된다고 반박할 수 있다. 인정한다. 나도 '바이브 코딩'하며 '몰입'을 느꼈었다. 그런데 내가 느끼기에 몰입의 유통기한이 짧다. 처음 '바이브 코딩'을 접했을 때 아이디어를 처음 실현해 볼 때 등등.. (0 to 1) 과정에서는 몰입이 되지만 그 뒤로는 흥미가 점차 떨어진다. 작업물과 깊숙하게 연결되어 있다는 느낌이 안 들기 때문이다. 바이브 코딩이 (1 to N) 확장이 어려운 것은 기술적 문제도 있지만 심리적인 문제도 있다.
이런 이유 때문에 바이브 코딩으로 만들었다는 서비스가 있으면 가입하기가 꺼려진다. 이 서비스가 앞으로도 꾸준히 관리되리라는 믿음이 생기지 않기 때문이다. (이 서비스를 만든 사람은 이미 '바이브 코딩'으로 다른 서비스를 만들고 있을 가능성이 크다.)
물론, 개발에 AI를 활용하지 말자는 얘기는 아니다. 적절함에 대한 문제다. 그 균형은 우리가 계속 고민하면서 찾아가야 한다. 이제 내게 AI는 떼어낼 수 없는 훌륭한 개발 파트너이고 많은 도움을 받고 있다.
---
사실 이 '북클럽 오리진' 사이트의 디자인 개편을 '바이브 코딩'으로 해볼까 했었다. 디자인은 백엔드 개발자인 나의 전문 분야가 아니기 때문이다. 그러나 <쓰기의 미래>를 읽으며 생각이 바뀌었다. 직접 디자인 기술을 학습하여 수정해 보기로 결심한 것이다. 아무래도 학습하고 수정하는데 시간과 수고가 들겠지만, 그 이후 수정과 확장이 유연해질 것이다. 그럼 사피들의 사이트 의견을 더 세세하게 잘 반영할 수 있다. 우리가 함께 만들어가는 이 공간 곳곳에 인간의 결정과 손길이 묻어있으면 한다. 우리에게 딱 맞는 옷처럼, 필요한 만큼의 기능과 디자인을 세심하게 쌓아갈 것이다.
나는 이 공간을 애정하며, 북클럽 오리진 사이트를 이루고 있는 코드 한 줄 한 줄에 연결됨을 느낀다.
댓글
관계의 깊이는 연결감, 결속감에서 나오는 게 아닐까요. 깊이란 연결, 결속의 밀도가 아닐까요. 코딩을 쓰기와 연결시킨 글 잘 읽었습니다.
조지오웰 작가가 이승에 온다면 봉천동에 가서 친구하자고 할것 같아요. ㅋㅋ
개발자님이 글쓰기를 코딩과 연결해 올려주신 글에 완전 설득당했습니다. 오리진은 책만큼, 아니 사실 제게는 책보다 더 많은 인사이트를 주는 좋은 공간이네요.^^
개발자님이 글쓰기를 코딩과 연결해 올려주신 글에 완전 설득당했습니다. 오리진은 책만큼, 아니 사실 제게는 책보다 더 많은 인사이트를 주는 좋은 공간이네요.^^