디버깅에서 가장 위험한 결과는 에러가 아니다.
가장 위험한 결과는 그럴듯한 숫자다.
숫자는 정확해 보인다.
재실행해도 같은 값이 나온다.
그래서 믿는다.
하지만 probe가 잘못된 DB, 오래된 프로세스, 잘못된 endpoint를 보고 있다면 재현성 있는 오답도 얼마든지 만들 수 있다.
1. 재현성은 정확성이 아니다
같은 스크립트를 세 번 실행해서:
8421
8421
8421이 나왔다고 하자.
우리는 쉽게 안심한다.
하지만 세 번 모두 같은 잘못된 데이터소스를 보고 있다면 세 번 모두 틀린 값이다.
재현성은 신뢰성의 조건일 수 있지만 정확성의 증거는 아니다.
2. Known-Value Control
이 글에서는 이미 정답을 알고 있는 기준값을 같은 측정 경로에 함께 태우는 패턴을 Known-Value Control이라고 부르겠다. 특정 도구의 고유 기능명이 아니라, 측정 경로 자체를 검증하기 위한 운영 패턴이다.
새로운 측정을 할 때 이미 정답을 알고 있는 값을 함께 측정한다.
Control A → 이미 검증된 전체 건수
Control B → 이미 검증된 특정 구간 건수
Novel → 지금 조사하려는 값핵심은 control과 novel measurement가 가능한 한 같은 실행 경로를 쓰는 것이다. 따로 재면 “control은 맞는데 novel은 틀린” 경우와 “둘 다 같은 이유로 틀린” 경우를 구분할 수 없다.
로그 파일에서 특정 에러의 발생 건수를 세는 상황을 예로 들면, 두 번 실행하는 대신 한 번에 같이 뽑는다.
# 나쁨: novel만 잰다. 이 숫자가 맞는지 알 방법이 없다.
grep -c 'TimeoutError' app.log
# 나음: 정답을 아는 값을 같은 명령, 같은 파일 핸들로 같이 뽑는다.
awk '
/TimeoutError/ { novel++ }
/^/ { total++ } # control A: 전체 줄 수 (wc -l 로 검증됨)
/2026-09-16/ { control_b++ } # control B: 어제치 줄 수 (이미 아는 값)
END { print "total=" total, "known_day=" control_b, "novel=" novel }
' app.logtotal이 wc -l과 다르거나 known_day가 아는 값과 다르면, novel은 보지 않는다.
읽고 있는 파일이 내가 생각한 그 파일이 아니라는 뜻이고, 그 상태에서 novel 값은
재현성 있는 오답일 뿐이다. 회전된 로그, 심링크가 가리키는 옛 파일, 다른 컨테이너의
마운트 — 전부 이 한 줄에서 걸린다.
3. 판정 규칙은 단순하게
Control PASS
→ Novel result 검토 가능
Control FAIL
→ Novel result 폐기
→ instrumentation failure여기서 가장 중요한 것은 novel 값이 아무리 그럴듯해도 control이 실패하면 버리는 것이다.
4. 왜 같은 실행이어야 하나
어제 정상적으로 측정됐다는 사실은 오늘의 probe를 보증하지 않는다.
오늘은 다음이 다를 수 있다.
- container
- database
- feature flag
- branch
- fixture
- configuration
그래서 control은 “과거의 검증”이 아니라 현재 실행의 유효성 검증이어야 한다.
5. AI Agent Measurer에도 그대로 적용
자동 측정 agent가 있다면 보고 형식을 다음처럼 고정할 수 있다.
Measurement target:
Known control:
Control result:
Novel result:
Instrumentation limitations:
Validity: PASS / FAIL / UNKNOWNLead가 직접 만든 one-liner도 예외로 두지 않는다.
6. 계측 실패를 실패로 인정해야 한다
많은 팀이 measurement failure를 만나면 “다른 숫자를 구해보자”로 넘어간다.
하지만 더 중요한 것은:
현재 계측 경로 자체를 신뢰할 수 없음을 명시하는 것이다.
이 상태에서 새로운 숫자를 추가해 봐야 신뢰성은 올라가지 않는다.
7. 좋은 검증은 숫자보다 계보가 있다
신뢰할 수 있는 측정에는 다음이 따라붙는다.
어디서 측정했는가
무엇을 기준으로 했는가
control은 통과했는가
어떤 한계가 있는가이 네 가지가 없으면 숫자는 증거가 아니라 참고값에 가깝다.
결론
검증을 많이 한다고 신뢰성이 자동으로 올라가는 것은 아니다.
검증 장치 자체가 틀리면 더 많은 검증은 더 큰 확신만 만든다.
새로운 숫자를 믿기 전에 먼저 물어야 한다.
이 측정 도구가 지금 제대로 측정하고 있다는 증거가 있는가?