자유주제/근황

바이브 코딩으로 나만의 Reverb 만들기 - 2주차

루두두 2025. 6. 11. 16:50

2주차만에 만든 실제로 동작하는 Reverb

경과

계획만 하던 프로젝트를 본격적으로 시작하려보니 시간과 에너지가 많이 나지 않았다. 원래는 JUCE 프레임워크를 어느정도 공부하여 진행할까 했는데 그걸 진행할 여유조차 없었다. 마침 전직장에서 존경하는 개발자분께서 OpenAI codex를 적극 활용하고 있다는 소식을 들어 나도 사용해보기로 했다.

 

codex를 사용하기 위해서는 가장 먼저 github repo를 만들어야한다. 정말 github repo만 딱 만들고, 나머지 README나 향후 계획은 모두 codex에게 맡겼다. cursor를 쓰면서 vibe coding 시행착오를 몇번 겪으면서 깨달은건 agent에게 일을 맡길때 간단한 스텝부터 차근차근 제시해줘야한다는 점이다. 내가 궁극적으로 만들고 싶은 Reverb는 다소 비선형적인 요소가 들어가지만 그런 이야기는 일단 현재 단계에서는 전혀 AI에게 전달하지 않았다. UI 부분도 마찬가지.

진행절차

codex는 Agent.md라는 파일을 통해 지시가 전달되는데, 처음에는 그런 내용을 몰라서 README를 통한 소통을 시도하였다. 우선 내가 하고 싶은것을 모두 README에 적도록 시켰다. UI의 형태라던가 이런것은 일단 agent가 알아서 채워넣도록.

그 다음은 작업 진행 순서를 제안하도록 하여, 아주 기본적인 JUCE 프로젝트 세팅을 하도록 시켰다. C++기반 프로젝트였으며 빌드 방법과 dependency등 필요한 모든 정보를 agent가 기록해주었다. 

그리고 이때부터 버그들이 조금씩 발견되어서 디버깅 위주로 작업이 진행되었다. 코드 자체 결함도 하나 있었지만 (빌드 코드에서 변수명을 고치지 않아서 생김) 대체로 dependency와 빌드 관련이었다. 이 지점부터 codex 사용에 대한 감을 잡기 시작했는데, 모든게 container 기반이라서 매번 새로 dependency를 설치해야한다는 점을 agent가 새로 깨닫는게 너무 비효율적으로 보였다. 그래서 dependency 세팅 부분을 단일 스크립트화 하고 Agent가 이를 숙지할 수 있도록 Agent.md 파일도 생성을 하도록 지시하였다. 여전히 빌드는 느린 한계가 있고, 멀쩡한 빌드 중에 agent가 작업을 멈춰서 설치가 온전히 되지 않는 문제가 있어서 init script를 이용하여 해결하려 하고 있다. 아직까지는 완전히 해결되지 않음.

vibe coding의 꽃인 testcase 생성 및 실행 자동화를 이용하여 멀쩡히 산출물 만들 수 있는 버전을 하나 만들었고, Garage Band에 import하였더니 정말로 동작하는 Reverb가 탄생했다! 앞으로 진행할 부분은 다음과 같이 정리할 수 있을 것 같다.

 

1. 비효율적인 빌드 부분을 해결할 방법 모색

2. 리버브 알고리즘 구현

3. UI 개선