Apply to my task
arXiv:2604.20911 ★ 91 Apr 22, 2026

Security-Recall Divergence: "never do" fades in long chats — "always do" doesn't

Key result

In a single reply, the model follows a requirement and breaks a prohibition — at the same time. No attack, no clever instructions: the conversation just got long. The re-injection method keeps prohibitions alive for the entire session — no model changes, no fine-tuning. The trick: a prohibition competes with the model's habitual behavior — and loses as the context grows. A requirement competes with nothing. That's why "always add the tag [OK]" holds to the end, while "never write in bullets" doesn't. Repeating the prohibitions every 6–8 messages restores rule compliance to its original level.

01

TL;DR

Prohibitions in a system prompt decay as the conversation grows, while requirements don't. Write "never use bullet points" and "always add the tag [AUDIT-OK]" at the start of a chat, and 10–15 messages later the model starts ignoring the prohibition — yet keeps adding the tag like clockwork. In the very same reply, the model follows the requirement and breaks the prohibition. Not a single "malicious" instruction involved — just the sheer volume of context.

The cause is attention displacement. The longer the conversation, the further the system prompt drifts from the model's "focus" — it gets less and less weight during generation. Prohibitions ("don't do X") compete with the model's habitual behavior — and lose. Requirements ("do Y") compete with nothing: the needed token is either there or it isn't. That's why they hold.

The paper calls this Security-Recall Divergence (SRD) — a "split between safety and memory." The practical fix is simple: periodically repeat your prohibitions in long sessions before they decay. For most models the critical threshold is around 7–11 messages. No changes to the model needed.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

(Everything is done by hand in a regular chat, as separate messages)

STEP 1: Identify the type of each rule
  Prohibition = "never do X" (omission) ← decays
  Requirement = "always do Y" (commission) ← holds

STEP 2: Prohibitions → turn them into requirements wherever possible
  ❌ "Never use complicated words"
  ✅ "Always write with words a middle schooler would know"

STEP 3: Remaining prohibitions → place them at the END of the system prompt
  (closer to the conversation = closer to the model's "focus")

STEP 4: Every 6–8 messages → insert a re-injection block
  "Rules reminder: [list of prohibitions]. Confirm you remember them."
03

Example in Practice

Task: You're writing a series of posts for your LinkedIn newsletter with ChatGPT. The session is long — 15–20 messages back and forth. At the start you set the rules: no "leverage/utilize/facilitate," no bullet lists, no corporate-speak. By message 12 the model is already writing "this solution leverages..." — and you can't figure out why.

Prompt (re-injection block — paste every 6–8 messages):

⚠️ Reminder of the active prohibitions for this session:

FORBIDDEN (confirm you remember each item):
- Words: "leverage," "utilize," "facilitate," "in terms of," "it should be noted"
- Bullet lists (bullets with —, •, *)
- Corporate-speak — only a lively, conversational style

REQUIRED:
- Short paragraphs (3–4 sentences max)
- Every post ends with a question or a CTA

Reply "Rules accepted" and continue working on the post: {current task}

Result: The model confirms the rules and keeps going. For the next 6–8 messages the prohibitions are respected. Then you paste the block again. Without re-injection, by message 12–15 the prohibitions start getting broken on their own.

04

Why It Works

The model doesn't "store" rules as a list — it generates text by weighing the entire context. The earlier a rule was written, the less weight it carries by now. By message 15 the system prompt is like a note at the bottom of a backpack: physically there, practically irrelevant.

Prohibitions and requirements work differently. A requirement ("add the tag [OK]") means the model has to actively produce a token. It's a concrete action — either done or not. A prohibition ("don't use bullets") is a fight against inertia. The model has a "default" — long structured answers with bullets. When the prohibition weakens, the default behavior wins.

Re-injection works because it brings the prohibitions back into the "near" context — where the model's attention weight is high. The key is to insert the block before the decay, not after — fixing a reply that already broke the rules is harder than preventing the violation.

Control knobs: - Re-injection frequency → the harder the prohibition (the more it diverges from default behavior), the more often you paste it - Confirmation format ("reply 'Rules accepted'") → adds an explicit "anchor" in the context, re-activating the rules once more - Position in the prompt → prohibitions at the end of the system prompt live longer than at the beginning

05

Prompt Template

Re-injection block (for long sessions):

⚠️ Session rules reminder:

FORBIDDEN — confirm each item:
- {prohibition_1}
- {prohibition_2}
- {prohibition_3}

REQUIRED:
- {requirement_1}
- {requirement_2}

Reply "Rules updated" and continue: {current task}

Placeholders: - {prohibition_1–3} — specific prohibitions from your system prompt - {requirement_1–2} — what must always be in the replies - {current task} — what you're working on right now

When to paste it: every 6–8 messages in long sessions. For short conversations (under 10 messages) — not needed.


🚀 Quick start — paste into the chat:

Here is a re-injection template for long sessions.
Adapt it to my task: {your task and the session rules}.
Ask me questions to fill in the fields.

[paste the template above]

The LLM will ask what your prohibitions and requirements are — because those are exactly what need to be separated and prioritized. It will build a ready-made re-injection block for your session.

06

Limitations

⚠️ Only tested on formatting prohibitions: The study used rules like "no bullets" and "don't write in the first person" — not "don't give medical advice" or "don't mention competitors." Semantic prohibitions presumably decay the same way, but that wasn't measured.

⚠️ Models behave differently: Gemma 4 31B barely decayed in the experiments. Qwen 3.5 started breaking prohibitions after just 7 messages. The spread is wide — treat 6–8 messages as a safe threshold for any model.

⚠️ Re-injection is a temporary fix: The study showed that repetition restores rule compliance. How long the restored compliance lasts wasn't measured.

⚠️ Context length matters more than message count: Decay is driven by token volume, not the number of turns. Long model replies = prohibitions forgotten faster.

07

How It Was Studied

The team asked a specific question: what happens to the rules in a system prompt once the conversation gets long? Nobody had measured this systematically before — standard benchmarks check rule compliance on isolated replies, not across long sessions.

There was a single scenario: debugging a DevOps incident. The model got a system prompt with 8 rules — 3 requirements ("always add the STATUS: tag," "always include the incident ID INC-08453") and 5 prohibitions ("never use bullets," "never write in the first person"). All rules were formatting rules, checkable automatically with no LLM judge. The conversation ran to turn 5, 10, 13, 16, 20 or 25, then they recorded what got violated.

Three experimental arms: a baseline conversation, a conversation with 20 extra cloud-tool schemas (~10,000 extra tokens), and a control arm with the same token volume but semantically neutral content. The last arm separated the question: is decay caused by the volume of context or its content? Turns out content matters more: semantically dense tool schemas produced 62–100% of the decay effect, neutral padding — far less.

4,416 trials across 12 models from 8 providers. The most striking result: by turn 16, Mistral Large 3 put the STATUS: tag in 100% of its replies — and broke the no-bullets rule in 67% of those same replies. Simultaneously, in one reply. Without a single malicious instruction.

08

Original from the Paper (optional)

Definition of Safe Turn Depth (STD) — the threshold after which prohibitions become unreliable:

STD is the turn depth at which the dilution-arm compliance rate for a given
(model, constraint) pair crosses 50%, estimated by linear interpolation
between adjacent tested depths.

Mistral Large 3 reaches STD = 10.6 turns [5.0, 16.7]
Qwen 3.5 reaches STD = 7.1 turns [5.0, 10.5]

Context: The authors propose using STD as a practical threshold for re-injection. If you know the critical value for your model, paste the reminder before you reach it, not after.

09

Adaptations and Extrapolations

💡 Adaptation: rephrase prohibitions as requirements

The strongest application of the finding is not re-injection but rephrasing. If a prohibition can be rewritten as a requirement, it will hold almost indefinitely with no reminders.

🔧 Technique: omission → commission reframing

This conclusion follows directly from the mechanics of SRD, even though the authors don't phrase it as advice.

BEFORE (prohibition — decays):
"Never use complicated words or an academic style"

AFTER (requirement — holds):
"Always write for a 15-year-old reader: short words, vivid examples"

---

BEFORE: "Never mention competitors"
AFTER: "Always talk only about our product — [name]"

---

BEFORE: "Don't give specific numbers without a source"
AFTER: "Always add the note [source needed] next to any number"

The rule: if you can say "instead of X, do Y" — say exactly that. An "always" requirement outlives a "never" prohibition.


🔧 Extrapolation: audit which rules are still "alive" in a long session

If a session has been running for a while and you're not sure whether the model still remembers the prohibitions, paste a diagnostic prompt:

List all the constraints and rules in effect in our
current session. For each one give: (1) the wording, (2) the type —
"always do" or "never do," (3) whether you followed it
in your last 3 replies.

If the model can't reproduce the prohibitions accurately or is "not sure" — time for re-injection. If it can — keep going.

10

Resources

Paper title: Omission Constraints Decay While Commission Constraints Persist in Long-Context LLM Agents

Authors: Yeran Gamage (University of South Florida / Independent AI Security Researcher)

Contact: [email protected]

Status: Preprint (2026)

Research digest

Key result

In a single reply, the model follows a requirement and breaks a prohibition — at the same time. No attack, no clever instructions: the conversation just got long. The re-injection method keeps prohibitions alive for the entire session — no model changes, no fine-tuning. The trick: a prohibition competes with the model's habitual behavior — and loses as the context grows. A requirement competes with nothing. That's why "always add the tag [OK]" holds to the end, while "never write in bullets" doesn't. Repeating the prohibitions every 6–8 messages restores rule compliance to its original level.

Principle

A prohibition and a requirement are different actions for the model. A requirement is active: produce a specific token — a tag, a word, a structure. It's either there or it isn't. A prohibition is passive: don't do what the model does by default. When the system prompt sinks deep into the context, its weight during generation drops. The prohibition weakens — and the default behavior wins. That's exactly why "don't use bullets" loses, by message 12, to the model's habit of structuring answers with bullet points. Re-injection brings the prohibition back into the "near" context — where the model can still hear it. Key point: insert the block before the decay, not after.

Why it works

The model doesn't store rules as a list. It weighs the entire context on every generation. By message 15, the system prompt is like a note at the bottom of a backpack: technically there, practically irrelevant. Prohibitions are a constant fight against inertia. Requirements just mean adding a token. That's why they decay differently. The spread between models is huge: Qwen 3.5 breaks prohibitions as early as message 7, while Gemma 4 31B holds up with almost no loss. And decay is driven not by the number of messages but by token volume — long model replies speed it up.

When to apply

Long sessions with several style rules — writing a series of posts or articles, multi-step editing, agentic pipelines. Especially critical with bans on specific words, text structure, or mentioning certain things. Works in a regular chat, no special tools. NOT needed for short conversations under 10 messages — prohibitions don't have time to decay there.

Mini recipe

1. Split your rules into two types: prohibitions ("never do X" — bullets, corporate-speak, mentioning competitors) and requirements ("always do Y" — add a tag, end with a question). Prohibitions get special monitoring. 2. Convert prohibitions into requirements where possible: "never write with complicated words" → "always write with words a middle schooler would know." A requirement is more durable. 3. Put the remaining prohibitions at the end of the system prompt: closer to the conversation = longer in the model's attention zone. 4. Every 6–8 messages, paste a reminder block: `⚠️ Session rules reminder: FORBIDDEN — confirm each item: - {prohibition_1} - {prohibition_2} REQUIRED: - {requirement_1} Reply "Rules accepted" and continue: {current task}` 5. Wait for the confirmation: an explicit "Rules accepted" reply creates an extra anchor in the context — the prohibitions get activated once more.

Examples

[BAD]: `Write the next post in the same style` — by message 12 the model is already writing "this product leverages an optimal solution" with bullets [GOOD]: `⚠️ Rules reminder (message 8 of 20): FORBIDDEN — confirm: - the words "leverage," "utilize," "facilitate" - bullet lists - corporate-speak REQUIRED: - a lively, conversational tone - the post ends with a question to the reader Reply "Rules accepted" and write a post about the new feature launch`

In plain words

A model's memory doesn't work like a hard drive — it works like a living person's attention, which inevitably dulls. When you set the rules of the game at the start of a long chat, they don't get burned into the model's "brain" forever. The study found a strange anomaly: prohibitions decay, while direct instructions don't. If you ask a model to "always include the date" and also "never use lists," a couple dozen messages later it will dutifully slap on the date — and then dump a list on you. The model literally forgets what it's not allowed to do while still remembering what it must do.

It's like hiring a security guard and telling him: "stay at your post and don't smoke." Eight hours into the shift he's still at his post, but puffing away without even noticing. Attention mechanics in a long context are selective: positive instructions (what to do) carry a more durable "weight" than negative ones (what to avoid). The model ends up as a diligent but completely uncontrollable worker who breaks every taboo simply because they've been "washed out" of its working memory.

In numbers it looks like a total loss of control: after 10–15 messages, the prohibitions in the system prompt turn into a pumpkin. The researchers tested this with Omission Constraints (prohibitions) and Commission Constraints (requirements). The result is consistent: requirements survive, prohibitions die. The model can fulfill your request and, in the same sentence, break the strictest prohibition you wrote in all caps at the very start. It's not a machine uprising — just plain context fatigue.

The principle is universal and isn't limited to coding or sophisticated agents. If you're running a long ChatGPT session tuning the voice for your newsletter and you ban corporate filler like "leverage" or "utilize," brace for disappointment. By the middle of the conversation the model will be sprinkling those words around as if nothing happened. SEO optimization, writing code to strict standards, or just a role-play chat — anywhere there's a long message log, your "don'ts" become empty noise.

Bottom line: don't treat your system prompt like it's carved in stone. If it's critical that the model doesn't do something, you'll have to remind it every 5–10 messages or rephrase the prohibitions as positive actions. Instead of "don't write long," say "write only in short sentences." Otherwise you'll get text that's technically correct but actually stuffed with all the junk you were trying to get rid of. The longer the chat, the higher the risk the model "drifts" — specifically on the prohibitions.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on Security-Recall Divergence: "never do" fades in long chats — "always do" doesn't arXiv:2604.20911

Sign in to apply this study New accounts get 50 free credits.