프로필 보기
빨간물약
AI를 이용한 바이브 코딩하기 - 계획의 중요성

가끔 생각나면 적는 시리즈 입니다
첫 글을 적을 때에 비해 바이브 코딩이 많이 활성화 된 거 같습니다
아이디어를 현실로 끄집어내는데 있어 바이브 코딩이 큰 도움이 되고 있죠
그런데 아직도 바이브 코딩을 어려워 하시는 분들이 많이 계신 거 같습니다
바이브 코딩을 하는데 가장 중요한 점이 뭘까요?
모델 선정? 사실 챗gpt, 클로드, 제미나이, 코파일럿 등등 많은 서비스가 있고
그 중에서도 오픈ai와 클로드의 최신 모델이 성능이 좋다 라는 정보는
ai에 관심이 조금이라도 있는 사람들은 다 알고 있는 상식이죠
누구나 알고 있듯이 성능이 좋지만 그만큼 비싸다는 게 단점입니다

취미로 바이브 코딩을 하는데 한달에 수십만원씩 지불하기에는 무리가 있는게 사실 입니다
다른 글에서도 이야기 했지만 바이브 코딩은 모든 순간이 돈 입니다...
한 달 요금제를 지불했다고 해도 어느 순간 쿼터가 끝나서 다른 서비스를 결제해야하는 상황이 되버리죠
물론 간단한 프로젝트는 가능하겠지만
바이브 코딩으로 plex나 immich 같은 서비스를 만들어봐야겠다 라고 마음 먹는다면 말리고 싶습니다
사실 바이브 코딩으로 무언가를 만들어야 겠다 라는 생각을 할 때면
왜?
라는 질문 부터 하게 됩니다
기존에 사용하던 서비스의 부족함이나 불편함이나 뭔가 내 환경에 맞지 않는 단점들
그런 부분들을 수정하거나 수정 된 서비스 혹은 아직 없는 서비스들 만들기 위함이죠
그러니 무언가를 만들 때 가장 먼저 확인해 볼 부분은 내가 만들어 보려는 서비스가 있는가?
서비스가 있지만 내가 만든 게 더 나은가? 경쟁력이 있는가? 내 전용 서비스인가? 범용 서비스인가?
라는 부분을 생각 해봐야겠네요
바이브 코딩은 생각보다 만능은 아닙니다
유튜브 같은 곳에서 보면 ai로 노션이나 피그마 같은 서비스를 만드는 걸 본 적 있을 겁니다만
실제로 만들어진 서비스가 기존의 서비스보다 낫냐? 하면 그건 알 수 없는 부분이겠죠
바이브 코딩으로 immich를 만들면 만들 수는 있겠습니다만 디테일이 다를 수 밖에 없겠죠
그리고 굳이 immich가 있는데 immich 같은 서비스를 만들 필요 있나? 하는 생각이 들 겁니다
오픈 소스인 immich 를 사용하면서 불편했던 부분 때문에 새로운 서비스를 만든다?
오픈 소스 인 경우 그냥 포크해서 수정하거나 모듈 형태로 추가하는 게 나은 방법이죠
이야기 하고 싶은 부분은
바이브 코딩으로 상용 프로그램 급의 프로그램을 만들 수는 있습니다
하지만 그 과정이 여기저기에서 이야기하는 것처럼 딸깍 한 번에 만들 수는 없다는 이야기입니다
ai를 코딩에 이용하는 부류는 크게 세가지라고 생각합니다
우선 첫 째는 ai 없이도 같은 결과물을 만들 수 있지만 시간을 단축 시키기 위해 보조로 사용하는 경우
이 경우는 뭐 혼자 프론트엔드 백엔드 디자인 기타 다른 부분 전부 할 수 있지만
시간이 오래걸리니까 또는 귀찮은 반복 작업이나 검수 작업등에 ai를 보조로 활용하는 방식이죠
사실 이 방식이 가장 이상적이라고 생각합니다
ai가 뭘 하는지 뭘 해야하는지 확인하고 지시하고 화가가 사용하는 붓이나 물감 처럼 ai를 사용하는 거죠
두번째는 전체적인 흐름은 알고 있지만 세부적인 기술은 없는 사람들 백엔드는 잘 알지만 디자인이나 다른 부분은 잘 모른다거나
집을 설계하고 관리 감독은 가능하지만 전기 기술이나 미장 기술 같은 기술은 없는 부류
내가 감독관이 돼서 각 기술자를 감독하면서 지시하고 최종 그림을 그릴 수 있는 사람들이라고 볼 수 있겠네요
ai를 고용한 인부 처럼 사용하는 거라고 볼 수 있겠습니다
세번째는 정말 아무것도 모르는데 무언가를 만들고 싶은 부류
말 그대로 전체 작업을 위탁해서 돈을 내고 결과를 받아보는 방식이죠
아마 초보 분들이 이 세번째에 가장 많을 것 같다고 생각을 합니다
ai에게 뭔가를 설명하고 싶어도 그게 뭔지 잘 모르는 상태
완성된 결과를 받아보고 피드백을 주고 다시 결과를 보고 또 피드백 하고 이런 식이죠
이러면 결국 따뜻하면서 차가운 느낌의 디자인을 요구하는 클라이언트 같은 느낌으로 바이브 코딩을 이용하게 되는데
결과물이 제대로 안나올 뿐만 아니라 소모되는 토큰도 많이 들 수 밖에 없습니다
편의상 첫번째를 고수 두번째를 중수 세번째를 초보 사용자라고 한다면
중수 정도는 되어야 어느정도 결과물을 뽑기가 수월해질 거라고 봅니다
그럼 초보는 바이브 코딩 하지 말란 이야기냐?
그건 아닙니다
누구나 초보 시절은 있을 수 밖에 없는데 하지말라는 말은 모순이죠
그럼 어떻게 해아하나?
바이브 코딩을 하기 위해 코딩을 배우는 건 너무 비효율적 입니다
그럼 뭘 연습하는 게 가장 효율이 좋을까?를 생각해보면
계획을 세우는 연습이 가장 효율이 좋을 거 같다는 생각이 듭니다
요즘에는 이 계획도 플랜 모드니 스펙 모드니 하네스니 뭐니 하면서 정말 편해졌습니다
처음에는 ai와 이야기를 하면서 계획과 뼈대를 세우는 작업이 필수입니다
ai와 같이 머리를 맞대고 설계도를 작성 하는거죠
그럴려면 내가 만들고 싶은 프로젝트의 구체적인 그림을 그리는 게 우선 입니다
가장 쉬운 방법은 우선 현재 존재하는 서비스를 참고 하는 겁니다
아 저 서비스는 저런 기능들이 저렇게 들어가 있구나
ux/ui 가 저런 식으로 돼있는데 살짝 바꾸면 더 편해지겠다
파일을 불러올 때 드래그앤 드랍으로 넣을 수 있으면 더 편해지겠는데?
SSO 지원도 되면 더 좋겠다 등등
물론 이건 다른 서비스들을 많이 이용하고 관찰하고 구조를 어느정도 이해해야 할 수 있는 일입니다
기존 서비스의 큰 뼈대를 참고해서 뺄 건 빼고 더할 건 더하고 수정할 건 수정해서 계획을 세우는거죠
ai한테 참고할 만한 서비스를 추천해달라거나 가장 최신 알고리즘이나 오픈소스 기능들 검색해보라고 하면 다 해줍니다
내가 그리는 그림에 가져다 쓸만한 기능이나 코드들 또는 참고할 것들이 있는지 확인해보고 계획을 세우면 더 탄탄해지겠죠
거기에 추후에 이런 식으로 확장할 거다 라는 비전까지 알려주면 나중에 다 엎을 필요 없이
모듈 형태든 추가 형태든 넣을 수 있는 자리까지 생각해서 비워 놓은 확장 구조로 구현을 할 수 있습니다
사실 풀 바이브 코딩은 취미의 영역이라고 봅니다
내가 하나부터 열까지 컨트롤이 안되는 서비스를 돈 받고 서비스 하기에는 불안 요소가 너무 많죠
그래도 요즘은 ai들 성능이 아주 좋아져서 간단한 프로젝트 정도는 쉽게 만들어 집니다
물론 보안적인 측면이나 디테일등을 깎기 시작하면 사용되는 토큰과 시간이 점점 늘어날 수 밖에 없지만요
개인적인 생각으로는 바이브 코딩은 계획만 제대로 만들면 반 이상은 끝났다고 봅니다
내가 만들고 싶은 서비스의 기능 구현이 현실적으로 가능한가?
그렇게 만들어진 서비스가 기존의 서비스와 차별점이 있는가?
기본적인 기능과 부가적인 기능들이 안정적이고 일정 수준 이상의 퍼포먼스를 보여줄 수 있는가?
이런 질문들을 계속 하면서 계획을 세우면 완성도 높은 서비스들을 만들 수 있을 거 같습니다
그 외에도 내가 지시한 명령을 ai가 어떻게 이해했는지를 파악하는 게 아주 중요합니다
나는 이렇게 지시했는데 ai는 다르게 받아들이고 엉뚱한 방향으로 갈 때 그걸 눈치 챌 수 있을 정도가 되어야 토큰을 아낄 수 있습니다
결과 나오고 나서 다시 수정하려면 답이 없는 경우가 많이 생기거든요
의식의 흐름?대로 적다보니 정리가 덜 된 거 같긴 합니다만
대충 하고자 하는 이야기는 다 한 거 같습니다
바이브 코딩에 도전 하시는 분들이 적은 토큰으로 좋은 결과물을 얻을 수 있으면 좋겠네요
긴 글 읽으시느라 고생하셨습니다





달소
댓글
댓글 쓰기cross agent, cross thread 장기기억 저장 공유..
개발 시작 전 원하는 구현 명세 및 스펙에 대해 agent 와 충분히 상담(?)하고 문서화 해가면서 시작하니까 진도가 나가기 시작하더라고요.
계획과 context 정렬이 정말 중요한것 같습니다.
개발에 대해 전혀 모르는 상태라도, 아이디어만 있다면, ai와 계획서를 만들어가는게 중요하다고 생각합니다. 생각한 아이디어가 구현이 가능하다고 생각된다면, ai를 통해 계획서를 세우고, 모르는 것에 대해 다시 반문하고를 반복하면서 초기에 ai와 계획서를 잘 세우고 작성한 문서를 기반으로 한다면, 생각보다 안 어려울 수 있다고 생각됩니다. 많은 용어들이 나오면, 결재한 ai가 아닌 무료 ai를 활용하여 물어보고, 이해하는 방식으로 간다면 토큰도 아끼고, 초보자도 조금 더 쉽게 조금 더 괜찮은 퀄리티를 만들 수 있다고 생각합니다. 두번째로 이제는 ai 성능이 좋아서, 최적화, 개선사항도 잘 알려줍니다. 이것을 잘 활용하는게 포인트라고 생각됩니다. 디자인의 경우에도 github에 오픈소스를 많이 참조하면 생각보다 괜찮은 퀄리티를 보여주더라고요.