에러 메시지를 AI에게 보낼 때 꼭 같이 적어야 할 정보

1. 왜 에러 메시지 한 줄만으로는 부족한가
AI에게 디버깅을 요청할 때 많은 사람이 에러 문장 한 줄만 보냅니다. 예를 들어 “Cannot read properties of undefined” 같은 메시지입니다. 문제는 이 문장만으로는 원인이 너무 많다는 점입니다. 같은 에러라도 변수 초기화 누락, 비동기 타이밍 이슈, API 응답 구조 변경 등 서로 다른 원인에서 발생할 수 있습니다. 그래서 AI는 정답 하나를 내기보다 가능한 시나리오를 길게 나열하게 됩니다.
결국 핵심은 에러 문장 자체보다 에러가 발생한 맥락입니다. 어떤 환경에서, 어떤 동작을 하다가, 어떤 코드 줄에서 터졌는지까지 함께 전달해야 원인을 빠르게 좁힐 수 있습니다. 디버깅의 속도는 AI 모델 성능보다 입력 정보의 품질에 더 크게 좌우됩니다.
2. AI에게 꼭 전달해야 할 정보 6가지
첫째, 에러 원문 전체입니다. 축약하지 말고 스택 트레이스까지 그대로 보내야 합니다. 둘째, 실행 환경입니다. 예: Node 버전, 브라우저 종류, 프레임워크 버전. 셋째, 재현 절차입니다. “로그인 버튼 클릭 후 새로고침하면 발생”처럼 단계가 필요합니다. 넷째, 관련 코드 범위입니다. 파일명과 줄 번호를 함께 주면 분석 정확도가 올라갑니다.
다섯째, 기대한 동작과 실제 동작의 차이입니다. “원래는 목록이 보여야 하는데 빈 화면이 뜸”처럼 결과 차이를 명확히 써야 합니다. 여섯째, 이미 시도한 해결 방법입니다. 이미 시도한 내용을 알려주면 AI가 같은 제안을 반복하지 않고 더 깊은 원인을 찾을 수 있습니다.
| 필수 정보 | 빠졌을 때 문제 | 좋은 작성 예시 |
|---|---|---|
| 에러 원문/스택 | 원인 후보가 너무 많아짐 | 콘솔 전체 로그를 그대로 첨부 |
| 실행 환경 | 버전 의존 버그를 놓침 | Node 20.11, React 18.2, Chrome 124 |
| 재현 절차 | 같은 상황을 재현 못함 | 1. 로그인 2. 상세 이동 3. 새로고침 시 에러 |
| 관련 코드 위치 | 분석 범위가 지나치게 넓어짐 | `UserList.jsx` 42~70줄 |
| 기대 vs 실제 | 수정 방향이 어긋남 | 기대: 목록 표시 / 실제: 빈 배열 렌더링 |
| 시도한 해결책 | 중복 제안 반복 | 옵셔널 체이닝 적용했지만 동일 에러 |
3. 복붙해서 쓰는 에러 질문 템플릿
아래 구조로 보내면 대부분의 디버깅 질문 품질이 크게 올라갑니다. “프로젝트 환경: [기술/버전]. 에러 원문: [스택 트레이스 전체]. 재현 절차: [1,2,3]. 관련 코드: [파일명/줄 범위]. 기대 동작: [원래 의도]. 실제 동작: [현재 결과]. 시도한 방법: [이미 해본 것]. 위 정보를 기준으로 원인 우선순위 3개와 가장 가능성 높은 수정안부터 제시해줘.”
여기서 “원인 우선순위”를 요청하는 것이 포인트입니다. AI가 가능한 원인을 모두 나열하면 초보자는 어디부터 손대야 할지 막막해집니다. 우선순위를 붙여달라고 하면 가장 유력한 가설부터 검증할 수 있어 시간을 아낄 수 있습니다.
4. 해결 속도를 올리는 디버깅 습관
첫 번째 습관은 로그를 잘라 보내지 않는 것입니다. 길어 보여도 전체를 보내야 문맥이 유지됩니다. 두 번째는 “방금 바꾼 코드”를 함께 보여주는 것입니다. 버그는 최근 변경점에서 시작되는 경우가 많기 때문입니다. 세 번째는 한 번에 하나의 가설만 검증하는 것입니다. 여러 수정안을 동시에 적용하면 무엇이 원인이었는지 추적이 어려워집니다.
또한 AI 답변을 그대로 적용하기보다, 제안된 수정안 앞뒤에 간단한 검증 로그를 넣어 확인하는 습관이 좋습니다. 이렇게 하면 문제를 해결하는 동시에 디버깅 감각도 빠르게 성장합니다. 결론적으로 에러 질문의 품질은 코딩 실력과 별개가 아니라 코딩 실력 그 자체입니다.
5. 자주 묻는 질문
Q1. 보안 때문에 코드를 전부 공유하기 어려우면 어떻게 하나요?
민감 정보는 마스킹하고, 에러와 직접 관련된 최소 코드만 남겨서 공유하면 됩니다. 변수명과 구조는 유지하는 것이 좋습니다.
Q2. 스택 트레이스를 보면 너무 길고 복잡한데 꼭 다 보내야 하나요?
가능하면 전체를 보내는 것이 좋습니다. 특히 첫 에러 발생 지점과 호출 경로 정보가 원인 추적에 매우 중요합니다.
Q3. AI가 제시한 수정안이 여러 개인데 무엇부터 시도해야 하나요?
가장 재현이 쉬운 가설부터 검증하세요. 실패 시 결과 로그를 다시 붙여 후속 질문하면 정확도가 계속 올라갑니다.