AI에게 보내는 좋은 버그 리포트는 사람에게 보내는 좋은 버그 리포트와 같습니다. 머릿속에서 문제를 재현할 수 있을 만큼의 맥락을 주고, 노이즈를 잘라내는 것입니다. AI는 당신이 붙여넣은 것만으로 추론할 수 있습니다 — 모호한 설명은 모호한 추측을 낳습니다.
AI에게 보내는 좋은 버그 리포트는 사람에게 보내는 좋은 버그 리포트와 같습니다. 머릿속에서 문제를 재현할 수 있을 만큼의 맥락을 주고, 노이즈를 잘라내는 것입니다. AI는 당신이 붙여넣은 것만으로 추론할 수 있습니다 — 모호한 설명은 모호한 추측을 낳습니다.
관련 없는 파일, 전체 config, secret/API key, 그리고 진단을 편향시키는 "X일 것 같다"는 식의 추측. 직감이 아니라 사실을 주세요.
❌ 약함: "로그인이 망가졌어요, 에러가 납니다. 왜죠?"
→ 에러 텍스트 없음, 코드 없음, 재현 없음 → AI는 추측만 가능
✅ 강함:
에러(그대로):
TypeError: Cannot read properties of undefined (reading 'id')
at getUser (auth.js:42)
코드(auth.js:40-43):
function getUser(token) {
const session = sessions.find(s => s.token === token); // 찾지 못하면 undefined 반환
return session.user.id; // 42번 줄: session이 undefined일 때 crash
}
기대: 알 수 없는 token에 대해 null 반환.
실제: 위 TypeError 발생.
재현: getUser('expired-token') 호출.
환경: Node 20, framework 없음.
강한 버전이면 AI는 빠진 undefined 검사를 바로 짚어내고 guard를 제안할 수 있습니다. 필요한 모든 사실이 화면에 있기 때문입니다.
AI 어시스턴트는 당신의 실행 중인 시스템에 접근할 수 없습니다 — 제공된 것만으로 추론합니다. 약한 리포트는 에러, 코드, 환경을 한꺼번에 추측하게 만들고, 잘못된 추측은 한 번의 왕복을 낭비합니다. 강한 리포트(정확한 trace + 관련 코드 + 기대/실제 + 재현 + 버전)는 진단을 집중된 작업으로 바꾸고 보통 첫 시도에 올바른 수정을 얻어냅니다. 간결한 버그 리포트를 쓰는 법을 익히면 스스로도 더 나은 디버거가 됩니다. 묻기 전에 사실을 분리하도록 강제하기 때문입니다.