SOUL.md rules drift in long AI agent sessions and how to fix it

If your SOUL.md rules work perfectly for the first 10-15 messages but get ignored later in a session, the system isn't broken—your session has outgrown it. This happens because SOUL.md loads once at session start as part of the system prompt, but as conversation context grows (thousands of tokens by message 20), the model pays more attention to recent message patterns than to the initial prompt.
Why SOUL.md rules drift in long sessions
At message 1, SOUL.md is the loudest voice in the room. The model reads and follows it closely. Rules like "never say absolutely," "match my tone," and "be direct, no filler" work perfectly. By message 20-30, the agent starts drifting—"absolutely" creeps back in, responses get longer, filler returns. The SOUL.md is technically still there but gets drowned out by everything that came after.
Think of it like a job description given on day one. By week 3, the employee isn't re-reading it every morning—they're doing what feels right based on recent patterns. If the last 10 conversations were long and detailed, the agent defaults to long and detailed even if SOUL.md said "be brief."
The primary fix: use /new aggressively
This solves 80% of the problem and costs nothing. Most people treat /new as a last resort when things break. Instead, use it constantly before every distinct task:
- Research? /new
- Back to casual chat? /new
- Need to draft an email? /new
Any time your agent's tone starts drifting, /new and the rules snap back. Your agent doesn't lose anything—SOUL.md, USER.md, MEMORY.md all remain. You're just clearing the conversation that was drowning them out.
Break long tasks into short sessions:
- Session 1: "research X and save your findings to a file" /new
- Session 2: "read the file you saved and draft a summary" /new
- Session 3: "review this summary and send it to me on telegram"
Each session starts fresh with SOUL.md fully loaded. The agent never drifts because sessions never get long enough for drift to happen.
SOUL.md formatting tricks that help with drift
Move your hardest rules to the end of the file, not the beginning. LLMs pay more attention to the end of a prompt than the middle. If your SOUL.md is 15 lines long, the model follows lines 12-15 more reliably than lines 1-4, especially as sessions get longer.
Structure example:
# who I am
you are [agent name]. you assist [your name]. professional but casual. match my energy.
how to communicate
short responses unless I ask for detail. answer the question first, then elaborate only if needed.
hard rules (never break these)
never say "absolutely", "great question", "certainly", or "I'd be happy to."
never say a task is done without showing evidence.
never send anything external without my approval.
if you don't know something, say you don't know.
Add a reinforcement line at the very end:
before every response, silently re-read and apply all rules above. this is not optional.
To test this yourself: start a fresh session, send a message, notice how well your rules hold. Have a 30-message conversation, get the agent into long detailed answers, then ask something simple—it'll give another long answer because recent conversation patterns are running the show. Type /new, ask the same question—you'll get short, direct responses with no filler because SOUL.md is back with nothing overriding it.
📖 Read the full source: r/openclaw
👀 See Also

Implementing a Recurring Meditation System for OpenClaw Agent Coherence
A developer shares a structured reflection system for OpenClaw agents using a specific file chain including meditations.md, reflections/*.md, and identity files. The nightly loop involves reviewing and appending to these files to promote insights into durable behavior changes.

Understanding AI Agent Architecture: Deterministic vs Probabilistic Layers
A Reddit user shares a mental model for AI agent systems that separates deterministic layers (scripts, commands, APIs) from probabilistic layers (LLM reasoning and decisions). The key insight: push as much work as possible to the deterministic side.

Running a 1 Trillion Parameter LLM Locally on AMD Ryzen AI Max+ Cluster
AMD demonstrates running the Kimi K2.5 open-source model (375GB, 1 trillion parameters) across four Framework Desktop systems with Ryzen AI Max+ 395 processors using llama.cpp RPC. The guide covers TTM kernel modifications for 120GB VRAM per node and provides two setup options: Lemonade SDK pre-built binaries or manual ROCm 7.0.2 installation.

Mastering Backup: Safeguarding Your OpenClaw Agent
In an era dominated by automation and AI, ensuring the safety of your OpenClaw agent through robust backup strategies is paramount. Learn the essential steps to secure your digital assistant.