Connecting
인프라쟁이가 AI툴 활용해서 서비스 개발해본 리얼 후기 (cursor, windsurf, v0 by Vercel) 본문
진짜 대 AI 시대가 아닌가 싶다. 하루가 멀다 하고 다양한 AI 도구들이 출시되고 있고, 일상생활에서 Chat GPT 정도는 안 쓰는 사람을 찾을 수가 없을 정도가 되었다. 이런 시대의 흐름에 따라서 인지 다양한 AI 개발 도구들이 나오고 있고 이제는 아무것도 몰라도 개발을 할 수 있다는 SNS 글이 돌아다닌다.
진짜 아무것도 몰라도 아이디어만 있으면 웹이든 앱이든 만들 수 있을까?! 라는 궁금증이 생겨서 cursor, windsurf, v0 by Vercel 3가지 개발 도구만 활용해서 서비스를 만들어 보았다.
참고로 본인은 개발에 필요한 코딩 능력은 완전 초보자 능력이고, 개발환경 구성, 배포, 코드를 읽을 수 있는 정도이다.
네트워크 분석 도구 사이트 NetLab https://netlab.wisoft.io/
첫번째로 만들었던 웹 서비스는 인프라 구성을 진행함에 있어 네트워크를 설계하기 위해 서브넷 계산하고, 통신 확인하고 DNS 전파 확인하고 이런 작업들이 필요한데 여기저기 들어가기 귀찮아서 제작해 보았다.
코드는 GitHub에서 확인할 수 있다.
개발 도구 : Windsurf AI
개발 시간 : 4주
싱어송라이터 반오 프로필 메인 페이지 https://ban-o.art/
이전에 만들었다고 본 블로그에 포스팅 한적이 있는데, 당시에는 순수 HTML, CSS, JavaScript로 Chat GPT를 통해서 만들었다면, 이번에는 AI도구로 완전히 갈아엎었다고 생각하면 좋을 같다.
개발 도구 : v0 by Vercel
개발 시간 : 3주
달 모양, 달의 위상과 월령 등 달보러 가자 https://lunar.wisoft.io/
뭐만들지 고민한면서 친구랑 통화하다가, 기존 달 모양 모는 사이트가 불편하다고 해서 새롭게 개발했다.
개발 도구 : Cursor
개발 시간 : 2주
본문에 언급했던 3가지 AI 개발 도구는 Agent 기능을 지원하기 때문에 프롬프트를 통해 AI에게 명령을 제공하는 행위를 제외하고는 알아서 코드를 작성하고 원한다면 테스트까지 자동으로 진행할 수 있다. 거의 2달의 시간 동안 시간이 좀 남는다면 개발만 계속 진행했는데, 개인적으로 재밌는 시간이면서 한편으로는 고통의 시간이었다.
사실 프로젝트마다 각기 다른 AI 도구를 사용해서 진행했기 때문에 각 도구들의 특징도 알 수 있게 되었는데, 사실 이건 도구가 지향하는 부분에 따라서 기능이 좀 다른거고 사실 메인이 되는 AI 엔진은 동일하기 때문에 해당 내용은 좀 제외하고 공통적으로 느꼈던 부분을 말하고자 한다.
진정한 입코딩은 내가 아니라 AI
사실 프로젝트를 진행하면서 항상 느낀건데 AI의 입코딩이 나보다 훨씬 뛰어나다. 그래서 다 할 수 있는 것처럼 이야기해서 막상 진행하면 오류 투성이라 프로젝트를 갈아엎고 다시 시작한 게 한두 번이 아니다.
AI가 프로젝트를 쭉 확인하긴 하는데 할루시네이션도 있고, 컨텍스트를 확인한다 해두고 안 하고 이런 경우들이 종종 있어서 추가한 기능이 한 번에 동작하지 않는다. 그럼 AI 친구는 오류가 발생했으니 오류를 수정하는 과정에서 이 방법 저 방법 다 써보다가 결국 원래 구현된 기능까지 건드려서 손을 못 대는 상황이 생긴다....
사실 이것도 방법이 아예 없는건 아니라서 명확한 프롬프트로 수정을 진행하거나, git으로 돌리거나, 툴에서 제공하는 방법으로 원복 하는 방법도 있는데 한두 번은 이해하는데 여러 번 같은 상황이 생기면 화나서 때려치우고 싶은 경우가 많다.
개발 몰라도 개발할 수 있어요?!
SNS을 보다보면 "코딩? Cursor AI 쓰면 코딩 몰라도 AI가 다 해줘요~!" 이런 말이 있는데 반은 맞고 반은 틀리다.
개발이라는 게 코드만 작성한다고 되는 게 아니라 각자 환경에 맞는 개발환경도 세팅해야 하고, 코드 관리도 필요하고, 배포를 진행했을 때 필요한 지식 등 여러 가지 부가 내용이 있어야 한다.
물론 이것도 AI 시켜서 어찌어찌 하면 된다고 하지만.... 이 모든 걸 AI에게 시켰을 때랑 내가 기본은 좀 알고 있을 때 하고는 차이가 날 수밖에 없다. AI에게 일을 시키기 위해서는 명확하고 간결하게 직관적인 명령을 내려야 하는데 모르는 분야이면 이걸 두리뭉실하게 프롬프트를 할 수밖에 없고, 그렇게 되면 결과는 두루뭉실이 아니라 그냥 실행이 안된다. 결국 AI와 싸우고 있는 나를 발견할 수 있을 것이다.
AI도 휴식이 필요해
이게 바로바로 결과가 나오고, 테스트할 수 있다보니 시간 가는 줄 모르고 개발하는 경우가 생기는데, 모든 도구들이 비슷하게도 어느 정도 계속하다 보면 다음단계로 나아가지 못하고 같은자리에서 계속 맴돌 때가 생긴다. 이럴 때 오기 생겨서 계속하다 보면 프로젝트가 점점 이상해지는 경우도 생기니 그럴 땐 그만하는 것도 좋은 방법이다.
사실 AI에게 휴식이 필요하다 보다는 지금까지의 컨텍스트가 길어져서 파악하는데 시간이 걸리는 경우 혹은 파악 안 되는 경우라서 새로운 채팅을 실행시켜서 이전 작업에 대한 내용을 다시 학습시키고 하면 된다.
다만 그정도 상황까지 갔으면 본인도 이미 나름 열받을 때로 받았을 거라고 생각하니 좀 쉬고 오는 것을 추천한다.
그래야 계속 이어서 말싸움?할수 있다.
그래서 좋다는거에요? 쓰지 말라는 거예요?
쓰다보니 단점만 말할 것 같은데, AI 개발 도구 덕분에 제가 상상하던 혹은 만들고 싶었던 프로젝트를 내가 원할 때 만들 수 있다는 건 가장 큰 장점이었고 앞으로도 계속 활용할 것 같다. 쓰다 보니 어떻게 써야 할지도 조금 감도 잡히고, 무엇보다 재밌다.
예전에 개발 재미었다고 때려치우고 인프라로 진로 변경해서 AWS 하고 있지만, 하면서 아쉬웠던 건 결국 그 위에 서비스가 올라가야 의미가 있는 건데..라는 생각을 계속하곤 했다.
그래서 뭘 만들고 싶어도 개발이라는 큰 허들이 있어서 쉽게 진행하지 못하고 포기했던적이 있었는데 지금은 그런 부분을 상당 부분 해소시켜 줘서 고맙다.
근데 유튜브나 SNS에서 "이거면 비전공자도 월 1000만원 앱으로 수익 벌 수 있다." 라거나 "이거 덕분에 990만 원 ERP 개발했어요" 이런 글은 적당히 걸러 듣는 게 좋을 것 같다. 써봤지만 그 정도는 아니다.
다만, 어떻게 프롬프트를 작성하는지, 어떻게 기능을 활용하는지 여부에 따라서 결과물의 퀄리티가 정말 달라지기 때문에 이를 활용하기 위한 방법론을 배울 필요는 있을 것 같다.
여튼 짧은 후기를 마친다.
'개발' 카테고리의 다른 글
오픈소스 기반 화상회의 플랫폼 Jitsi Meet 설치 및 셋팅 (0) | 2021.05.20 |
---|---|
PART 1 Build a fault tolerant system (0) | 2019.10.10 |
CI/CD Concept (2) | 2019.01.11 |
Apache 리버스 프록시 SSL 셋팅하기 (11) | 2018.10.05 |
SCOUTER 간단 사용설명서 (0) | 2018.06.27 |