바이브 코딩의 최대 함정은 코드가 엉키면서 발생하는 지루한 대기 시간이다. AI 전용 지식 파일을 만들고 역할별로 로직을 분리해야 이 악순환을 끊을 수 있다.
https://blog.naver.com/learningstack/224149444143
1시간 만에 완성한 기능이 왜 3주 넘게 늘어졌을까?
1부에서 이야기한 것처럼, 기초적인 매수/매도 기능을 완성하는 데는 1시간도 채 걸리지 않았다.
음. 사고파는 것이 이렇게 쉽게 되다니... 하면서 욕심이 나기 시작했다.
온갖 좋은 주식을 찾는 로직을 다 넣어봐야지~ 하면서 이것저것 요건을 추가하기 시작했다.
난 가치 투자(가 무엇인지 잘 모르지만) 저평가된 주식을 고르는 기능을 추가해 줘
워런 버핏의 마법공식 전략도 추가해 줘
주식 대가 이런저런 전략도 추가해 줘
뭔가에 홀린 듯 전략도 없고, 우선 넣고 고민하자라고 생각했던 것 같다.
이것저것 모아서 마음에 드는 것으로 해야지라는 막연한 생각오호통재라
주식 투자 기법이 상당히 많다고 느꼈지만, 계속 추가되는 요구사항에 점점 AI가 처리하는 속도가 늦어지기 시작했다.
금세 하겠네라고 생각했던 것도 잠시, 3주가 넘게 걸려도 뭔가 마무리가 잘 안되는 느낌이 들었다.
코드가 엉켜서 발생한 에러도 에러지만, 가장 고통받았던 진짜 Pain Point는 바로 (지시를 한 후) 기다림이었다.
너무 오래 걸려서, 잠시 멈추기로 했다.
우선 다른 AI 에이전트에게 현재 프로젝트의 문제점을 분석하라고 시켰다.
문제는 이 수많은 요구사항을 AI가 동일한 하나의 파일에 꾸역꾸역 집어넣고 있어서 뭐 하나 수정하려면 그 파일을 계~~속 읽고 있었다. 매수, 매도, 스크리닝, 위험 관리 등 중요한 로직들이 모조리 하나의 파일에서 뒤엉켜서 관리되고 있었던 것이다.
바이브 코딩의 최대 함정은 무엇일까?
앞서 말한 것처럼 코드가 길어지자, 대기 시간이 늘어나고 사용량을 초과해서 기다려야 하는 시간이 늘어났다. 업무의 흐름이 계속 끊어지는 악순환이었다.
이제는 지시 하나를 내려놓고 멍하니 모니터의 로딩 바만 바라보거나
Quota 가 차길 기다리거나
'정리'가 필요했고, 이 대기 시간을 끝내기 위해서는 근본적인 해결책이 필요했다.
AI 에이전트에게 프로젝트 지식을 어떻게 전달해야 할까?
다양한 AI Agent를 활용하는데 같은 내용을 볼 수 있도록 하나의 파일에 정보를 구성하자.
다음과 같은 내용들을 차곡차곡 요약해 넣기 시작했다.
프로젝트의 정체성 : 이건 KIS API와 DART API를 쓴 가치 투자 자동매매 봇
트러블슈팅 : 이런저런 버그에 대한 처리 히스토리
절대 어기면 안 되는 규칙: DB는 PostgreSQL, 기존 구조를 망가뜨리지 말 것
파일 구조
작업하는 틈틈이 AI에게 지시해 스스로 이 가이드 문서를 계속 최신 상태로 업데이트하도록 만들었다
자, 뭐든 하기 전에 무조건AI_MASTER_KNOWLEDGE_BASE.md파일부터 꼼꼼히 읽어봐
문서를 작성한 후 새로운 대화창을 열 때마다 기억을 시키고 진행했다.
우선 재작업이 줄어들어드는 것을 체감할 수 있었다.
하지만 아직 기다림의 문제는 다 해결되지 않았다. 답은 이미 정해져있었지만 말이다.
큰 것을 작게 나누는 것이다.divide and quanquer
기술적인 내용은 내가 잘 모르니, 나는 하나의 기준에 맞게 진행되는지만 체크하는 것으로 정했다.
역할에 맞게 로직을 분리한다. 이 분리 작전의 구체적인 과정은 스파게티 코드 박멸하기에서 이어진다.
각각은 하나의 역할을 수행하게끔 나눈다.
매수 역할을 수행하는 컴포넌트
매도 역할을 수행하는 컴포넌트
데이터를 수집하는 컴포넌트
스크리닝을 하는 컴포넌트
...
자. 잘 모르겠으면 또 AI에 물어본다. 어떻게 개선하면 좋을까?
불러오는 중...