Vibe Coding
바이브 코딩은 AI 모델에 설명하고 생성된 코드를 읽지 않은 채 받아들여 소프트웨어를 만드는 방식으로, 2025년에 만들어진 용어입니다.
바이브 코딩은 원하는 기능을 일반 언어로 AI 모델에 설명하고 모델이 작성한 코드를 읽지 않은 채 받아들인 다음 프로그램이 작동하는 것처럼 보이는지만으로 결과를 판단해 소프트웨어를 만드는 방식입니다. OpenAI 창립 멤버이자 Tesla의 전 AI 책임자인 Andrej Karpathy는 2025년 2월 이를 "새로운 종류의 코딩"이라고 명명했습니다. 그는 이 방식에서 "분위기에 완전히 맡기고, 지수적 성장을 받아들이며, 코드가 존재한다는 사실조차 잊는다"고 했습니다. 그는 음성으로 Cursor의 Composer와 대화하고, 변경 사항을 읽지 않은 채 "모두 수락"을 클릭하고, 오류 메시지를 설명 없이 다시 붙여 넣었다고 설명하며 이 접근 방식이 "주말에 잠깐 만드는 프로젝트에는 나쁘지 않다"고 했습니다. 몇 달 만에 이 용어는 프로그래머를 넘어 널리 퍼졌고 Collins Dictionary는 "바이브 코딩"을 2025년 올해의 단어로 선정했습니다. Cursor, Claude Code, Replit Agent와 같은 코딩 에이전트와 Lovable, Bolt, v0와 같은 앱 빌더를 사용하면 프로그래밍 경험이 없는 사람도 프롬프트에서 배포된 웹 앱까지 만들 수 있습니다.
바이브 코딩의 작동 방식#
사용자는 원하는 동작을 설명하고 결과를 테스트하며, AI 에이전트는 코드를 작성하고 수정하고 디버깅합니다. 각 단계는 정상 작동하거나 사용자가 다시 붙여 넣을 오류를 발생시키거나, 결과가 잘못되어 새로운 설명을 요청합니다:
이 방식은 대규모 언어 모델(LLM), 특히 코드로 학습된 추론 모델이 웹 프런트엔드와 Python 스크립트 같은 일반적인 기술 스택에서 작동하는 프로그램을 생성할 수 있게 되었고, 코딩 도구의 에이전트 하네스가 별도의 도움 없이 프로그램을 실행하고 오류를 읽을 수 있기 때문에 효과적입니다. 버그의 비용이 적고 속도가 가장 중요한 프로토타입, 내부 도구, 작성자만 사용하는 개인용 소프트웨어에 적합합니다.
바이브 코딩과 관련 방식 비교#
- AI 보조 프로그래밍: LLM을 사용해 코드를 작성하고 개발자가 이를 검토하고 이해하는 방식입니다. Simon Willison은 게시물 AI 보조 프로그래밍이 모두 바이브 코딩인 것은 아닙니다에서 그 차이를 설명했습니다. LLM이 작성한 코드를 검토하고 충분히 테스트했으며 다른 사람에게 설명할 수 있다면 이는 소프트웨어 개발입니다.
- 에이전트형 코딩: 코딩 에이전트가 처음부터 끝까지 작업을 수행하는 방식으로, 바이브 코더가 사용하는 도구와 동일한 도구를 활용합니다. 전문 팀은 코드 리뷰, 테스트, 지속적 통합(CI)을 개발 과정에 포함합니다.
- 로우코드 및 노코드 플랫폼: 프로그래머가 아닌 사용자도 미리 만들어진 구성 요소로 앱을 조립할 수 있는 시각적 빌더입니다. 반면 바이브 코딩은 모든 언어나 프레임워크에서 일반적인 소스 코드를 생성합니다.
- 생성형 AI: 텍스트, 이미지, 코드를 생성하는 더 광범위한 기술입니다. 바이브 코딩은 생성형 AI를 활용하는 작업 방식 중 하나입니다.
바이브 코딩으로 컴퓨터 비전 앱 만들기#
컴퓨터 비전 프로토타입은 짧은 스크립트만으로 웹캠 영상에서 객체를 탐지, 계수, 추적할 수 있어 바이브 코딩 프로젝트로 인기가 높습니다. 생성된 코드의 최신성은 모델의 학습 데이터에 달려 있으므로, 기억에 의존하는 에이전트는 오래된 모델 가중치나 인자를 제안할 수 있습니다. Ultralytics Agent Skills는 Claude Code, Codex, Cursor 및 기타 호환 에이전트에 모델 선택, 데이터셋 준비, 학습, 추론, 내보내기 절차를 제공하며, ultralytics 릴리스에 고정된 카탈로그를 기준으로 합니다. 또한 둘이 다를 경우 설치된 패키지의 yolo checks 및 yolo cfg 출력을 따르도록 에이전트에 안내합니다. "내 데이터셋으로 YOLO26 탐지기를 학습하고 ONNX로 내보내 줘"와 같은 요청은 모델이 기억하는 구버전 릴리스 대신 스킬 문서의 학습 및 내보내기 절차를 따릅니다.
검토되지 않은 코드의 위험#
Karpathy는 코드가 "내가 평소 이해하는 수준을 넘어선다"고 언급했습니다. 따라서 이후 변경과 수정도 모델에 의존하게 되며 아무도 살펴보지 않는 부분에 기술 부채가 쌓입니다. 셸 접근 권한이 있는 에이전트는 파일을 삭제하거나 파괴적인 명령을 실행할 수 있으므로 코딩 도구는 에이전트 샌드박스에서 실행하고 위험한 작업 전에 확인을 요청합니다. 또한 에이전트가 읽는 종속성이나 웹페이지에 프롬프트 인젝션이 포함될 수 있습니다. 보안 결함도 같은 방식으로 배포됩니다. Veracode가 2025년에 100개가 넘는 LLM을 대상으로 코딩 작업 80개를 시험한 결과, 생성된 코드가 45%의 사례에서 보안 취약점을 도입했습니다. 실패율은 Java에서 70%를 넘었고 Python, C#, JavaScript에서는 38~45%였습니다.










