Footnotes
에이전트 역할 분리 — 입력을 좁혀 성공 기준을 가른다
언제: 실패를 기계적으로 열거할 수 있고, 그걸 반복해서 고쳐야 할 때.
확인: 리뷰어가 tsc·eslint가 통과시키는 지점을 잡고 있는가. 그게 이 역할의 존재 가치 전부다 — effect 의존성의 의미 변화, 이벤트 핸들러의 eager/lazy, ??와 ||의 단축평가 차이, 리렌더 타이밍, 정리 함수 누락. 린터가 잡을 걸 잡고 있으면 프롬프트가 헐거운 것이다.
에이전트 신뢰 구축 — 검증 경로부터 자동 머지까지
| # | 원칙 | 위반 신호 |
|---|---|---|
| P1 | 에이전트가 스스로 실행해서 확인할 수 없는 작업은 위임하지 않는다 | 스크린샷을 복붙하고 있다 |
| P2 | 구현자와 검증자는 다른 컨텍스트여야 한다 | “수정 완료했습니다”를 구현자가 말한다 |
| P3 | 소프트 규칙(문서·프롬프트)은 신뢰의 근거가 아니다 | CLAUDE.md 에 적었는데 안 지킨다 |
| P4 | 가장 짧은 경로가 정답 경로가 되도록 설계한다 | 에이전트가 매번 우회로를 찾는다 |
| P5 | 사람이 리뷰로 강제하는 불변식은 전부 코드 스멜이다 | 같은 지적을 두 번 했다 |
R00·R01. 거르고 구간 확정
확인 — “지금 에이전트가 만든 PR 을 읽지 않고 머지한다면, 문제가 생겼을 때 며칠 뒤에 알게 되는가?” “모른다”면 구간 0이다.
R02. 검증 스킬 부트스트랩
{
"verdict": "pass | fail | cannot_verify",
"steps_taken": ["실제 실행한 명령"],
"evidence": ["관찰한 원문 출력"],
"unverified": ["실행으로 확인 못 한 항목"]
}
확인 — 같은 버그를 3번 던졌을 때 steps_taken 이 일관되면 통과.
R03. feature map
R04. 실패 모드를 스킬로 승격
R05. eval 하네스
R06. 강제 계층 배치
R07. 리뷰 코멘트를 하드 제약으로
R08. 그린필드 가드레일
확인 — 새 기능 하나를 시켜보고 몇 개 디렉터리를 건드렸는지 센다. 3개를 넘으면 구조가 잘못됐다.