Vibe Coding 컬트가 미쳤다
Source: Hacker News
Background
Claude가 소스 코드를 유출당했고, 사람들은 그 형편없음에 대해 크게 웃고 있습니다. 근본 원인은? 과도한 도그푸딩.
도그푸딩—자신의 제품을 직접 사용하는 것—은 일반적으로 좋은 관행이지만, 합리적인 한계를 넘어서는 경우 컬트와 같은 활동이 될 수 있습니다. 여기서는 이 관행을 바이브 코딩이라고 부릅니다: 기본 구현에 직접 기여하는 것을 의도적으로 피하고, 내부를 들여다보는 것을 거부하는 행위.
What “Vibe Coding” Is (and Isn’t)
바이브 코딩은 개발자가 AI와 무엇을 하고 있는지에 대해 막연한 대화만 하고, 코드를 직접 검사하지 않아야 한다고 제안합니다. 이는 신화입니다. AI의 내부 사고 과정을 인간 언어로 사용하더라도 여전히 상당한 인간의 기여가 있습니다:
- 플랜 파일(본질적으로 “할 일 목록”), 스킬, 규칙과 같은 인프라 구축.
- 머신이 효과적으로 작동하기 위해 필요한 프레임워크 제공.
순수한 바이브 코딩은 AI가 인간이 제공한 구조 없이 모든 것을 스스로 한다는 의미인데, 이는 불가능합니다.
Consequences of Over‑Dogfooding
개발자가 코드를 보지 않을 때 여러 문제가 발생합니다:
- 중복 정의: 팀이 “에이전트”와 “툴”이라는 두 역할을 동시에 가진 많은 엔티티를 만들게 되어 불필요한 중복이 생깁니다.
- 정리 부족: 인간 검토가 없으면 명백한 스파게티 코드나 접근 불가능한 섹션이 그대로 남아 있습니다.
- AI에 대한 오해: AI가 자동으로 문제를 발견하고 고칠 것이라고 가정하면 소프트웨어 품질이 낮아집니다.
역사적으로 소프트웨어 프로젝트는 기술 부채가 쌓여 집중적인 정리 작업에 1년 정도가 걸리기도 합니다. AI는 이 과정을 가속화할 수 있지만, 올바르게 안내될 때만 가능합니다.
Effective AI‑Assisted Refactoring
보다 생산적인 접근 방식은 협업 대화를 포함합니다:
- 문제 영역 식별 – 예: “이 코드베이스에서 접근 불가능한 코드를 감사하자.”
- 예시 논의 – 구체적인 사례를 살펴보고, 이유를 설명하며, AI가 단순히 되풀이할 때는 바로 잡는다.
- 가이드라인 정의 – 어떤 엔티티를 에이전트로, 어떤 것을 툴로 할지, 겹치는 정의를 어떻게 통합할지 결정한다.
- 감사 및 리팩터링 – AI가 계획을 생성하도록 하고, 변경을 적용하고, 빌드한다.
이러한 앞뒤 대화, 흔히 “Ask mode”라 불리는 방식은 가장자리 케이스가 명확히 정의된 후 AI가 거의 한 번에 작업을 수행하도록 합니다.
Takeaway
AI를 코딩에 활용한다고 해서 반드시 저품질 소프트웨어가 나오는 것은 아닙니다. 나쁜 소프트웨어는 개발자가 내린 결정—과도한 도그푸딩에 의존하거나 코드 품질을 소홀히 하는 경우—에서 비롯됩니다. AI와 적극적으로 소통하고, 명확한 지침을 제공하며, 목표가 된 감사를 수행함으로써 팀은 더 높은 품질의 결과를 얻고 “바이브 코딩” 사고방식의 함정을 피할 수 있습니다.