바이브 코딩 실력 차이, "고쳐줘"에서 갈리는 이유와 타입스크립트
다 같은 AI를 쓰는데 왜 어떤 사람은 규모 있는 서비스를 키우고, 어떤 사람은 MVP(최소 기능 시제품)에서 멈출까요. 바이브 코딩 실력 차이는 새 기능을 만들 때가 아니라 에러를 고칠 때 납니다. 이 글은 그 차이가 생기는 이유와, 에러가 났을 때 코드를 뜯어보는 순서, 타입스크립트를 읽을 줄 알면 무엇이 달라지는지 알려 드립니다.

같은 AI인데 결과가 갈리는 지점
바이브 코딩(코드를 직접 짜기보다 AI에게 말로 시켜 만드는 방식)으로 감각을 조금만 익히면 정말 무엇이든 만들 수 있습니다. 그런데 바이브 코딩만으로 유지보수를 하면서 키우는 실제 규모의 서비스를 만들기는 매우 어렵습니다.
바이브 코딩을 가르치는 현장에서는 결과가 뚜렷하게 갈립니다. 똑같이 배워도 어떤 사람은 회사의 규모 있는 코드에서도 AI로 서비스를 잘 만들고, 자기 서비스로 실제 돈까지 법니다. 반면 MVP 수준의 서비스만 만들고 끝나는 사람이 많습니다. 배경을 들여다보면 개발 지식이나 개발 경험이 있는 쪽이 AI로 크고 유지보수 가능한 서비스를 만들고, 그런 지식이 없는 쪽은 MVP 수준에서 더 나아가지 못하는 경우가 많습니다.
- "새로운 기능 만들어 줘" 단계에서는 실력 차이가 거의 나지 않는다.
- 에러가 나서 "고쳐줘" 할 때 차이가 크게 난다.
- 코드를 읽을 수 있는 사람은 문제 부분을 짚어서 정확히 고치게 한다.
- 웹 서비스는 AI가 대부분 타입스크립트로 만들어 주니, 타입스크립트를 읽을 줄 알면 에러 위치를 찾기 쉬워진다.
"고쳐줘"만 반복하면 생기는 일
AI가 다 같은 AI인데 사람을 차별할 리는 없습니다. 차이는 요청하는 쪽에서 납니다. 새 기능을 만들어 달라고 할 때는 둘의 결과가 비슷합니다. 갈리는 순간은 에러가 났을 때입니다.
코드를 읽지 못할 때
- 에러 내용을 보지 않고 "아 몰랑, 고쳐 줘"만 계속 반복합니다.
- AI가 원인을 제대로 짚지 못하고 같은 자리를 뺑뺑 돕니다.
- 고칠 때마다 덧댄 코드가 쌓여 오히려 코드가 더 덕지덕지 지저분해집니다.
- 수습이 안 돼서 프로젝트가 거기서 끝납니다.
코드를 읽을 수 있을 때
- 몇 번 "고쳐줘"를 해 봅니다.
- 잘 안 되면 코드를 직접 뜯어봅니다.
- "정확히 이 부분이 문제구나"를 찾아냅니다.
- 그 부분을 짚어서 고쳐 달라고 하면 AI가 정확히 고칩니다.
여기서 생산성 차이가 크게 납니다. 같은 AI라도 문제 위치를 알려 주는 사람의 요청은 한두 번에 끝나고, 위치를 모르는 사람의 요청은 수십 번을 돌아도 끝나지 않습니다.
왜 타입스크립트를 읽을 줄 알아야 하나
타입스크립트(TypeScript)는 자바스크립트에 "이 값은 숫자, 이 값은 글자" 같은 타입 표시를 더한 언어입니다. 웹 서비스를 AI에게 만들어 달라고 하면 대부분 타입스크립트로 만들어 줍니다. Next.js 같은 인기 웹 프레임워크가 새 프로젝트를 타입스크립트로 시작하도록 되어 있기 때문입니다. 깃허브의 연례 보고서 옥토버스(Octoverse) 2025에서도 타입스크립트는 2025년 8월 월간 기여자 수 기준으로 파이썬과 자바스크립트를 제치고 1위에 올랐고, 깃허브는 그 배경으로 AI 코딩 도구의 확산을 꼽았습니다.
타입스크립트를 읽고 이해할 수 있으면 에러가 났을 때 정확히 어디서 났는지 읽을 수 있습니다. 타입 표시가 있으면 "숫자가 와야 할 자리에 글자가 왔다" 같은 문제를 실행 전에 잡아 주고, 에러 메시지에 파일 이름과 줄 번호가 붙어 나옵니다. 서비스를 키워 나갈수록 이 읽기 능력이 고도화의 바탕이 됩니다.
에러가 났을 때 코드를 뜯어보는 순서
"고쳐줘"를 두세 번 해도 안 되면 아래 순서로 넘어갑니다.
- 에러 메시지 전체를 복사합니다. 터미널이나 브라우저 개발자 도구(F12 또는 맥 Cmd+Option+I의 Console 탭)에 뜬 빨간 글씨를 처음부터 끝까지 가져옵니다.
- 메시지에서 파일 경로와 줄 번호를 찾습니다.
src/app/page.tsx:42:7처럼 적혀 있으면 page.tsx 파일의 42번째 줄, 7번째 글자라는 뜻입니다. - 그 파일을 열어 해당 줄 앞뒤를 읽습니다. 모든 줄을 이해할 필요는 없고, 어떤 값이 들어오고 어디로 넘어가는지만 봅니다.
- 타입 에러라면 문장을 그대로 읽습니다. 예를 들어
Type 'string' is not assignable to type 'number'는 "숫자가 와야 할 곳에 글자가 들어왔다"는 뜻입니다. - 범위를 좁혀서 다시 요청합니다. 아래처럼 위치와 원인 추정을 같이 줍니다.
src/app/page.tsx 42번째 줄에서 아래 에러가 나.
(에러 메시지 전체 붙여넣기)
price 값이 문자열로 들어오는 것 같아.
이 줄과 price를 만드는 부분만 고치고, 다른 파일은 건드리지 마.
고치기 전에 원인부터 한 문단으로 설명해 줘.
- 같은 요청이 세 번 넘게 실패하면 멈춥니다. 덧댄 코드를 계속 쌓기보다, 깃(Git)으로 마지막으로 잘 돌던 상태로 되돌린 뒤 다시 요청하는 편이 빠릅니다.
타입스크립트, 어디까지 읽으면 되나
처음부터 문법 전체를 배울 필요는 없습니다. 에러를 읽는 데 자주 나오는 것부터 알아 두면 됩니다.
price: number: price라는 값은 숫자라는 표시interface User { name: string; age?: number }: User가 어떤 모양인지 정의.?가 붙은 age는 없어도 된다는 뜻string | null: 글자이거나 비어 있을 수 있다는 뜻. "null일 수 있다"는 에러가 자주 여기서 난다any: 타입 검사를 끈다는 뜻. AI가 에러를 없애려고any를 남발하면 문제를 덮어 둔 것일 수 있다
프로젝트 폴더에서 npx tsc --noEmit을 실행하면 코드를 실행하지 않고 타입 에러만 모아 볼 수 있습니다. AI가 고친 뒤 이 명령으로 에러가 줄었는지 확인하는 습관을 들이면, "고쳐줘"가 제대로 먹혔는지 눈으로 볼 수 있습니다.
자주 묻는 질문
바이브 코딩만으로 큰 서비스를 만들 수 있나요?
만들 수는 있지만 어렵습니다. 기능을 붙이는 단계는 AI가 잘 해 주지만, 서비스가 커지면 에러 원인을 짚어 주는 사람의 역할이 커집니다. 코드를 읽는 능력이 있으면 유지보수가 훨씬 쉬워집니다.
개발 지식이 없으면 무엇부터 배우면 되나요?
에러 메시지를 읽는 법부터 시작합니다. 파일 경로와 줄 번호를 찾고, 그 줄을 열어 보는 것만 익혀도 AI에게 훨씬 정확하게 요청할 수 있습니다. 웹 서비스를 만든다면 그다음으로 타입스크립트의 타입 표시를 읽는 법을 익힙니다.
AI가 같은 에러를 계속 못 고치면 어떻게 하나요?
같은 요청을 반복하지 말고 범위를 좁힙니다. 에러 메시지 전체와 문제가 난 파일·줄을 함께 주고, 그 부분만 고치게 합니다. 세 번 넘게 실패하면 깃으로 잘 돌던 상태로 되돌린 뒤 다시 시도합니다.
이 글의 본문은 아래 원본 유튜브 영상의 내용을 바탕으로 쓸모연구소가 다시 정리해 쓴 것입니다. 세부 내용과 최신 정보는 원본 영상과 공식 안내에서 확인해 주세요.
원본 영상 보러가기 ↗