AI와 협업하여 나만의 프로그램을 만들다 보면, 어느 순간 평화롭던 화면이 멈추고 개발 도구(VS Code) 하단에 시뻘건 영문 텍스트가 가득 차는 순간을 마주하게 됩니다. 프로그래밍 언어를 모르는 비개발자에게 이 '에러 메시지'는 마치 프로그램이 완전히 복구 불가능하게 고장 난 것 같은 거대한 공포로 다가옵니다. 많은 입문자가 이 단계에서 당황하여 에디터를 끄거나, AI에게 "안 되잖아!"라며 감정적인 짜증을 내곤 합니다.
하지만 미리 한 가지 비밀을 말씀드리자면, 베테랑 개발자들도 업무 시간의 절반 이상을 에러를 마주하고 고치는 데 사용합니다. 에러는 실패의 증거가 아니라, 프로그램이 더 완벽해지기 위해 거쳐야 하는 당연한 이정표입니다. 게다가 우리에게는 이 에러 로그를 1초 만에 분석해 줄 똑똑한 AI 비서가 있습니다. 에러가 발생했을 때 멘탈을 유지하고, AI를 이용해 단 가이드 몇 줄로 깔끔하게 버그를 잡아내는 '3단계 디버깅 대처 원칙'을 공유합니다.
1단계: 에러 로그의 '처음'과 '끝'을 정확하게 수집하기
에러가 났을 때 가장 먼저 해야 할 일은 침착하게 에러의 흔적을 수집하는 것입니다. 비개발자가 흔히 하는 실수는 터미널 창에 뜬 수십 줄의 영문 중 본인이 읽을 수 있는 단어 한두 개만 골라 AI에게 "콘솔에 에러라고 뜨는데 어떻게 해?"라고 묻는 것입니다. 사람 의사에게 "몸 어디가 아파요"라고만 말하면 진단을 내릴 수 없듯, AI에게도 정확한 '진단서'를 제출해야 합니다.
터미널 창에 출력된 영문 텍스트(Traceback)를 마우스로 드래그하여 전체 복사하는 것이 기본입니다. 파이썬이나 자바스크립트의 에러 메시지는 대개 맨 마지막 줄에 '진짜 에러의 원인 명칭(예: FileNotFoundError, ValueError 등)'이 적혀 있고, 그 위쪽 줄에는 '몇 번째 라인 코드에서 문제가 터졌는지' 파일 경로와 숫자가 친절하게 기록되어 있습니다. 이 전체 맥락을 복사해서 AI에게 전달할 준비를 하는 것이 디버깅의 시작입니다.
2단계: 맥락(Context)을 유지한 채 원인 분석 요청하기
에러 로그를 복사했다면 이제 AI에게 질문을 던질 차례입니다. 이때 3편에서 강조했던 '클로드 프로젝트'나 '커스텀 공간'의 진가가 발휘됩니다. 기존 소스코드가 고정된 상태에서 에러 로그를 주어야 AI가 정확한 처방전을 줍니다. 만약 일반 채팅창이라면 현재 구동 중인 소스코드 전체를 먼저 보여준 뒤 에러 로그를 붙여넣어야 합니다.
질문을 던질 때는 단순히 "고쳐줘"라고 하기보다, AI가 논리적으로 문제를 추론하도록 유도하는 프롬프트 문형을 사용하는 것이 좋습니다.
[추천 디버깅 프롬프트 템플릿] "현재 프로그램 실행 중 아래와 같은 에러 메시지가 발생했어.
이 에러가 발생한 근본적인 원인이 무엇인지 비개발자인 내가 이해할 수 있게 쉽게 설명해줘.
내 기존 코드의 어느 부분(몇 번째 줄)이 충돌을 일으킨 건지 짚어줘.
기존 코드를 해치지 않으면서 이 에러를 수정할 수 있는 교체용 코드를 작성해줘."
이렇게 단계를 지정해 질문하면, AI는 무작정 코드를 새로 짜서 기존 기능을 망가뜨리는 실수를 하지 않습니다. "이 에러는 필수 라이브러리가 누락되었거나, 입력창에 숫자 대신 문자가 들어가서 터진 것입니다"처럼 원인을 명확히 규명한 뒤 필요한 부분만 정밀 조준하여 수정 코드를 제안합니다.
3단계: 안전한 코드 교체 및 '예외 처리' 방어벽 구축하기
AI가 수정된 코드를 주었다면, 기존 코드를 덥석 지우고 덮어쓰기 전에 반드시 기존 코드를 메모장 등에 백업해 두는 습관을 들여야 합니다. 간혹 에러 하나를 고치다가 더 큰 에러가 연쇄적으로 터지는 경우가 있기 때문에, 언제든 '돌아갈 수 있는 세이브포인트'를 만드는 것입니다.
안전하게 코드를 교체해 에러가 해결되었다면, 마지막으로 동종 에러가 재발하지 않도록 '방어벽'을 세워달라고 AI에게 추가 요청해야 합니다. 예를 들어 사용자가 빈칸으로 두고 버튼을 눌러 에러가 났다면, 코드 내부적으로 이를 감지해 프로그램이 튕기는 대신 "값을 입력해주세요"라는 팝업창을 띄우도록 코드를 보완하는 것입니다. 이를 프로그래밍 용어로 '예외 처리(Exception Handling)'라고 합니다.
바이브 코딩에서 에러를 마주하는 것은 내 프로그램이 한 단계 더 단단해지고 유저 친화적으로 진화할 기회입니다. 시뻘건 텍스트에 겁먹지 않고 이 3단계 원칙에 따라 AI와 대화를 이어 나간다면, 어떤 복잡한 버그도 논리적으로 제어할 수 있는 자신감을 얻게 될 것입니다.
핵심 요약
에러 메시지는 프로그램이 고장 났다는 선언이 아니라, 수정이 필요한 정확한 위치를 알려주는 친절한 가이드라인입니다.
디버깅을 시작할 때는 터미널에 출력된 에러 로그의 처음부터 끝까지 전체 문맥을 누락 없이 복사하여 AI에게 제공해야 합니다.
수정을 진행할 때는 기존 코드를 백업하는 안전장치를 두고, 에러 해결 후 프로그램이 꺼지지 않도록 '예외 처리' 코드를 추가하여 완성도를 높입니다.