단원 — 4 요소 ④ 검증 (시간이 지날수록 좋아지는 시스템)
Lesson (강의 단원)lecturedraftFri May 08

단원 — 4 요소 ④ 검증 (시간이 지날수록 좋아지는 시스템)

별칭: 4 요소 검증 단원 · hooks 단원 · 가소성 단원 · PostSampling 단원

#4-elements#verification#hooks#plasticity#guardrail#post-sampling#permission-mode#lecture-core

한 줄 명제

검증은 가소성의 전제이고, 가소성은 지식 성장의 조건이다. 좋은 시스템은 시간이 지날수록 좋아진다 — 검증이 그 효과를 만든다.


강의 흐름 (12 분)

① 가소성 — 지식이 자라는 조건 (2 분)

검증은 에이전트의 건강검진. 자기 자신과 자기가 만든 결과물을 점검하는 메커니즘.

검증 없이 도는 에이전트 — 잘못된 코드 위에 잘못된 코드를 쌓는다. 한 번 만든 코드는 틀린 채로 굳고, 한 번 내린 결정은 잘못된 채로 누적. 검증 메커니즘이 작동해야 비로소 잘못 됐다가 발견 되고, 발견되어야 갱신 된다.

검증의 본질 = 가소성. 신경망에서 빌려온 용어. 에이전트 맥락에서는 — 기존 지식·결정·산출물이 새 정보에 의해 갱신될 수 있는 능력. 검증 없이는 가소성도 없다. 가소성 없이는 지식이 자라지 않는다.

검증은 가소성의 전제이고, 가소성은 지식 성장의 조건이다.

시간 차원의 효과:

검증 부재검증 작동
잘못 발견 ❌ → 잘못 위에 잘못 쌓임 → 한 번 굳으면 안 갱신 → 지식 안 자람 → 시스템이 시간 지날수록 망가짐잘못 발견 → 갱신 → 가소성 작동 → 지식 자람 → 시스템이 시간 지날수록 좋아짐

상세: term/plasticity

② 건강검진과 가드레일 (1.5 분)

검증은 두 얼굴 을 갖는다.

얼굴
건강검진정합성·일관성·목표 지향 — 코드가 의도한 대로 짜였는가, 모듈 간 인터페이스 일관되는가, 지난 한입의 결정이 이번 한입과 충돌하지 않는가, 작업이 원래 목표 방향으로 가는가
가드레일막강한 AI 도구가 방향성 있게 일하도록 보호rm -rf / 같은 위험 명령 차단, 비밀키 외부 유출 차단, 사용자 명시 룰 강제, 권한 없는 작업 막음

가드레일은 막는 일. 건강검진은 점검하는 일. 둘 다 검증.

그리고 한 가지 더검증 자체도 계층적·구조화 되었는지를 검증. 검증의 메타 차원. 검증 시스템이 잘 짜였는가를 검증. 이게 시간 지날수록 검증 시스템 자체가 자라나게 만드는 메커니즘.

상세: concept/multi-layer-guardrail · term/health-check · term/guardrail-context

③ Hooks — 검증의 사용자 통제점 (3 분)

Claude Code 의 Hooks 는 검증 요소의 사용자 통제점. 공간 요소에서 CLAUDE.md 가 사용자 통제점이라면, 검증 요소에서는 Hooks.

6 이벤트 × 3 카덴스:

카덴스이벤트호출 시점
세션SessionStart, SessionEnd세션 시작·종료 한 번씩
UserPromptSubmit, Stop사용자 메시지 보낼 때 / Claude end_turn 한 후
도구PreToolUse, PostToolUse모든 도구 실행 직전·직후 (매 턴 도구 5 개 쓰면 10 번 호출)

Hooks 인자: JSON 으로 도구명, 도구 인자, 세션 ID, transcript 경로. 우리가 만든 외부 스크립트가 그 JSON 을 받아서 처리.

Hooks 반환값: additionalContext다음 도구 결과에 prepend. 즉 Hook 으로 Claude 가 다음 턴에 더 많은 정보를 보게 만들 수 있다. 검증이 단순 차단이 아니라 컨텍스트 보강까지 한다.

Hooks 의 강한 점Anthropic 의 권한 시스템보다 강하다. PreToolUse 훅이 allow 반환하면 Claude Code 의 권한 시스템을 bypass. 우리가 박은 룰이 최종 권한.

실용 패턴 4 가지:

Hook역할
PreToolUse(Edit)변경 전 git stash 백업. 가소성: 잘못된 변경 되돌림
PostToolUse(Edit)변경 후 prettier, eslint 자동. 성장: 매 변경 검증 후 누적
PostToolUse(Bash)위험 명령 감지 시 알림. 가소성 보호
Stop턴 종료 시 대화 요약을 외부 파일에 추가. 성장: 세션 간 지식 누적

상세: concept/hooks-6-events

④ 부재 vs 과잉 — 성장 정지 vs 진행 정지 (1.5 분)

검증 요소가 깨지는 모습은 양 극단.

극단
검증 부재 = 성장 정지가드레일 ❌ → rm -rf 실행, 비밀키 노출. 자기검증 ❌ → 잘못된 결과 위에 계속 쌓아 올림. 가소성 제로 → 한 번 굳으면 안 갱신. 지식이 자라지 않는다
검증 과잉 = 진행 정지정상 작업까지 매번 승인 요청. 모든 호출이 막힘. 가소성은 있지만 활용 안 됨

처방: permission_mode작업 위험도에 맞게 분리:

Mode용도
acceptEdits읽기 전용 작업 — 자동 진행
default일반 코딩 — 위험 작업만 승인
default (강)배포·삭제 — 모든 destructive 작업 승인
bypassPermissions디버그 격리 — sandbox 내 자유 실행

검증의 시간 차원이 가장 중요: 1 턴, 5 턴에서는 차이 안 보인다. 30 턴, 100 턴 가야 드러난다. 그래서 검증 요소가 가장 자주 무시된다 — 즉시 보상이 없으니까. 그러나 6 개월 가면 — 검증 박은 사람과 안 박은 사람의 차이가 결정적.

⑤ PostSampling — 시스템 측 마지막 레이어 (3 분)

검증 요소의 마지막 레이어 는 시스템 측에 있다 — PostSampling. Anthropic 이 경쟁사의 distillation 학습을 막기 위해 박은 메커니즘.

메커니즘 셋:

메커니즘
Fake Tool Definitions시스템 프롬프트에 실재하지 않는 도구 일부 섞음. 정상 사용에서는 모델이 안 부르도록 학습됐다. 누가 응답을 그대로 학습 시키면 그 가짜 도구가 같이 학습 됨 → 거기서 잡힌다
Summarized Reasoning모델의 전체 reasoning 을 다 보여주지 않음. PostSampling 단계에서 축약 요약으로 치환
Watermark응답에 통계적 시그니처 삽입. 다른 모델이 학습하면 추적 가능

시사점: 검증 요소는 사용자 측 (Hooks)시스템 측 (PostSampling)양 끝에서 작동. Hooks 는 우리가 기록하는 검증, PostSampling 은 Anthropic 이 기록하는 검증. 두 검증 사이에 모델 응답이 있다.

좋은 시스템은 시간이 지날수록 좋아진다. 그게 검증 요소가 가져오는 효과다.

상세: concept/post-sampling

⑥ 검증 요소의 한 줄 (0.5 분)

4 요소를 한 장씩 박았다. 이제 — 이 넷을 어떻게 한 손에 쥐는가. Part 3 — 실전 적용 단원으로.


4 엔지니어링 통합 기록

본 단원은 검증 = 하네스 + 에이전틱 을 기록:

  • 하네스 엔지니어링: 본 단원의 주 무대. Hooks / PostSampling / permission_mode
  • 에이전틱 엔지니어링: 자기 검증·가소성 = 에이전트의 결정 진화
  • 컨텍스트 엔지니어링: Hooks additionalContext다음 턴 컨텍스트 보강 — 컨텍스트 진화 메커니즘
  • 프롬프트 엔지니어링: Hooks 가 기록하는 additionalContext = 컨텍스트 보강 프롬프트

→ 4 분야 모두 검증 요소 위에서 기록됨. concept/4-engineering-disciplines 통합 기록 규칙 정합.


다음 단원으로

lesson/4elements-hiao-balance (7장 — HIAO + 한입 + 가드레일 균형 = 4 요소를 한 손에 쥐는 일).


출처

60_service/6006 booklet-vibe-coding-4-elements/_combined_book.md §454~512 (6 장 — 검증 — 시간이 지날수록 좋아지는 시스템).