브램 코언이 '바이브 코딩'과 AI 지원 개발 관행을 비판합니다

'바이브 코딩'의 문제점
Bram Cohen의 글은 '바이브 코딩'이라 부르는 개발 방식을 비판합니다. 이는 팀이 AI 코딩 어시스턴트를 사용하면서 의도적으로 기본 코드를 보지 않는 접근법입니다. 그는 이것이 '통제를 벗어난 도그푸딩'이라고 주장하며, 자신의 제품을 사용하는 것이 합리적인 한계를 넘어선 컬트 활동이 된다고 말합니다.
Claude 소스 코드 사례
이 글은 Claude의 소스 코드 유출을 사례 연구로 인용합니다. Cohen은 사람들이 유출된 코드를 검토했을 때 상당한 중복 문제—특히 '에이전트이자 도구인 많은 것들'—를 발견했다고 지적합니다. 그는 개발자들이 왜 이를 스스로 알아차리지 못했는지 의문을 제기하며, '후드를 들여다보는 것은 속임수'라는 '바이브 코딩' 사고방식 때문이라고 설명합니다.
실용적인 AI 협업 접근법
Cohen은 AI 지원 개발에 더 적극적인 접근법을 주장합니다:
- 특정 코드 품질 문제에 대해 AI와 대화 시작하기: '이 코드베이스를 도달 불가능한 코드에 대해 감사해 보자' 또는 '이 함수는 내 눈을 피로하게 만든다'
- 실행 가능한 항목이 나올 때까지 논의하기
- 무엇을 해야 하는지 설명하고 '더 줄 생각이 없어지고 기계가 수정이 필요한 어리석은 말을 멈출 때까지' 계속 논의하기
- '질문 모드'를 사용하여 예시를 살펴보고, 추론을 공유하며, AI가 틀렸을 때 수정하기
구체적인 워크플로 예시
Cohen은 코드 정리 작업을 AI와 함께 수행하는 방법에 대한 구체적인 예시를 제공합니다:
"에이전트이자 도구인 많은 것들이 있습니다. 모두 목록을 만들고 몇 가지 예시를 살펴보며, 어떤 것이 에이전트이고 어떤 것이 도구인지 알려 드리겠습니다. 우리는 논의하고 일반적인 지침을 파악할 것입니다. 그런 다음 전체 세트를 감사하여 각각이 어느 범주에 속하는지 파악하고, 잘못된 유형에 있는 것들을 이식하며, 둘 다인 것들은 두 버전을 모두 읽고 하나의 문서로 통합하여 최상의 부분을 담을 것입니다."
그는 충분한 피드백 논의 후에 AI가 종종 '한 번에 작업을 수행하는 것처럼 보일 수 있다'고 언급하지만, 이는 진정한 한 번 수행이 아니라고 강조합니다—사전에 명확한 에지 케이스와 잠재적 문제를 해명하는 상당한 인간의 지도가 있습니다.
핵심 주장
Cohen의 주요 요점은 '나쁜 소프트웨어는 당신이 선택하는 것'이라는 것입니다. 그는 AI가 기술 부채를 신속하게 정리하는 데 도움을 줄 수 있지만(때로는 수년이 아닌 몇 주 안에), 개발자들은 여전히 코드에 참여하고 구체적인 지침을 제공해야 한다고 주장합니다. AI는 '스파게티 코드가 많다는 것을 자발적으로 알아차리는 데 매우 서툴지만', 명확한 지시를 받으면 효과적입니다.
📖 전체 원문 읽기: HN LLM Tools
👀 See Also

텔레그램 채팅의 컨텍스트 창에 포함된 파일 탐색하기
텔레그램 채팅의 컨텍스트 윈도우에 어떤 파일이 포함되는지 이해하며 운영 지식을 향상시켜 보세요.
로컬 AI 비디오 파이프라인을 위한 실제 도구 호출에서 Qwen3 27B가 Gemma 4 26B를 능가
로컬 AI 비디오 파이프라인 실험에서 Qwen3 27B가 도구 호출을 깔끔하게 처리한 반면 Gemma 4 26B는 루프에 갇혔습니다. 또한 로컬 이미지 생성용 Said Image Turbo와 174K 컨텍스트를 달성한 OpenCode 오케스트레이션을 다룹니다.

MCP도 로컬 모델과 작동 가능 — 서버 생태계 빠르게 성숙 중
MCP는 클로드 전용이 아닙니다. 함수 호출이 가능한 로컬 모델에서도 잘 작동합니다. Open Web UI는 이제 기본 MCP 클라이언트를 지원합니다. 13B 이상의 모델이 다단계 도구 사용에 가장 적합합니다.

클로드는 엔지니어링 기억이 부족하다: 온콜 장애로 드러난 디버깅 여정의 일화적 회상缺失
개발자가 1500개 파일의 모노레포에서 Kafka 버스트 문제를 디버깅하는 데 10시간을 썼지만, 4개월 전에 똑같은 문제를 해결했다는 사실을 깨달았습니다. 이는 Claude와 같은 AI 코딩 어시스턴트가 과거 디버깅 경험에 대한 일화적 기억(episodic memory)을 가지고 있지 않다는 점을 드러냅니다.