도구 사건에 코드가 끼어들어
훅은 PreToolUse, PostToolUse, UserPromptSubmit, Stop 같은 사건에 호출되는 콜백이야. 도구 실행 전후에 기록을 남기고, 인자에서 비밀을 가리고, 위험한 호출을 거부할 수 있어. 모델의 협조와 무관하게 코드가 정책을 집행하는 자리야.
안내는 프롬프트로, 불변 조건은 훅으로
시스템 프롬프트에 “rm -rf를 실행하지 마”라고 쓰면 모델이 대체로 따르지만 보장은 아니야. 해당 명령 패턴을 본 훅이 거부하면 실행 경로 자체가 닫혀. 바람직한 행동은 프롬프트로 설명하고 절대 넘으면 안 되는 경계는 코드로 막아.
기록·가림·거부 세 종류부터 시작해
모든 도구 호출을 구조화 로그에 남기는 기록 훅, 실행 전에 인자의 비밀을 지우는 가림 훅, 금지 패턴을 차단하는 거부 훅이 기본 세트야. cwkPippa도 서로 다른 관심사를 이 세 층으로 나눠 다뤄.
원칙: 훅은 프롬프트가 바뀌어도 정책을 지켜. 모델 행동은 흔들릴 수 있지만 코드 경계는 흔들리지 않아.