6일 동안 AI 개발툴과 바이브 코딩하며 느낀 점

프로젝트 후반부 수정 지옥을 미리 피하는 방법

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

replit
  • AI에게 지시를 내리기 전에 ChatGPT나 제미나이 같은 LLM AI을 이용해 먼저 자신의 아이디어를 논의하고 구체화하는 게 반드시 필요하다. 듣기에도 생소한 PRD다. 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페이지가 넘는 사업보고서나 책을 읽는다는데 비록 버핏이 읽는 책(지혜의 원천)을 자동화할 수는 없겠지만(이 부분은 구글의 NotebookLM이라는 탁월한 도구가 있다) 기업의 사업보고서에서 버핏이 볼만한 핵심 숫자들은 AI가 빠르게 자동화해서 단 10초만에 정리할 수 있지 않을까 하는 생각. 그래서 우리의 DART에 해당하는 EDGAR(다트보다 훨씬 표준화가 잘 됐다는 말만 믿고 덜컥..ㅋ)를 건드렸다가 XBRL…지옥을 맛봤다.ㅋㅋ

팀 쿡의 인터뷰

집중력 단순함 그리고 마음을 바꿀 수 있는 능력

주말 아침에 우연히 추천영상으로 뜬 애플 CEO 팀 쿡의 인터뷰 하나를 보게 됐다. 워드프레스에 유튜브 링크 공유하는 걸 한번 시험삼아 해보려고 임베드해 본다. 팀 쿡은 1998년 Apple에 입사했다. Compaq에서 건너왔고 이전에는 IBM에서 근무한 전통 엔지니어 출신이다. 잡스는 1년 전에 애플로 돌아와 파산 위기에서 회사를 되살렸는데 이 때 팀 쿡의 측근 대부분은 안전한(?) 컴팩에 남고 애플로 가지 말라고 충고했다. 하지만 잡스와의 전화 한 통이 그의 마음을 바꾸었다.

“스티브와 이야기를 나누면서 느낀 것은 그가 매우 다른 종류의 CEO라는 것이었습니다. 그는 제품, 제품, 제품에 집중하고 소규모 팀도 놀라운 일을 해낼 수 있다는 믿음을 가지고 있었습니다. 저는 그 비전이 마음에 들었습니다.또한 모두가 기업형 회사로 가는 환경에서 Apple 소비자에게 다시 초점을 맞추고자 했다는 점도 마음에 들었습니다. 당시에는 아무도 그렇게 하지 않았으니까요. 모두가 소비자를 대상으로 판매해서는 돈을 벌 수 없다고 생각했죠. 그리고 저는 남들 하는 대로 따라가는 것이 좋은 생각이라고 생각해 본 적이 없습니다. 저는 이 산업 전체를 시작한 창의적인 천재와 함께 일할 수 있는 일생일대의 기회를 놓치고 싶지 않았습니다… 스티브의 눈에서 반짝임을 보았고, 그것은 우리가 이 미국의 보물을 위해 이 전환점을 이끌어낼 수 있다는 것을 의미했습니다.”

쿡은 40만 달러와 계약보너스 50만 달러를 받고 전 세계 운영 담당 수석 부사장(SVP)으로 영입되었다. 그는 Apple의 물류 전문가가 됐다(쿡은 공급망이 “제대로 작동하면 수천 개의 서로 다른 구성 요소와 부품이 모여 무언가를 만들어내는 교향곡”이기 때문에 “하나의 예술 작품”과 같다고 말했다).

쿡은 잡스가 자신에게 가르쳐준 주요 교훈은 “집중력, 단순함의 중요성, 마음을 바꿀 수 있는 능력”이었다고 말한다. 멍거는 투자에 성공하기 위해서는 “합리성(지성), 열정(집중력), 그리고 운”이라고 했고 직업을 결정하는 제 일 조건은 ‘존경하는 사람 밑으로 가라’였다. 팀 쿡은 그렇게 했다.

과거의 관점에 안주하고 있는 당신에게 도전할 수 있는 최고의 사람들로 구성된 소규모 팀이 이끌어 내는 혁신의 가치에 대해 이야기하고 그러기 위해서는 무엇보다 당신에게 도전하는 토론을 기꺼이 받아들이려는 오픈 마인드가 중요하다고 강조한다. 잡스가 그렇게 했다.

“인생은 잘 세운 계획을 어기게 만드는 법이고, 가장 중요한 것은 그 계획을 실행하는 것이다.”


애플 5년 주가


애플이 과거(19%)에 비해 향후 훨씬 낮은 성장률(10%)이 예상됨에도 PER 36인 이유가 인터뷰에 담겨 있다. 그리고 밤새 버크셔 3분기 보고서가 공개됐다. 코카콜라와 같은 4억 주로 맞췄길래 매도를 멈추려나 했었는데 3분기에도 1억주를 매도해서 이제 3억 주가 됐다. 미래에도 PER 36을 유지하려면 10% 성장률로는 힘들다. 그리고 버크셔 자사주매입도 안했다. 애플이든 버크셔든 가치에 비해 가격이 비싸다고 생각하고 있다는 사인.

“버크셔는 3분기 동안 애플 보유 주식 등을 포함해 346억 달러(약 47조원) 규모의 주식을 순매도했다. 버크셔의 3분기 애플 보유 지분 규모는 699억 달러(약 96조원)로, 직전 분기 842억달러(약 116조원) 대비 약 25% 줄었다. 2분기 대비 1억주를 매도해서 현재 보유 애플 지분 규모는 3억주로 줄었다. 이에 따라 버크셔 현금 보유액이 사상 최대인 약 3,252억 달러(약 449조 원)로 늘어났다”

버크셔 보유 현금

“제가 이 일을 계속할 수 있었던 것은 제가 하는 일을 사랑했기 때문이라고 확신합니다. 자신이 좋아하는 것을 찾아야 합니다. 연인과 마찬가지로 일에서도 마찬가지입니다… 모든 마음의 문제와 마찬가지로, 그것을 찾으면 알게 될 것입니다. 그리고 다른 훌륭한 관계와 마찬가지로 시간이 지날수록 점점 더 좋아집니다. 그러니 찾을 때까지 계속 찾아보세요. 안주하지 마세요.”
– 스티브 잡스, 2005년 스탠포드 졸업식 연설 중

단순함에 필요한 에너지

좋은 투자의 조건을 단순함이라고 했는데, 경험상 단순함으로 가기 위해서는 엄청난 에너지가 필요하다. 물론 소수의 천재들은 보는 즉시 단 한번에 단순함으로 도달할 수도 있겠지만 나같은 둔재들은 언감생심 꿈도 꾸지 못할 일이다. 많은 길을 굽이굽이 돌고 나서 보면 그제서야 단순함에 이르는 경우가 많다.

스티브 잡스가 1997년에 애플에 복귀했을 당시, 회사는 파산 직전이었으며 이를 되살리기 위한 주요 이니셔티브 중 하나는 애플의 제품 라인을 단순화하는 것이었습니다. 전설에 따르면, 잡스는 회사의 제품 로드맵에 대한 회의에 참석했습니다. 잡스는 분명히 그의 흥미를 끌지 못하는 많은 이야기를 듣고 나서, “그만해… 미친 짓이야”라고 소리쳤습니다. 그는 화이트보드로 걸어가서 2×2 행렬을 그려서 Apple의 새로운 전략을 설명했는데, 그것은 4가지 제품에만 집중하는 것이었습니다.

스티브 잡스 매트릭스

처음 10초 내재가치 계산기를 만들었을 때, 머릿속 디자인은 정말 단순했다. 다른 건 다 필요없고 버핏과 멍거의 머릿속을 기본 컨셉(이게 제일 어려운 일)으로 조건 한 두 개만 넣으면 내재가치와 가격이 나오는 구조였다. 이미 시나리오별 현금흐름할인법(DCF)를 하는 나만의 복잡한 분석틀을 가지고 있었던 터라 굳이 각잡고 분석으로 들어가기 전, 가볍게 10초 만에 계산할 수 있으면서 DCF와 비교해서 오차가 적은 계산기면 충분했다. 싼지 비싼지를 바로 알 수 있는 계산기.

그럼 지금 내재가치 계산기는 어떤 상태일까. 열역학 제2법칙 처럼 엔트로피(무질서라고 생각해도 된다)는 증가하기 마련이다. 싼가 비싼가에 좋은가 나쁜가 까지 보고 싶어지면서 단순한 디자인에서 보고 싶은 숫자들을 하나 둘 추가하다보니 결국은 기존 복잡한 분석틀에 거의 가까운 모델이 되어 버렸다. 이럴거면 굳이 10초 계산기를 만들 이유가…정신이 번쩍 들어서 다시 중요도가 낮은 정보들을 제거해 나갔다. 재밌는 건, 추가할 때보다 줄여 나갈 때 에너지가 훨씬 더 많이 소모됐다.

이전에 주식 투자는 어렵다라는 글에서 장기 투자에 대해 이야기한 적이 있다. 투자를 장기적으로 생각하고 그에 따라 행동하는 것이 시장에서 성공할 확률을 높이는 제일 좋은 방법이지만 불행히도, 장기적인 사고방식을 갖는 것이 지금은 그 어느 때보다 어려워졌다. 빛의 속도로 정보가 유통되고 순식간에 매수매도를 할 수 있는 환경에 노출된 지금, 장기적으로 사고하고 장기적으로 투자하기 위해서는 엄청난 에너지가 필요해졌다. 투자는 지능의 제일 높은 수준인 단순함과 인내를 통한 장기투자가 결합되어야 한다. 둘 모두 일반인이 쉽게 성취하기 어려운 특성이다. 그레이엄과 멍거와 버핏은 단순함에 이른 사람들이자 지능보다 기질의 중요성을 깨친 사람들이다.

“저는 항상 하나의 인사이트를 찾고 있습니다. 사업을 소유하는 것에 찬성하는 논거는 한 줄짜리 9포인트 글꼴로 몇 페이지에 걸쳐 쓸 수 있습니다. 하지만 제 경험상 지금까지 투자한 모든 투자의 결과는 명함 뒷면에 여백을 두고 모두 적을 수 있습니다.”
– 피터 키프, Rockbridge capital management

블로그 디자인도 마찬가지다. 단순함을 목표로 시작했지만 이것 저것 기능이나 플러그인이 추가되기 시작하면 곧 단순함을 유지하는 게 얼마나 어려운지 알게 된다. 꼭 필요한 것만 남겨두고 나머지를 제외시키기란 얼마나 어려운가. 물론 블로그를 장기적으로 유지하면서 꾸준히 글을 올리는 것은 훨씬 더 어렵다. 투자나 블로그나 비슷한 점이 많다.