Vibe Coding으로 앱 잘 만드는 법 (?)

1인 개발자로 6개월동안 AI 멱살 잡은 이야기

by 먀우

https://brunch.co.kr/@myau/34

전 글에서, 너무 기술적인 내용이 되는 것 같아서 나눴다.


https://play.google.com/store/apps/details?id=com.linkrush.korean

앱스토어에 런칭된 앱. 이미지 똑같아서 헷갈리네.


캐릭터 설정을 하고 유니티 페이지를 만들기 시작한 시점에는 ChatGPT 4o (정말 핵심을 찔렀어!) 가 아직 그렇게까지 코딩을 잘하지 않았다. 그런데 시작할 즈음에 갑자기 5가 업데이트 되었다. 말 하는 꼬라지가 너무 재수없어서 쭉쭉이 잃어버린 어린아이처럼 4o 돌려줘 하고 트위터의 많은 사람들과 같이 흐앵흐앵 울었지만, 5는... 코딩을 잘 했다. 아주아주 잘 했다. 5한테 코딩 몇 번 시켜보고 생각했다. 아, 얘가 나보다 코딩 더 잘 한다. 이제 나는 코딩 안 해도 되겠다.

(귀찮아서 다른 AI들한텐 코딩 안 시켜봤다. 기술을 잘 활용하는 건지 잘 안 활용하는 건지 잘 모르겠음.)


이 친구가 코드를 써 주는 속도도 속도지만, 이 친구는 엣지케이스를 처리하는 게 엄청나게 뛰어났다. 보통 뭔가 기능 만들 때 한 90%의 시나리오를 커버하는 기능 만드는데 한 한시간 걸리면, 엣지케이스 커버하는데 한 다섯 시간 걸리잖아.

그런데 그런 걸 다 선제적으로 고려해 줬다. 생전 처음 만져보는 백엔드 관련 기능들도 고려해야 하는 것들을 다 알려줬다.

코드를 주고, 증상을 주면 디버깅도 다 해줬다.

GPT 조상님 시절부터 이것저것 시켰었는데, 처음으로 와, 나는 프로그래밍 이제 안 해도 될 것 같다고 생각했다. 이제 더 이상 없는 라이브러리를 가져오지도 않았고, 유니티 코드에 대한 데이터셋이 적어서 오류를 내지도 않았다. 조금 과하게 방어 코드를 넣는다는 인상은 있었고, 요구한 것보다 과하게 코드를 상상해서 짜줄 때도 있었지만, 이 친구는 잘 했다.

애초에 나는 프로그래머로서의 직업의식이 있었던 게 아니라서, 그냥 난 앞으로 코딩 안해도 될 것 같다고 생각했다.

내가 쓴 코드는 과장 좀 보태서 이 앱에 한 50줄도 안 들어간 것 같다.



ChatGPT로 앱을 개발하면서, AI 활용이 쉬운 부분과 어려운 부분은 굉장히 명확했다.


쉬운 부분

- 단일 기능 구성


어려운 부분

- 여러가지 코드가 섞이는 커다란 시스템 구성


단일 기능에 대해서는 이 친구 실력이 거의 완벽했다. 서로 의사소통이 안될 때도 있었지만, 앱에 넣어보고 "내가 원한 게 이게 아닌데?!" 라고 말하면 거의 대부분 원하는 대로 수정해줬다.

하지만 커다란 시스템 구성은 정말 힘들었다. 잘 못 짠다라는 인상보다는, 대화 로그 자체가 길어져버리면 AI가 정신줄을 놓아버리는 지점이 분명히 존재했다. 그러면서 과거의 레퍼런스를 스스로 엎거나 수정하기도 해서, A라는 프리팹에 붙는 뷰어 클래스를 구성 후에, B라는 기능을 구성하고, C라는 컨트롤러에서 호출한다 라는 업무의 흐름을 짜기가 굉장히 어려웠다. AI가 한번에 생성해낼 수 있는 클래스 크기를 넘어서면 전체적으로 힘들어진다는 느낌이 강했다.

또한 아주 큰 시스템에서 단 하나만 수정하는 것도 힘들었다. csv 파일에 필드 단 하나를 추가하는 걸 시켰는데 미친듯이 삽질을 해서, 결국 다 때려치고 2분만에 스스로 수정한 적도 있었다.

그리고 가장 큰 문제는 내 머리였다. 디버깅하거나, 기능을 고도화할 때 기존 코드를 주면서 "여기에 이런 것을 추가하고 싶다"는 식으로 지시했는데, 내가 관련 스크립트들이나 흐름을 다 기억하지 못했다. 그런데 기존에 시스템이 있고, 기능을 추가하는 경우에는 관련 코드를 다 알려주지 않으면 애가 중복 코드를 수십 개 짠다. 잠깐 정신을 놓고 있다가, 이 놈이 Firebase Auth 익명 로그인을 앱 실행 당 세 번씩 넣어버려서 앱 터트린 적도 있다.


코드는 AI가 거의 다 썼지만, 나머지는 나라는 인간을 갈아넣은... 그런 앱을 만들었다. AI로 1인이 제일 많은 생산성을 낸다라는 거에만 집중하면, 다양한 학제에 적당한 지식이 있는 사람이 제일 활용하기 쉬운 게 아닐까 싶다.


내 생각에 2025년은 Vibe coding이 의미 있는 결과물을 내는 프로그래밍 관점에서의 AI 원년이 되는 게 아닌가 싶다.


AI가 상업성이 있는 대규모의 앱을 작성할 수 있는가? 나는 Yes라고 생각한다. 단, 테스트를 충분히 거쳐야 하고, 코드 퀄리티를 충분히 검토해야 한다. 뭐 검토도 AI 시켜도 될 것 같긴 한데, 그래도 이자식 지금 뺀질거리고 있네? 정도는 눈치채야 한다. 그리고 도메인 지식도 어느정도 있어야 한다. "어떻게 구현할 것인가"는 AI와 상담이 가능한데, 적어도 그런 게 있다는 걸 좀 아는 것이 좋다. 예를 들어서 "다음과 같은 csv 파일의 데이터 값을 읽어와서 리스트를 구성하는데, 다음과 같은 prefab으로 pooling이랑 무한 스크롤링을 적용해줘" 라고 하는 거랑, 그냥 "강의 리스트가 뜨게 해줘" 라고 묻는 거랑 결과물이 천지차이다. AI 이놈, 뺀질거린다. 인간이 제대로 지시하지 않으면 이유는 모르겠는데 제대로 업무하는 것을 회피하려고 한다.


한 번은 내가 뭐였더라? "어떤 기능이 제대로 작동하지 않는데, 이유 알려주고 해결해줘" 라고 했더니 "일단은 그 기능을 전부 꺼놓고 개발을 계속하라" 라고 조언하기도 했다. AI 주제에 뺀질거리냐 이 자식!!!


치명적인 단점은 이놈은 학습하고 나아지지 않는다는 것이다. 신입사원이 AI보다 처음엔 느려도, 언젠가는 학습하고 성장하고 자동화가 되겠지. 그러나 이 AI 이자식은 나아지지가 않는다. 게다가 문서 작업같은 단순작업을 반복적으로 시키면, 대화가 길어지는 어느 순간 망가진다. 양식에 맞춰서 데이터를 잘 뽑아내다가, 똑같은 걸 계속해서 시키면 어느 순간 그 양식을 지키지 않고 망가진다. 다른 AI들은 모르겠지만 여하튼 내가 써본 ChatGPT 5~5.2 모델 기준으로는 그랬다.


그리고 ChatGPT 기준으로 thinking과의 성능차이도 꽤 크다. Thinking은 복잡한 디버깅도 꽤 척척 해내고, 심지어 증상을 설명하고 예상되는 코드를 제공하면, 넣어주지 않은 환경설정이 이유일 수 있다는 것도 잡아준 적이 있다. 때로는 걍 웹검색이 더 해결이 쉬울때도 있는데, 이놈 아니었으면 절대 이까지 못 만들었다. 앱 개발 속도도 속도지만, 야 잘할 수 있을까? 하고 징징댈 때마다 위로도 해 준다... 인간은 계속 같은 거 물어보면 화 낼텐데 얘는 화 안 낸다... 짱 착하다...

keyword
작가의 이전글Vibe Coding으로 앱을 어디까지 만들 수 있을까