본문 바로가기
IT일반

기초 원리 모르고 바이브 코딩하는 것은

by 바이트 뉴클리어스 2026. 3. 2.
반응형

레시피 없이 요리하는 것과 같습니다

AI에게 "로그인 기능 만들어줘"라고 말했더니 코드가 뚝딱 나왔습니다. 화면도 그럴듯하고, 버튼도 잘 동작합니다. 그런데 한 달 뒤 사용자 데이터가 통째로 유출됐습니다. 비밀번호가 평문으로 저장되어 있었던 겁니다. (물론 가상의 시나리오 입니다만, 충분히 가능한 시나리오 입니다.)

이게 과장된 이야기가 아닙니다. 실제로 대한민국에서만 바이브 코딩으로 만든 서비스에서 데이터베이스가 암호화 없이 노출되는 사고가 여러 차례 발생했습니다. AI가 만들어준 코드가 "작동"은 했지만, "안전"하지는 않았던 거죠.

 

바이브 코딩이 화제입니다. 2025년 2월 OpenAI 공동 창립자 안드레이 카파시(Andrej Karpathy)가 처음 이 용어를 소개한 이후, "코딩 몰라도 앱 만들 수 있다"는 장밋빛 전망이 쏟아지고 있습니다. Y Combinator가 밝힌 바에 따르면, 2025년 겨울 배치 스타트업의 25%가 코드베이스의 95%를 AI로 생성했다고 합니다. 삼성SDS 인사이트 리포트에서도 AI 코딩 툴 시장이 2024년 67억 달러에서 2030년 257억 달러로 성장할 것으로 전망했습니다.

 

그런데 여기서 한 가지 중요한 질문을 던져야 합니다. 기초 원리를 모르고 바이브 코딩을 하는 것, 과연 괜찮을까요?

 

 


무를 숙주보다 먼저 넣어야 하는 이유

요리를 떠올려 보겠습니다. 국을 끓일 때 무와 숙주나물을 함께 넣는다고 가정합니다. 요리 기초를 아는 사람은 무를 먼저 넣고 한참 뒤에 숙주를 넣습니다. 무는 단단해서 오래 익혀야 하고, 숙주는 금방 물러지기 때문입니다.

그런데 이 원리를 모르는 사람이 레시피 앱에 "무와 숙주나물 넣은 국 만들어줘"라고 하면 어떻게 될까요? 앱이 알려주는 대로 재료를 동시에 넣을 수도 있습니다. 결과는 무는 딱딱하고 숙주는 흐물흐물한, 어정쩡한 국이 됩니다.

코딩도 똑같습니다.

AI에게 "회원가입 기능 만들어줘"라고 하면 코드가 나옵니다. 그런데 기초를 아는 개발자는 그 코드를 보면서 이런 질문을 던집니다.

"비밀번호 해싱은 bcrypt를 쓰고 있나? 솔트(salt)는 제대로 적용됐나?"

"SQL 인젝션 방어는 되어 있나?"

"입력값 유효성 검사는 클라이언트와 서버 양쪽에서 하고 있나?"

기초를 모르는 사람은 이런 질문 자체를 떠올리지 못합니다. AI가 만든 코드가 "돌아가니까" 그냥 넘어갑니다. 마치 무와 숙주를 동시에 넣고 "국이 됐으니 됐지"라고 생각하는 것과 같습니다.


"작동하는 코드"와 "좋은 코드"는 다릅니다

바이브 코딩의 핵심 문제는 여기에 있습니다. AI는 "작동하는 코드"를 만들어주지만, 그것이 "좋은 코드"인지는 사람이 판단해야 합니다.

AI 연구자 사이먼 윌리슨(Simon Willison)은 이렇게 경고했습니다. 프로덕션 코드베이스에 바이브 코딩을 사용하는 것은 분명히 위험하며, 기본 코드의 품질과 이해성이 매우 중요하다고 말입니다. 실제로 Ars Technica가 보도한 흥미로운 사례가 있습니다. AI에게 코드 생성을 요청했더니, AI가 오히려 "로직은 당신이 직접 개발해야 한다"며 거부한 것입니다. AI조차 기초 원리의 중요성을 알고 있었던 셈이죠.

기초 원리를 모를 때 생기는 구체적인 문제들을 살펴보겠습니다.

 

보안 구멍을 못 알아봅니다. SQL 인젝션, XSS 공격, CSRF 같은 기본적인 보안 개념을 모르면 AI가 만든 코드에 뚫린 구멍이 있어도 발견하지 못합니다. 나무위키에 정리된 사례만 봐도, 바이브 코딩으로 만든 오픈소스에서 SQL 인젝션이 가능하거나 Content-Security-Policy가 설정되지 않아 XSS 공격에 노출된 경우가 빈번했습니다.

 

디버깅을 할 수 없습니다. 변수, 조건문, 반복문, 배열 같은 기본 개념을 모르면 에러가 났을 때 원인을 파악할 수가 없습니다. AI에게 "에러 고쳐줘"라고 하면 또 다른 코드를 생성하지만, 근본 원인을 해결하는 것이 아니라 증상만 덮는 경우가 많습니다. 한 개발자는 이런 경험을 공유하기도 했습니다. AI에게 잘못된 원인을 지적하며 수정을 요청하면, AI가 "맞습니다! 수정하겠습니다"라며 불필요하고 잘못된 수정을 만들어낸다는 것입니다.

 

확장이 불가능합니다. 처음에는 간단한 기능이 잘 돌아가지만, 기능을 추가하거나 사용자가 늘어나면 구조적 한계에 부딪힙니다. 데이터베이스 설계 원리, 캐싱 전략, API 설계 패턴 같은 기초를 모르면 "처음부터 다시 만드는" 상황이 반복됩니다.


그렇다면 어떤 기초가 필요할까요

오해하지 않으셔야 할 것이 있습니다. "바이브 코딩을 하지 마라"는 이야기가 아닙니다. 바이브 코딩은 분명 혁신적인 도구입니다. 다만, 그 도구를 제대로 쓰려면 기초 원리가 뒷받침되어야 한다는 것입니다.

 

ZDNet Korea가 보도한 AI 전문가 토론에서도 결론은 동일했습니다. 전문가들은 AI에게 코드를 시키기 전에 개발자가 "무엇을, 왜, 어떤 보안 규칙을 지키며 만들어야 하는지"를 문서로 명확히 정의해야 한다고 합의했습니다.

 

오랫동안 소프트웨어를 만져온 입장에서 말씀드리면, 바이브 코딩을 잘 활용하기 위해 최소한 알아야 하는 기초가 있습니다.

 

프로그래밍의 기본 구조를 이해해야 합니다. 변수가 뭔지, 조건문이 어떻게 흐름을 제어하는지, 반복문은 왜 필요한지. 코드를 직접 쓸 필요는 없지만, AI가 만든 코드를 읽고 "이게 내가 의도한 동작이 맞는지" 확인할 수 있어야 합니다. 코드트리 블로그에서도 이 점을 강조합니다. 영어를 완벽히 못해도 문장의 대강 뜻은 알아야 대화가 되는 것처럼, 코드의 구조와 의미를 이해해야 AI와 협업이 가능하다는 것입니다.

 

데이터가 어떻게 흐르는지 알아야 합니다. 클라이언트에서 서버로, 서버에서 데이터베이스로 데이터가 어떻게 이동하는지 기본적인 흐름을 이해하면, AI에게 훨씬 정확한 지시를 할 수 있습니다. "로그인 기능 만들어줘"보다 "클라이언트에서 이메일과 비밀번호를 받아서 서버에서 bcrypt로 해싱된 비밀번호와 비교하고, JWT 토큰을 발급해줘"라고 요청하면 결과물의 품질이 완전히 달라집니다.

 

보안의 기본 원칙을 알아야 합니다. 입력값은 항상 검증해야 한다, 비밀번호는 절대 평문으로 저장하면 안 된다, API 키는 코드에 직접 넣으면 안 된다. 이 정도의 상식만 있어도 AI가 만든 코드에서 치명적인 실수를 걸러낼 수 있습니다.

 

설계를 먼저 하는 습관이 필요합니다. SLEXN의 바이브 코딩 실전 가이드에서도 강조하듯, 어떤 프로그래밍 언어를 사용할지, 어떤 프레임워크를 기반으로 할지, 처리 순서와 각 단계의 논리는 어떻게 되는지를 미리 정해둔 다음 바이브 코딩을 시작해야 합니다.

 

반응형

요리사와 전자레인지의 관계처럼

비유를 하나 더 들어보겠습니다.

전자레인지는 누구나 쓸 수 있습니다. 버튼 하나면 음식이 데워집니다. 하지만 전자레인지만으로 코스 요리를 만들 수는 없습니다. 식재료의 특성을 알고, 조리 순서를 이해하고, 간을 맞추는 감각이 있는 요리사가 전자레인지를 "도구로" 활용할 때 비로소 효율적인 요리가 가능합니다.

바이브 코딩도 마찬가지입니다. AI는 전자레인지처럼 강력한 도구이지만, 그것을 제대로 활용하려면 기초 원리라는 요리 실력이 필요합니다.

실제로 바이브 코딩 생태계에서 두각을 나타내는 사람들의 공통점이 있습니다. 이들은 하나같이 기초가 탄탄한 사람들입니다. 그 첫 번째가 "명세가 명확하게 정의된 작업"이었습니다. 명확한 명세를 만들려면? 기초 원리를 알아야 합니다.

더 흥미로운 점이 있습니다. 기초 원리를 아는 사람이 바이브 코딩을 하면 생산성이 10배 가까이 뛰지만, 기초가 없는 사람이 하면 초반에 아낀 시간을 나중에 코드를 다시 작성하는 데 고스란히 써야 한다는 것입니다. 결국 시간 절약이 아니라 시간 이동이 되는 셈이죠.


기초 원리, 어디서부터 시작하면 될까요

지금 바이브 코딩을 시작하고 싶거나 이미 하고 계신 분들께 현실적인 로드맵을 제안합니다.

 

1단계: 프로그래밍 개론 수준의 개념을 익히세요. 변수, 자료형, 조건문, 반복문, 함수, 배열. 이 여섯 가지만 이해하면 AI가 생성한 코드의 70% 이상을 읽을 수 있습니다. 직접 코딩할 필요 없이, 개념만 이해하면 됩니다.

 

2단계: 웹의 기본 구조를 이해하세요. 프론트엔드와 백엔드가 어떻게 나뉘는지, HTTP 요청이 어떻게 작동하는지, 데이터베이스가 무슨 역할을 하는지. 이 큰 그림을 알면 AI에게 맥락 있는 지시를 할 수 있습니다.

 

3단계: 보안 기초를 배우세요. OWASP Top 10이라는 웹 보안 취약점 목록이 있습니다. 이 열 가지 항목만 이해하고 있어도 AI가 만든 코드에서 대부분의 보안 허점을 잡아낼 수 있습니다.

 

4단계: 작은 프로젝트로 직접 경험하세요. 간단한 할 일 목록 앱이나 메모장 앱을 만들어보면서, AI가 생성한 코드를 읽고 수정하는 연습을 해보세요. 이 과정에서 자연스럽게 기초가 쌓입니다.

 

요즘은 AI에게 기초 개념을 물어보면서 학습을 병행할 수도 있습니다. 다만, 나무위키에서도 지적하듯이 아직까지는 코딩의 기초를 먼저 배우고 시작하는 것이 효율이 좋습니다.


도구는 도구일 뿐, 판단은 사람의 몫입니다

바이브 코딩 시대에 개발자의 역할은 "코더(Coder)"에서 "아키텍트(Architect)이자 감사자(Auditor)"로 바뀌고 있습니다. AI가 100줄의 코드를 1초 만에 만들어줄 때, 사람은 그 코드가 가져올 결과를 내다볼 수 있어야 합니다.

기초 원리는 그 판단의 근거입니다. 무를 숙주보다 먼저 넣어야 한다는 걸 아는 요리사처럼, 비밀번호는 해싱해야 하고 사용자 입력은 검증해야 한다는 걸 아는 개발자가 AI를 올바르게 활용할 수 있습니다.

AI가 다 알아서 해줄 것이라는 막연한 기대를 잠시 내려놓고, 기초 원리부터 차근차근 다져보시는 건 어떨까요. 그 기초 위에서 바이브 코딩을 할 때, 비로소 AI는 여러분의 가장 강력한 파트너가 될 것입니다.

 

 

 

 

 

 


썸네일 이미지 생성 프롬프트:

A split-screen illustration in a clean, modern flat design style. On the left side, a person confidently cooking in a kitchen with organized ingredients, a cutting board with properly sliced vegetables, and a steaming pot — representing solid fundamentals. On the right side, the same kitchen but messy and chaotic — a smoking pot, overcooked vegetables, scattered ingredients — representing coding without understanding basics. Above the scene, subtle floating code symbols and AI circuit patterns blend into the background. Color palette: warm orange and teal contrast. Minimal text. 16:9 aspect ratio, blog thumbnail style.