디버깅은 코드 생성이 아니라 가설 경쟁
Minimal reproduction, hypothesis matrix, probe·trace와 smallest fix
오류가 나면 전체 함수를 다시 생성하는 방식은 증상을 바꾸면서 원인을 숨깁니다. 관측 가능한 실패를 최소 재현하고 원인 후보를 state, data, concurrency, dependency, model, environment로 나눈 뒤 후보를 가장 많이 제거하는 probe를 선택합니다.
| 가설 층 | 구분 Probe | 대표 증거 |
|---|---|---|
| State·data | event·version·row 비교 | 잘못된 전이·stale read |
| Concurrency | 순서·지연·반복 제어 | race·duplicate |
| Dependency | contract stub·version pin | provider·schema drift |
| Model·context | fixed response·source trace | retrieval·prompt·output |
- 최소 재현입력·환경·상태·시간을 고정해 실패를 반복합니다.
- 가설 표가능 원인과 각 원인일 때 나타날 증거를 적습니다.
- 고가치 Probe가장 많은 후보를 싸게 제거하는 trace·fixture를 실행합니다.
- 최소 수정원인 하나만 고치고 regression·neighbor·production signal을 확인합니다.