Vibe Coding의 광신적 문화는 과도한 Dogfooding의 결과

4 days ago 4
  • Claude 코드 유출 이후 드러난 낮은 품질의 원인은 내부 검증 없이 AI 대화만으로 개발하는 ‘vibe coding’ 문화로 지적됨
  • 개발자들이 코드를 직접 확인하지 않고 AI가 알아서 하게 두는 비합리적 방식을 따르며, 중복된 에이전트와 도구가 방치됨
  • AI는 정리와 리팩토링에는 유용하지만, 문제 인식과 방향 제시는 여전히 인간의 역할로 남아 있음
  • “나쁜 소프트웨어는 개발자의 선택” 이라는 문구처럼, 품질 저하는 AI가 아닌 의사결정의 결과로 강조됨
  • Claude 코드베이스의 사례는 AI 협업의 한계와 인간 책임의 중요성을 보여주는 경고로 제시됨

‘Vibe Coding’과 과도한 Dogfooding 비판

  • Claude 소스 코드 유출 이후 코드 품질이 낮다는 비판이 이어졌으며, 그 원인으로 ‘dogfooding의 과잉’ 이 지목됨
    • Dogfooding은 자사 제품을 직접 사용하는 행위로 일반적으로 긍정적이지만, 극단적으로 적용될 경우 비이성적 형태로 변질될 수 있음
    • 이 사례에서는 개발자들이 내부 구조를 전혀 검토하지 않고 ‘vibe coding’ 이라 불리는 방식으로 개발을 진행함
  • Vibe coding은 개발자가 내부 코드를 직접 확인하지 않고 AI와의 대화만으로 개발을 진행하는 접근
    • 그러나 인간의 언어와 사고 구조가 코드에 반영되므로 ‘순수한 vibe coding’은 불가능한 신화로 지적됨
    • 개발자는 여전히 계획 파일(plan files), 규칙(rules), 기술(skills) 등 기본 구조를 설계해야 하며, 이 틀이 없으면 AI는 제대로 작동하지 않음
  • Claude 코드베이스에서는 중복된 에이전트(agent)와 도구(tool) 가 다수 존재했음에도 개발자들이 이를 직접 확인하지 않음
    • “내부를 보는 것은 반칙”이라는 태도로 인해 명백한 구조적 중복과 비효율이 방치됨
    • 코드가 영어로 작성되어 누구나 읽을 수 있음에도 ‘AI가 알아서 하게 두는’ 비합리적 문화가 문제로 지적됨

AI 협업과 품질 책임

  • AI는 정리와 리팩토링 작업에 매우 유용하며, 인간이 방향을 제시하면 빠르게 품질을 개선할 수 있음
    • 예시로 “에이전트와 도구의 중복 항목을 목록화하고 역할을 구분한 뒤 통합하자”는 식의 명확한 지시와 대화형 협업이 효과적임
    • Ask 모드를 활용해 예시를 공유하고 잘못된 추론을 교정하며 충분한 상호작용 후 실행하면 높은 품질의 결과를 얻을 수 있음
  • AI는 자발적으로 코드 품질 문제를 인식하지 못함
    • “이 코드가 스파게티 같다”는 식의 인간의 지적이 필요하며, 이후 AI가 정리 작업을 수행할 수 있음
    • 인간이 문제 인식과 방향 제시, AI가 실행과 정리를 담당하는 협업 구조가 이상적임
  • AI를 사용한다고 해서 소프트웨어 품질이 낮아야 하는 것은 아님
    • 품질이 낮은 소프트웨어는 “개발자가 그렇게 선택했기 때문” 이라는 주장
    • AI 없이 작성된 코드에서도 동일한 문제가 존재하며, 나쁜 소프트웨어는 의사결정의 결과로 규정됨
    • Bad software is a decision you make”이라는 문구는 핵심 메시지로 제시됨
    • AI를 핑계로 품질 저하를 정당화하지 말고 개발자가 품질에 대한 책임을 져야 함
    • 고품질 소프트웨어는 선택의 문제이며, AI는 이를 돕는 도구로 활용 가능함
  • GitHub 이슈 #42796에서는 “Claude Code가 복잡한 엔지니어링 작업에 사용할 수 없다”는 보고가 존재함
    • 해당 이슈의 “Claude Note”는 비판적이면서도 풍자적인 내용으로 언급됨
    • 글에서는 이러한 수준의 코드를 신뢰하는 기업을 “미친 짓” 이라고 표현함
Read Entire Article