토요일부터 오늘까지 틈틈이 시간내서 AI 개발 툴(replit)과 웹 앱(보통 웹사이트라고 한다)을 함께 만들어 보고 느낀 점을 기록해 둔다. 블로그니까 로그를 기록하는게 당연하겠..제목을 ‘6일 동안 AI 개발툴과 바이브 코딩하며 느낀 점’이라고 뽑았지만 지금 되돌아 보니 내가 AI를 데리고 놀았는지 AI가 나를 데리고 놀았는지 모르겠다. 처음엔 호기심으로 시작해서 중반엔 생각했던 웹사이트가 바로 바로 구현되는 것을 지켜보며 놀랐다가 뒤로 갈수록 수정작업이 내 마음대로 이루어지지 않아 실망과 낙담을 했던 것 같다.

- AI에게 지시를 내리기 전에 ChatGPT나 제미나이 같은 LLM AI을 이용해 먼저 자신의 아이디어를 논의하고 구체화하는 게 반드시 필요하다. AI 개발 툴에게 간단한 말로 이런 저런 앱을 만들어 줘~ 라고 지시할 수도 있지만 홈페이지 같은 정적인 웹사이트(이런 작업들은 AI가 지금 바로 사람을 대체할 정도로 정말 빠르고 훌륭하게 수행한다)를 만드는 게 아니라면 반드시 LLM AI를 이용해서 아이디어를 구체적으로 설계하고 어떤 기능들이 필요한 지 미리 논의하는 게 좋다.
- 이렇게 만든 스크립트를 기본으로 AI 개발툴이 개발 시안을 제시하는데 이때 그냥 바로 수정사항을 이야기하기 보단 시안을 어떤 식으로 만들었는지 개발 AI와 약간의 토론을 해보는 게 좋다. 전달받은 스크립트를 기반으로 어떻게 구현했는지, 그리고 어떤 아이디어를 추가하는 게 좋은지, 구조는 어떻게 만들었는지 같은 전체적인 부분을 사람도 알고 있으면 후반 작업(가장 중요하다)이 수월해진다. 처음에 약간 돌아가거나 쓸데없이 비용이 나간다고 생각하기 쉽지만 의외로 이 부분이 나중에 닥칠 수정 지옥(?)을 조금이라도 피할 수 있는 지름길이다.
- AI 개발 툴에도 환각이 있다. 마치 작업 지시자가 말하는 모든 게 쉽게 구현될 것처럼 자신있게 말하기 때문에 처음 접하는 나같은 비전공자들은 AI가 하는 말에 바로 속아넘어가기 쉽다. AI가 한 말만 믿고 덜컥 작업을 진행시켰다가 나중에 이를 수정하기 위해 정말 많은 시간과 돈과 에너지를 소모하게 된다. 물론 아무리 오랜 시간이 걸렸더라도 산출물이 시원찮을 땐 바로 그 전 단계로 롤백할 수도 있지만 그에 따른 기회비용과 매몰비용은 피할 수 없다. 개인적인 생각이지만 이럴 경우 AI에게 화를 내거나 비난하는 투로 지시하면 아웃풋이 더 나빠지는 것 같다. 감정이 없는 AI라도 살살 달래고 우쭈쭈하면서 지내는 게 더 나았다.
- AI에게 작업 지시는 구체적으로 해야한다. AI 개발툴에게 작업을 지시하기 전에 다른 AI에게 작업에 대해 물어보거나 아니면 따로 조사해서 대안을 찾아 제시하면 찰떡같이 잘 알아 듣고 빠르게 분석한다. AI가 인간보다 훨씬 뛰어난 장점이니 그냥 단순한 지시만 하고 끝나는 게 아니라 본인이 먼저 구체적인 계획을 세우고 계획에 대한 대안을 다방면으로 찾고 조사해서 그 결과를 복사해서 던져 주는, 개발 주도권을 일정 부분 가지고 있어야 한다. 당연한 말이지만 결국 사람이 가지고 있는 만들고자 하는 앱에 대한 도메인 지식의 크기가 AI 개발 성능에 가장 큰 영향을 끼친다. 당연히 S/W 개발 지식이 있다면 훨씬 더 유리해진다. 상급 개발자의 경우 AI 개발 툴을 잘 활용한다면 정말 무시무시한 성과를 낼거라 확신한다.
- AI 개발 툴은 없는 것을 만들거나 새로운 아이디어를 만들어 낼 수 있는 능력은 없다. 아니 설령 있더라도 사람이 올바르게 지시하지 않는 한 만들지 못한다. 스티브 잡스가 말했듯 고객은 자신들이 무엇을 필요로 하는지 모르는 것처럼 지시하는 사람 역시 자신이 무엇을 만들지 미리 정확하게 알고 지시하지 못한다. AI 개발 툴이 가장 잘 하는 것은 큰 덩어리들을 잘게 쪼개어 (이미 존재하는) 작은 작업으로 지시했을 때 그 작은 작업을 잘 해낸다. 그러려면 먼저 사람이 자신이 하고자 하는 일의 큰 덩어리와 작은 덩어리, 그리고 아이디어를 디벨롭하면서 생겨나는 추가 덩어리들에 대한 생각을 먼저 가지고 난 후에 지시해야 한다. 앞에서 AI에게만 맡기지 말고 자신이 직접 계획을 세워야 한다고 강조한 부분과 겹치는 말이다.
- AI가 작은 작업을 잘한다는 것을 장점이라고 했지만 그래서 오히려 전체적인 연동에서 문제가 생기기 쉽다. 작은 작업의 퍼포먼스는 너무 뛰어나지만 그 작업을 했을 때 그 작업과 연결된 다른 작업과의 상호 연동에 대해서 미리 고민하지 않기 때문에 그냥 지시받은대로 아무 고민없이 작은 작업부터 바로 시작하는 경우를 많이 봤다. 프로젝트 후반부로 갈수록 연동된 작업들이 늘어나기 때문에 AI의 이런 작은 작업에서 발생하는 자잘한 실수들은 결국 프로젝트 후반부에서 시간과 비용을 잡아 먹는 가장 큰 요인이 되고 때론 프로젝트 실패의 가장 큰 이유가 된다.
- AI는 단기 기억상실증인 사람처럼 행동하는 경우도 많다. 바로 전에 지시해서 작업을 완료했는데 그 부분을 다시 물어 보며 지시하면 마치 처음 듣는 것처럼 반응하는 경우도 있고 이미 했던 작업과 모순되는 지시를 받더라도 미리 모순을 찾아내지 못하고 일단 먼저 진행하고 문제를 만나면 그때서야 허둥대는 경우가 많았다. 작은 작업들은 뛰어나지만 전체적인 구조를 보고 상호 연결해서 입체적으로 보는 능력이나 진행하는 작업들을 기억하며 병렬로 처리하는 부분에선 아직 많이 부족해 보였다. 그래서 프로젝트의 끝부분으로 갈수록 수정 지옥(?)이 벌어지고 전체를 뒤집어 엎을 일도 종종 생기게 된다..ㅋ
- 6일 동안 AI 개발툴과 바이브 코딩하며 느낀 점을 나열하다 보니 가장 최근에 느낀 후반부 수정 지옥을 떠올리며 나같은 실수를 하지 말란 의미에서 AI의 장점 보다 단점 위주로 많이 이야기했지만 AI 개발 툴을 직접 사용해 본 소감은 그야말로 깜짝 놀랄 수준으로 올라왔다고 느꼈다. 개발자 입장에서 생각한다면 이제 더이상 AI를 이용한 개발은 개발자의 선택 사항이 아닌 필수가 됐다고 본다. 개발자라면 무조건 AI를 받아들여 자신의 날개로 삼아야 한다. 물론 나같은 비전공자들도 AI 개발툴을 한번씩 이용해서 평소 자신이 생각만 하고 있던 아이디어를 실현해 본다거나 작더라도 자신의 업무 자동화 툴을 한번 만들어 본다면 아마 또다른 세상이 열릴 것이다~
내가 만들었던 아이디어는 버핏이 매일 8시간 이상을 500페이지가 넘는 사업보고서나 책을 읽는다는데 비록 버핏이 읽는 책(지혜의 원천)을 자동화할 수는 없겠지만 기업의 사업보고서에서 버핏이 볼만한 핵심 숫자들은 AI가 빠르게 자동화해서 단 10초만에 정리할 수 있지 않을까 하는 아이디어였다. 그래서 우리의 DART에 해당하는 EDGAR(다트보다 훨씬 표준화가 잘 됐다는 말만 믿고 덜컥..ㅋ)를 건드렸다가 XBRL…지옥을 맛봤다.ㅋㅋ








