Handbook.md shows that long policy documents do not reliably govern agents
TL;DR Highlight
Given 20-124 page handbooks, the best agent passed only 36.2% of tasks under strict grading
Who Should Read
Agent developers frustrated that long system prompts or CLAUDE.md/AGENTS.md rules keep getting ignored
Core Mechanics
- A benchmark for following handbooks
- HANDBOOK.md has 65 tasks testing whether an agent follows a long policy document like an employee follows a company handbook.
- Existing benchmarks mostly measure task completion, not how well a long policy constrains behavior.
- The setup is a mock company workspace
- A file workspace has mock email, chat, calendar, issue tracking and commerce services exposed over MCP (Model Context Protocol).
- Agents follow a 20-124 page standard operating procedure (SOP) for routine work.
- It spans 5 domains (finance, medical billing, insurance, logistics, HR) and 10 fictional companies.
- Grading is fully deterministic
- There are 824 programmatic criteria checking both required and prohibited actions.
- Strict grading passes a trial only if every criterion is met.
- Each task modifies rules and thresholds of one of 10 base handbooks to resist memorization.
- Best model passes only 36.2%
- Under strict grading the strongest evaluated model passes 36.2% of trials.
Community Reactions
- Rules fade as context fills
- Users reported CLAUDE.md rules being ignored after about 10 minutes, while restating them in a prompt works much better.
- One user said Codex kept pushing to main despite clear AGENTS.md instructions.
- Fresh sessions follow rules fine
- One commenter found several models follow rules well in fresh sessions, whether in the prompt or CLAUDE.md.
- They felt violations make further violations more likely.
- They also saw models find a violation in a check yet keep the wrong output, so they use separate hooks or post-checks.
- Re-injecting rules every prompt
- One user used a UserPromptSubmit hook (inject_rules.py) to prepend RULES.md to every prompt, which reduced fading.
- They said it costs some tokens but lowers overall usage, and it is not 100% reliable.
- Keep rules short and verify externally
- Some suggested listing only must, must-not and optional items and omitting what the model can figure out.
- One user ran rule files through an LLM repeatedly to find contradictions, duplicates and ambiguities, and agents followed better.
How to Apply
- Run your rules file through a contradiction check
- Today, paste your CLAUDE.md or AGENTS.md into an LLM to find contradictions, duplicates and ambiguous lines.
- Rewrite it as short must, must-not and optional groups.
- Re-inject key rules every turn
- Pick the few rules the agent often breaks and prepend them via a hook or the user prompt each turn.
- Inject only essential rules, not the whole file, to limit token growth.
- Verify with code, not agent self-reports
- Block forbidden actions (e.g. pushing to main) with system controls like branch protection.
- Don't trust the agent's 'I complied' report; confirm with a deterministic check script.
- Split long procedures into steps
- Restructure long handbooks so each step gets only its own rules.
Try It
# Paste into Claude or ChatGPT as is (simplified version of the paper's idea: rules doc audit)
Below is a rules document I give to an agent. Please do the following.
1) List contradictory rules, duplicate rules and ambiguous wording.
2) Rewrite it briefly into must / must not / optional groups.
3) Pick the top 5 rules the agent is likely to break and suggest a one-line way to verify each in code after the fact.
{{rules document}}
Next: run the same task with the rewritten document and compare rule violations to before.Terminology
Related Papers
The Judge Can Debias Itself: Awareness and Self-Debiasing for Reliable LLM-as-a-Judge
Warning an LLM judge about bias or letting it self-critique improved 20 of 21 model–bias combinations.
90% of US working hours are spent on tasks not covered well by AI benchmarks
Mapping 29 benchmarks to job tasks shows 90% of US working hours lack good coverage
Postgres 19 delayed after AI reviewers find more bugs than humans can fix
LLM code review surfaced so many bugs that Postgres 19 slipped to November and 8-10 features were reverted
Show HN: Gemini 4 Argon plays StarCraft
LLMs wrote StarCraft bots in one hour; GPT-6 Astra scored highest.
A Plausible Explanation Is Enough to Mislead Multimodal Judges
Adding plausible explanations to fixed answers cut MLLM judges' wrong-answer rejection by 12.7–13.8 points.
Neural networks are clean
Looking at neurons directly shows most have one main job, challenging superposition.