Where you are, and where you'll be

You're at A: you set rules at the start of a long AI session, like your tone, your format, or "never promise a delivery date," and by the end the AI is ignoring some of them. So you're back to checking every output, and the time you were saving is gone. Worse, the broken rule can reach a client or your boss before you catch it. By the end, you'll be at B: you'll be able to put your standing rules where the AI keeps them, keep that list short, and run one check before a long job to confirm the rules are loaded.

The one idea

Instruction drift in long sessions is predictable, not random. So you fix it by where and how you store your rules, not by repeating yourself louder. Repeating yourself doesn't work, because every extra line adds to the pile the AI has to weigh.

That pile has a name. The context window is everything the AI can see at once in a session: your instructions, the conversation so far, and every file or document it has read. It's measured in tokens, the small chunks of text AI models read and bill by.

Why the re-checking costs so much

Issue 1 did the math. A sales manager costs about $106 an hour, fully loaded, based on Bureau of Labor Statistics figures for sales managers. Each hour a week spent re-checking AI output costs about $5,512 a year. Drift turns one setup into a standing re-check.

Angle 1: the principle

Anthropic, the company behind Claude, says this in its own Claude Code best practices: "LLM performance degrades as context fills. When the context window is getting full, Claude may start 'forgetting' earlier instructions or making more mistakes." Its engineering team describes an "attention budget" and says: "Every new token introduced depletes this budget by some amount."

That's why louder doesn't work. Each repeat spends more of the budget, and the pile gets bigger.

Angle 2: an example (illustrative)

At message 3, you tell the AI, "Never promise a delivery date." At message 10, it still follows the rule. By message 40, after you've pasted in three call transcripts and a pricing sheet, a draft says "we'll have it to you by Friday."

Nothing broke at message 40. The rule became a small, early piece of a much bigger pile. Some tools also summarize older conversation to make room once the window gets full, which is called compaction. In Claude Code, Anthropic's glossary says that when this happens, "instructions given only in conversation may be lost."

Angle 3: the numbers

Independent research shows the same pattern. In NoLiMa, a peer-reviewed study presented at ICML 2025, GPT-4o scored 99.3% on short inputs and 69.7% at 32,000 tokens. At that length, 11 of the 13 models tested fell below half their short-input scores.

Long conversations add their own problem. In a study presented at ICLR 2026, Laban and colleagues found that every top model they tested did worse across multiple turns than in one shot, with an average drop of 39% across six tasks. Worse, "when LLMs take a wrong turn in a conversation, they get lost and do not recover."

Three angles, one point. If the AI weighs everything it can see, then the more clutter there is, the less weight each rule gets. So keep your rules short, and store them where they reload.

Granted, this isn't a cliff

Granted, the drop is gradual. Anthropic calls it "a performance gradient rather than a hard cliff." Both studies tested older models, released in 2024 and 2025, not today's. Another ICLR 2026 study (Sinha et al.) found that letting the model think before it answers "mitigates" one cause of mistakes on long tasks.

However, Anthropic's current docs still warn that Claude "may start 'forgetting' earlier instructions," and the fix is cheap. So here's the claim, scoped: on the models these studies tested, drift was large and measurable, and on today's models, the vendor still tells you to plan for it.

The check we run

I build our systems in Claude Code, Anthropic's AI assistant that works through multi-step jobs on its own. Our standing rules live in a plain-text rules file that Claude reloads. In Claude Code, that's CLAUDE.md, which can also pull in other files such as an AGENTS file. Anthropic's memory docs say the main CLAUDE.md file "survives compaction: after /compact, Claude re-reads it from disk." Rules typed into a chat don't get that treatment. Here's the check, in three steps.

  1. Confirm the rules are loaded. Type /context, which shows everything in the window by category, including the system prompt, tools, memory files, skills, and conversation. Check this first, because a rule that isn't loaded can't be followed. When I ran it at the start of a fresh session, 4% of the window was already spoken for before I typed a word, and the biggest single item was our AGENTS file, at 3,700 tokens.

  2. Keep the file short. Anthropic's target is under 200 lines. Its docs explain why: "Longer files consume more context and reduce adherence." Audit the rules themselves, too. Our Sep 25 audit of 25 skills (saved instruction sets for specific jobs) took 6m 50s and flagged 19 issues, including one rule that contradicted another.

  3. If a rule is loaded but ignored, rewrite it. Anthropic's troubleshooting page says that in that case, "the issue is likely how the instruction is written rather than whether it loaded." So make it shorter and more specific, because the docs say concise, specific instructions get followed more consistently.

No Claude Code? Same check, by hand. In the Claude app, put your rules in a Project's instructions. Anthropic's help center describes Projects as self-contained workspaces with their own chat histories, where you can "define project instructions for each project to further tailor Claude's responses." Start a fresh chat in that Project for each long job instead of extending one endless thread. Then ask Claude to list the rules it's following before you begin. That last step is our practice, not a documented feature.

Copy this

  1. Move your standing rules into one place: a rules file that reloads, or a Project's instructions plus a fresh chat per job, because rules typed into a long chat can get lost.

  2. Cut the list to what matters, because a shorter list leaves each rule more weight.

  3. Before your next long job, confirm the rules are loaded. In Claude Code, run /context. In the app, start a fresh Project chat and ask for the rules. Do this every time, because a long job is exactly where drift shows up.

Recap

  • Drift isn't random. Anthropic's own docs say Claude may start forgetting earlier instructions as the window fills.

  • Peer-reviewed studies measured it, with GPT-4o falling from 99.3% to 69.7% on longer inputs and a 39% average drop in multi-turn chats.

  • The fix is storage, not volume: one short rules file that reloads, and one check before a long job.

You're at B if you can now put your rules in one short file and show they're loaded before a long job starts.

Scoreboard

  • AI agents on the content team: 5

  • Sources pulled and read for this issue: 13

  • Skills in our Sep 25 rules audit: 25

  • Issues that audit flagged: 19

Next week: we had AI audit 25 of our own instruction sets in under 7 minutes, and it flagged 19 problems, including one rule that contradicted another. I'll show you the audit so you can run it on yours.

P.S. If you'd like your team's AI rules set up so they hold through a long job, just reply to this email and tell me which rule keeps getting broken.