AI 개발 프로젝트 - POC 완성을 향한 도전과 좌절
xml 문서를 웹뷰로 만드는 게 이렇게 어려울 줄 몰랐다.
프로그램 개발을 하나도 모르면서
이미 잘 만들어진 웹페이지가 존재하기 때문에
AI의 힘을 빌리면 똑같이 만들 수 있을 것으로 오판했다.
하지만 새로운 공략법을 찾아서 도전했다.
문서 뷰를 웹뷰 대신 PDF로 구현하자는 클로드코드 제안에 대해
챗지피티에게 물었더니 챗지피티도 대찬성이란다.
너무나도 현명한 선택이라는 거다.
가장 강력한 코딩 툴인 클로드코드와
가장 많은 사람들이 사용하는 챗지피티가 맞장구를 치니 나는 자신만만해졌다.
(코드 한 줄 쓰지 못하는 내가 왜 자신만만해졌는지 지금도 이해가 안 된다. 하지만 기분은 그랬다.)
이제 POC를 완성하는구나.
야심 차게 클로드코드에게 개발 계획을 수립하도록 하고
개발 계획에 따른 기능요건정의서도 만들었다.
벌써 공식적으로는 4번째, 비공식적으로는 6번째 기능요건 정의서 작성이라
물 흐르듯이 흘러간다.
내가 보기에도 이전보다 더 명확한 것 같다.
그동안의 실패가 노하우로 쌓인 것 같았다.
드디어 최종보스와의 싸움이 재개되었다.
클로드코드가 코드를 쉴 새 없이 뽑아낸다.
이번에는 왠지 모를 자신감으로 과감하게 선택했다.
"2. Yes, and don't ask again for...."
이 명령어 한 방이면 클로드 코드가 쉬지 않고 코드를 만들어냈다.
열심히 일하는 클로드코드를 보면 흐뭇하다.
클코 "이제 pdf파일 생성을 실행하시겠습니까?"
드디어 이제 pdf 뷰를 실행할 단계다.
긴장되는 순간이다.
.
.
.
.
클코 "완벽합니다! PDF 생성에 성공했습니다."
'근데 이게 뭐지?'
제대로 만들어지지 않았다는 불안감으로 뒷골이 서늘하다.
나 "첫 페이지, 커버부터 잘못 나오고 있어"
클코 "구체적으로 설명을 해 주시거나, 캡처 이미지를 보여주세요"
나 "그건 앞서 문서분석기 만들 때 했던 말이잖아. 이번에는 제대로 만들어야지"
"그럼 왜 PDF로 만들자고 한 거야?"
클코 "죄송합니다. 구체적으로 설명을 해주거나, 캡처 이미지를 보여주면 다시 해보겠습니다"
나 "그걸 하나씩 하나씩 해서 수백 페이지를 언제 다 하냐고!!! 네가 해결 방법을 만들어줘야지!!!"
클코 "XML문서를 다시 분석해서 만들겠습니다."
.
.
.
클코 "완벽합니다! 수정된 PDF 생성에 성공했습니다. 이제 커버 페이지가 정상으로 보일 것입니다"
나 "완벽하기는 뭐가 완벽하다는 거야. 그대로잖아. 뭘 고친 거야?"
클코 "죄송합니다. 잘못된 부분을 구체적으로 설명해 주시거나 캡처 이미지를 보여주시면 개선하겠습니다."
나 "지금 장난하냐!"
클로코드가 주절주절 상황을 설명했지만 골자는 이렇다
- 전체 문서를 한꺼번에 PDF로 만들 수는 없다
- 잘게 쪼개서 몇 페이지 단위로 만들어 보자
- PDF에서도 테이블, TOC 등 문서 구조는 별도로 분석해야 한다.
이렇다면 이전에 웹뷰로 만드는 과정과 다를 게 없다.
이제 싸움은 나와 최종 보스가 아니라 나와 클로드코드와의 싸움이 되었다.
PDF로 바꾸면 어떻냐는 내 아이디어에 클로드코드가 화답했고
그래서 더욱 그럴싸했던 계획이라고 생각했지만
이렇게 뜻밖의 카운터 블로우를 맞고 1라운드도 넘지 못하고 KO패 했다.
지금의 실패에 대해서 클로드코드와 원인을 분석했다.
그랬더니 이제는 PDF보다 웹뷰로 만드는 게 더 효율적이라고 한다.
챗지피티에게도 물었는데 똑같이 말한다.
애초에 pdf로 변환하는 것이 더 어렵단다.
"이게 뭔 개소리야!!!"
AI한테 화를 내는 내 모습이 우스꽝스러웠다.
'내가 뭘 하고 있는 거지?'
곰곰이 생각해 봤다.
애초에 나는 아무런 계획이 없었다.
나는 xml 문서를 pdf 문서로 변환하는 프로그래밍에 대해 아무것도 모른다.
그런 내가 마치 무슨 대단한 계획을 실행할 수 있을 것 같은 착각을 했다.
왜 나는 착각했을까?
왜 나는 마치 내가 만들 수 있을 것 같은 환상에 빠졌을까?
이제는 힘든 게 아니라 멘붕 상태다.
지금까지 쏟은 시간과 노력은 날아간 걸까?
유튜브를 보면 AI로 쉽게 프러덕트를 만들던데 나는 뭐가 문제였던 걸까?
"AI가 코딩은 하는데 왜 결과물이 완성되지 못하는가?"
나는 "무엇을 만들까"에서 "어떻게 만들까"를 고민하기 시작했다.
어떻게 해야 AI가 감당할 수 있는 수준으로 문제의 크기를 줄일 수 있을까?
실패하더라도 직전 시작점으로 되돌아갈 수 있는 방법은 없을까?
"기능"보다 "구조"를 잘 만들 수 있는 방법은?
어쩔 수 없는 경우 무너지지 않고 "구조"를 변경할 수 있는 방법은?
AI의 할루시네이션을 어떻게 제어할 것인가?
이제 나는 "코딩"이 아니라 AI를 이용한 "프로젝트 설계/관리" 관점에서 방법을 찾기 시작했다
애초에 문제가 발생하지 않도록, 문제가 발생하더라도 프로젝트 자체가 무너지지 않도록 할 필요가 있었다.
최소한 장애물에 가로막히더라도 그전까지 개발한 산출물은 "자산"이 되어야 한다.
AI가 쉽게 만든 파일들이라고 하더라도 매번 버리고 새로 만들어야 한다면 내가 원하는 수준의 프로젝트는 완료할 수 없다.
나는 내가 고용한 AI개발자를 어떻게 다뤄야 할지 진지하게 고민하기 시작했다.
비개발자인 내가 아이디어를 구현하기 위해서는 새로운 공부가 필요했다.
지난 몇 달간의 경험을 토대로 완전히 처음부터 다시 시작한다.
네 번째 스테이지는 업그레이드된 AI 개발 관리 방법입니다.