처음 KittyWallet을 만들기 시작했을 때는 지출과 수입만 관리할 수 있으면 된다고 생각했다.
원래는 나 혼자 사용하려고 시작한 프로그램이었고, 필요한 기능도 많지 않을 거라고 생각했다. 하지만 개발을 계속하다 보니 새로운 기능이 계속 필요해 보였다. 하나를 추가하면 또 다른 기능이 보였고, 그렇게 프로젝트는 처음 계획했던 것보다 훨씬 커졌다.
처음에는 나만 사용할 프로그램이었지만, 만들수록 다른 사람이 사용해도 괜찮은 프로그램을 만들고 싶어졌다. 그래서 기능을 추가하거나 수정할 때도 항상 사용자 입장에서 생각하며 개발하려고 했다.
이번 프로젝트는 AI를 개발 도구로 본격적으로 사용한 첫 번째 프로젝트이기도 했다.
처음에는 AI에게 원하는 기능을 말하면 어느 정도 이해하고 결과를 만들어 줄 것이라고 생각했다. 하지만 프로젝트를 진행하면서 AI를 바라보는 생각도 조금씩 바뀌었다.
AI는 사람처럼 이해하는 존재라기보다, 내가 전달한 정보와 이미 학습한 데이터, 필요하면 검색을 통해 얻은 정보를 바탕으로 가장 적절한 결과를 만들어 내는 도구에 더 가깝다는 생각이 들었다.
그래서 프로젝트를 진행하면서 가장 많이 고민했던 것은 AI와 어떻게 같이 일할지가 아니었다.
어떻게 지시해야 AI가 제대로 일을 할 수 있을까.
원하는 결과가 나오지 않으면 왜 이것도 못 하는지, 왜 말귀를 못 알아듣는지 답답했던 적도 있었다. 하지만 같은 작업을 반복하면서 문제는 AI가 아니라 내가 원하는 것을 얼마나 정확하게 전달했는지에 있다는 것을 알게 되었다.
두리뭉실하게 지시하면 결과도 두리뭉실하거나 의도하지 않은 방향으로 나왔다. 반대로 작업 목적과 조건, 동작 방식, 필요한 결과를 구체적으로 전달할수록 원하는 결과에 가까워졌다.
결국 AI를 제대로 활용하려면 내가 먼저 무엇을 원하는지 명확하게 알고 있어야 했다.
내가 원하는 결과를 정확하게 설명할 수 있다면 어떤 기술이나 기능이든 구현할 수 있을 것 같다는 확신도 생겼다. 반대로 내가 무엇을 원하는지조차 명확하지 않다면 AI 역시 원하는 결과를 만들어 줄 수 없었다.
프로젝트를 진행하면서 문서화와 기록의 필요성도 자연스럽게 생겼다.
문서화는 프로젝트를 위해 했다. 기능의 구조와 개발 기준, 프로젝트에서 정한 규칙들을 정리해 두어야 개발 방향이 흔들리지 않았기 때문이다.
반면 기록은 AI를 활용하기 위해 남겼다. AI와 나눈 대화, 작업 내용, 지시했던 내용들을 기록해 두면 다른 AI를 사용하더라도 이전 작업의 흐름을 그대로 이어 갈 수 있었다. 특정 AI에 의존하기보다, 기록을 기반으로 같은 방향의 결과를 만들어 갈 수 있도록 하는 것이 목적이었다.
처음부터 이런 기준과 규칙이 있었던 것은 아니다. AI를 본격적으로 활용한 첫 프로젝트였기 때문에 개발을 진행하면서 하나씩 만들어 갔다. 부족한 점도 있었고, 같은 내용을 다시 설명하거나 이미 했던 작업을 반복한 적도 있었다.
그래도 첫 번째 프로젝트라는 점을 생각하면 예상했던 것보다 잘 해냈다고 생각한다.
처음에는 KittyWallet을 완성하는 것이 목표였다.
하지만 프로젝트를 진행하면서 목표가 조금 달라졌다.
지금은 KittyWallet 하나를 완성하는 것보다, 이번 프로젝트에서 만든 규칙과 문서화 방식, 기록하는 습관을 바탕으로 앞으로도 계속 새로운 프로젝트를 만들어 가고 싶다는 생각이 더 크다.
KittyWallet은 하나의 프로그램을 만든 프로젝트이기도 하지만, 앞으로 AI를 어떻게 활용하며 개발할 것인지에 대한 나만의 기준을 만들게 된 첫 번째 프로젝트이기도 했다.
