AI가 짠 코드가 자꾸 오류를 낼 때는 표현을 바꿔 다시 묻기부터 서두르지 말아야 합니다. 대부분의 오류는 AI가 '코드를 못 짜서'가 아니라 핵심 정보가 빠져서 생깁니다. 라이브러리 버전, 실행 환경, 전체 오류 메시지가 그것입니다. 이 세 가지를 채우면 같은 코드가 한 번에 실행되는 경우가 많습니다.
1단계: 전체 오류를 그대로 붙여넣기
오류의 마지막 줄만 붙여넣는 것만으로는 대개 부족합니다. 첫 줄부터 마지막 줄까지의 전체 오류, 실행한 명령, 파일 이름과 줄 번호를 함께 붙여넣고 '이것이 전체 오류입니다. 먼저 원인을 찾은 뒤 수정된 전체 코드를 달라'고 덧붙여야 합니다. AI는 처음에는 추측으로 코드를 채우는 경우가 많아 전체 오류를 본 뒤에야 진짜 문제가 다른 곳에 있다는 것을 알아차립니다. 의존성 누락, 경로 오류, 버전별 인터페이스 변경 같은 문제입니다. 오류 스크린샷에만 의존하지 말아야 합니다. 텍스트 버전이 AI가 줄별로 대조하기에 더 쉽습니다.
2단계: 버전과 환경을 알려주기
같은 코드도 버전에 따라 동작이 크게 다릅니다. 언어 버전, 프레임워크와 핵심 라이브러리 버전, 운영체제, 그리고 코드가 로컬, 서버, 온라인 환경 중 어디에서 실행되는지 알려야 합니다. 오류가 특정 라이브러리 버전과 관련이 있다면 '이 문법이 해당 버전에서도 쓸 수 있는지, 대체 문법이 있는지' 직접 물어야 합니다. 버전을 모를 때는 먼저 버전 확인 명령을 실행해 그 결과를 함께 붙여넣어야 하며, 기억에 의존해 대략적인 버전을 말해서는 안 됩니다.
3단계: 범위를 좁혀 다시 시도하기
코드 전체가 오류를 낸다면 쪼개야 합니다. 문제를 재현할 수 있는 최소한의 열댓 줄만 남겨 단독으로 실행하고 문제가 여전한지 확인한 뒤, 그 최소 코드를 AI에게 붙여넣어야 합니다. 한 번에 한 곳만 바꾸고 바로 실행해 오류가 바뀌었는지 확인한 뒤 다음 단계로 넘어가야 합니다. AI가 제시한 세 곳의 변경을 한 번에 적용해서는 안 됩니다. 문제가 생기면 어느 변경이 원인인지 알 수 없게 됩니다. 계정 키, 데이터베이스 비밀번호, 회사 내부망 주소가 관련될 때는 붙여넣기 전에 민감 정보를 자리 표시자로 바꾸어야 하며 오류 메시지 안에서도 마찬가지입니다.
그래도 안 되면 질문 방식을 바꿔라
같은 문제를 두 번 물어도 해결되지 않았다면 질문 방식을 바꿔야 합니다. 오류의 각 줄이 무슨 뜻인지 설명하게 한 뒤, 한 곳만 고치는 최소 수정안을 내놓게 합니다. 출력문을 넣은 코드로 바꾸어 달라고 해 프로그램이 실제로 어디까지 실행되고 변수가 실제로 어떤 값을 갖는지 확인하는 방법도 있습니다. 오류 메시지는 실패가 아니라 문제를 찾는 가장 직접적인 단서입니다. 오류를 읽어내는 것이 여러 번 다시 묻는 것보다 시간을 아껴 줍니다.