디버깅 체크리스트
이것들을 순서대로 밟아라. 곧장 "고쳐줘"로 건너뛰는 것이 AI를 빙빙 돌게 만드는 원인이다.
- 안정적으로 재현하라. 매번 버그를 일으키는 정확한 단계를 찾아라. 재현할 수 없는 버그는 고쳤다고 확인할 수도 없는 버그다 — 사라졌는지 영원히 추측만 하게 된다. 간헐적으로 일어난다면, 그것을 켜고 끄는 변수를 사냥하라. 특정 입력, 로그인 대 로그아웃 상태, 느린 네트워크 같은 것.
- 실제 에러를 읽어라. 대충 훑지 마라. 에러 메시지와 스택 트레이스의 맨 위는 보통 무엇이 잘못된 파일과 줄을 가리킨다. 초보자는 종종 화면에서 가장 유용한 문장을, 무섭게 보인다는 이유로 그냥 지나친다.
- 맥락을 모아라. 에러 텍스트, 스택 트레이스, 관련 코드, 그리고 무엇을 기대했는지에 대한 한 줄 설명을 모아라.
- AI에게 전체 그림을 건네라. 위의 모든 것을 한 메시지에 붙여넣어라. AI가 가설을 세우게 하라.
- 수정이 아니라 가설을 세워라. "이거 고쳐줘"보다 먼저 "무엇이 이것을 일으킬 수 있어?"라고 물어라. 틀린 이론 위의 틀린 수정은 시간을 낭비한다 — 그리고 때로는 첫 번째 버그 위에 두 번째 버그를 얹는다.
- 가설을 시험할 로깅을 추가하라. 바꾸기 전에 코드가 실제로 무엇을 하는지 확인하라.
- 문제를 이진 탐색하라. 의심 영역을 반복해서 절반으로 잘라 어디서 깨지는지 좁혀라.
- 증상이 아니라 근본 원인을 고쳐라. 수정이 눈에 보이는 결함만이 아니라 왜 깨졌는지를 다루는지 확실히 하라.
- 수정을 검증하고 회귀를 점검하라. 재현 단계를 다시 돌려라. 그다음 주변 기능이 여전히 동작하는지 확인하라.
순서는 임의가 아니다. 각 단계는 다음 단계가 필요로 하는 증거를 만들어낸다. 재현은 읽을 것을 주고, 읽기는 모을 맥락을 주고, 맥락은 AI가 가설을 세울 거리를 준다. 한 단계를 건너뛰면 다음 단계에 구멍을 먹이는 셈이다.