콘텐츠로 이동

01-개념

01 — 개념: 왜 자기 검증은 검증이 아닌가

섹션 제목: “01 — 개념: 왜 자기 검증은 검증이 아닌가”

자기 검증(Self-Verification)생성을 수행한 동일 모델·동일 세션·동일 컨텍스트가 그 결과의 정확성을 판정하는 행위.

겉보기에는 합리적이다. “한 번 더 읽어 봐”는 사람에게도 효과가 있으니까. 그러나 LLM에서 이 직관은 무너진다. 이유는 세 가지다.

1. 사후 합리화(Post-hoc Rationalization)

섹션 제목: “1. 사후 합리화(Post-hoc Rationalization)”

LLM은 일관성에 강하게 끌린다. 자기가 방금 생성한 토큰열은 다음 토큰의 가장 강한 사전 정보다. “이게 맞나?”라는 질문을 같은 컨텍스트에 던지면, 모델은 이미 쓴 글을 부정할 이유보다 옹호할 이유를 찾기 더 쉽다.

생성 시 사용된 가정·휴리스틱·환각이 검증 시에도 그대로 활성화되어 있다. 분포 안에 있는 오류는 분포 안의 검증으로는 잡히지 않는다.

“Will ‘bullshit’ rather than admit it doesn’t know.” — Scott Spence

의역: “모르는 것을 인정하기보다 그럴듯한 헛소리를 한다.”

스콧 스펜스(Scott Spence)의 회고록 “Working with Claude Code: The Honest Version” 에서. 자기 검증은 이 “헛소리” 경향을 증폭시킨다 — 모델은 자기 헛소리에 동의하기 쉽다.

검증 단계에서 추가된 토큰(“Looks good, all checks pass”)이 다음 작업의 컨텍스트로 흘러간다. 거짓된 OK가 사실로 굳어진다.

진짜 검증은 다음 어느 한 차원이라도 분리되어야 한다.

차원분리 방법효과
모델writer = sonnet, critic = opus능력 격차 활용
컨텍스트verifier에게 결과만 전달, 생성 사고과정 비공개사후 합리화 차단
프롬프트 역할”너는 이걸 만들었다” → “너는 이것을 의심하는 검토자다”옹호 → 비판 모드
도구verifier에게는 실제 실행 도구만 (테스트 러너·링크 체커)토큰이 아닌 사실로 검증

CLAUDE.md §10이 이 원칙을 절대 규칙으로 박아 놓은 이유다 — 자기 승인 금지.

  • 02-구조 — OMC writer/reviewer/critic/verifier 4패스 구조