HANDBOOK.md: 긴 정책 문서는 에이전트를 안정적으로 통제하지 못한다
Handbook.md shows that long policy documents do not reliably govern agents
TL;DR Highlight
20~124쪽 핸드북을 주고 에이전트를 돌렸더니 최고 모델도 36.2%만 통과했다
Who Should Read
긴 시스템 프롬프트나 CLAUDE.md·AGENTS.md 규칙이 자꾸 무시돼 고민인 에이전트 개발자
Core Mechanics
- 핸드북 따르기를 직접 재는 벤치마크
- HANDBOOK.md는 직원이 회사 핸드북을 따르듯 에이전트가 긴 정책 문서를 따르는지 보는 65개 과제다.
- 기존 벤치마크는 과제 완수 여부만 보고 긴 정책이 행동을 얼마나 묶는지는 거의 안 쟀다.
- 환경은 가짜 회사 업무 공간
- 파일 작업공간에 메일·채팅·캘린더·이슈 트래커·커머스 서비스가 MCP(모델 컨텍스트 프로토콜)로 붙어 있다.
- 에이전트는 20~124쪽짜리 표준 운영 절차서(SOP)를 따라 일상 업무를 처리한다.
- 도메인은 금융·의료 청구·보험·물류·HR 5개, 가상 회사는 10곳이다.
- 채점은 완전히 결정적이다
- 프로그램으로 확인하는 기준이 총 824개이고, 해야 할 행동과 하면 안 되는 행동을 모두 검사한다.
- 모든 기준을 만족해야 통과하는 엄격 채점이다.
- 암기를 막으려고 과제마다 10개 기본 핸드북의 규칙·임계값을 바꿨다.
- 최고 모델도 36.2%만 통과
- 엄격 채점에서 가장 잘한 모델의 통과율이 36.2%다.
- 대부분의 최신(frontier) 모델은 25% 미만이다.
- 실패 패턴이 비슷하다
Community Reactions
- 컨텍스트가 차면 규칙이 흐려진다는 경험
- CLAUDE.md에 강한 규칙을 써도 10분쯤 지나면 무시되고 작업 중 프롬프트로 다시 말하면 훨씬 잘 따른다는 경험담이 있었다.
- Codex가 AGENTS.md에 명확한 지시가 있는데도 main 브랜치에 계속 푸시했다는 경험도 있었다.
- 새 세션에서는 잘 지킨다는 테스트 결과
- 새 세션에서는 규칙을 프롬프트에 쓰든 CLAUDE.md에 쓰든 여러 모델이 다 잘 따랐다는 경험이 있었다.
- 규칙을 어긴 뒤 교정해도 위반 확률이 오히려 올라가는 것 같다는 의견도 있었다.
- 모델이 검사에서 위반을 찾고도 본문 서술은 틀린 출력을 고집하더라는 관찰이 있었고, 별도 hook·사후 검사로 고친다고 했다.
- 매 프롬프트에 규칙 재주입하는 방식
- UserPromptSubmit hook(inject_rules.py)이 RULES.md를 읽어 매 프롬프트에 붙였더니 규칙이 덜 흐려졌다는 경험이 있었다.
- 토큰은 더 쓰지만 전체 사용량은 줄었다고 하며 100%는 아니라고 했다.
- 규칙을 짧게 쓰고 외부에서 검증하라는 의견
- 해야 할 것과 하면 안 될 것만 요약하고 알아서 할 일은 빼라는 의견이 있었다.
- 규칙 문서를 LLM에 돌려 모순·중복·모호함을 반복 점검하니 잘 따랐다는 경험이 있었다.
- 결정적 규칙 검사기를 도구로 두거나 단일 관심사 서브에이전트를 쓴다는 사례도 있었다.
How to Apply
- 지금 쓰는 규칙 파일을 모순 점검에 돌리기
- 오늘 CLAUDE.md나 AGENTS.md를 LLM에 넣어 모순·중복·모호한 문장을 찾게 하라.
- 찾은 항목을 고쳐 필수·금지·권장 세 묶음으로 짧게 다시 써라.
- 핵심 규칙을 매 턴 다시 주입하기
- 자주 어기는 규칙 몇 줄만 골라 hook이나 사용자 프롬프트 앞에 매번 붙여라.
- 규칙 파일 전체가 아니라 필수 규칙만 넣어 토큰 증가를 억제하라.
- 준수 보고 대신 코드로 사후 검증하기
- 금지 행동(예: main 직접 푸시)은 브랜치 보호 등 시스템 차단으로 막아라.
- 에이전트의 '지켰다'는 보고는 믿지 말고 결정적 검사 스크립트로 확인하라.
- 긴 절차는 단계별로 쪼개 규칙 주기
- 긴 핸드북은 단계마다 해당 규칙만 따로 주는 구조로 바꿔라.
Try It
# Claude나 ChatGPT에 그대로 붙여넣기 (원문 방법의 간이 버전: 규칙 문서 점검)
아래는 에이전트에게 주는 규칙 문서다. 다음을 해줘.
1) 서로 모순되는 규칙, 중복 규칙, 모호한 표현을 목록으로 찾아줘.
2) 필수(must) / 금지(must not) / 권장(optional) 세 묶음으로 짧게 다시 써줘.
3) 에이전트가 자주 어길 것 같은 상위 5개 규칙을 골라, 코드로 사후 검증할 수 있는 방법을 한 줄씩 제안해줘.
{{규칙 문서}}
이어서 해 볼 것: 다시 쓴 문서로 같은 작업을 돌려 규칙 위반 횟수를 이전과 비교해 보기.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
StarSkirmish Bench v0.2: LLM이 1시간 만에 짜는 StarCraft 봇 대결
LLM에게 1시간 동안 StarCraft 봇을 짜게 했더니 GPT-6 Astra가 1위
그럴듯한 설명 하나면 멀티모달 LLM 심사위원도 속는다 (JUPE 벤치마크)
정답은 그대로 두고 설명만 붙였더니 MLLM 심사위원의 오답 거절률이 12.7~13.8%p 떨어졌다
신경망은 이미 깔끔하다: polysemanticity의 원인 재해석
뉴런을 직접 들여다봤더니 대부분 한 가지 역할이 있었다는 주장
Linus Torvalds의 첫 LLM 보조 패치 시리즈
Linus가 LLM으로 folio 조회 패치 10개를 만들어 read() 벤치가 10배 빨라졌다