AI agents forget everything between runs. Every session starts cold. No memory of your voice, your standards, your last ten decisions. The fix is not a better prompt. It is a persistent second brain the agent loads before it does anything. That second brain is the difference between an agent that works for you and one that works from scratch.
Why Do AI Agents Forget Everything Between Sessions?
AI agents run on a context window. Think of it as short-term memory. Whatever you feed into the prompt, the agent can work with. The moment that session ends, the context window is gone. Destroyed. There is no carry-forward.
This is not a bug in any one tool. It is how the architecture works. Large language models do not have persistent memory baked in. They process what is in front of them right now and produce output. When "right now" ends, everything that was in front of them disappears.
So your agent does not know what it decided last Tuesday. It does not remember the voice rules you spent twenty minutes explaining. It does not recall that you already rejected a certain approach twice. Every run is day one.
Here is what this actually looks like. I ask Claude Code to write a blog post for my audience. Cold start. It opens with "In today's rapidly evolving landscape of artificial intelligence..." I correct it. Explain the voice. Short sentences. No filler. Contrarian opener. Operator audience, not academics. It nails the rest of the session. Great output.
Next day, new session. Same task. "In today's rapidly evolving landscape..." Same default. Same correction. Same twenty minutes getting the agent back to where it already was yesterday. Multiply that across every session, every workflow, every agent in your stack. You are not doing new work. You are re-teaching the same lessons on repeat.
Now compare that to a warm start. The agent loads a CLAUDE.md file before it writes anything. That file contains: "Open every post with a contrarian, provocative, true claim. Fifth-grade reading level. Short sentences. Never use 'in today's' or 'landscape' or 'delve.'" First output of the session? A clean, punchy opener that sounds like me. No correction needed. No re-teaching. The session starts where the last one ended.
The practical result of cold starting is brutal. You repeat yourself constantly. The agent re-derives conclusions it already reached. It produces output that ignores standards you have already set. It burns tokens on work that should have been settled.
This is not an intelligence problem. The models are genuinely capable. It is a memory problem. And memory is something you have to build yourself.
What Is the Cold-Start Problem (And Why Is It the Root of Every Agent Failure)?
The cold-start problem is the name for what happens when an agent begins every run with zero context. No memory of prior work. No awareness of your standards. No knowledge of decisions already made. It re-derives everything from zero, every single time.
This matters because most of the agent failures people complain about are symptoms of this one root cause.
When your agent burns through tokens in agentic loops that repeat the same failed approach, that is the cold-start problem showing up in agentic loops. The agent has no memory of what it already tried. It cannot learn from its own prior runs because those runs are gone. So it loops.
When your AI-generated content reads like it was written by a committee of strangers, the same root cause is behind generic AI content. The agent has no access to your voice, your positioning, or the specific way you talk to your audience. It defaults to the statistical average of all the text it was trained on. Which sounds like everyone and no one.
Loops and generic content are the symptoms. Forgetting is the disease.
Once you see this pattern, you start noticing it everywhere. An agent that asks you the same clarifying question it asked three sessions ago. An agent that proposes a solution you explicitly rejected last week. An agent that writes in a tone you have corrected five times already. Same root cause every time. The agent starts cold.
How the Cold Start Showed Up in My Own Stack
I run OpenClaw as my operations layer. It handles workflows, automations, and operational tasks across my business. It is genuinely capable tooling. I am not exaggerating when I say it can do real work.
But it kept forgetting.
Here is a specific example. I set up a workflow to draft weekly email sequences for The Sprint community. Run one was great. I gave it the positioning, the audience profile, the compliance rules (no income claims, capability framing only, casual tone with contractions). It produced a solid sequence. Right voice, right structure, right CTA routing.
Run two, a week later. Same workflow. The output opened with formal, stiff language. No contractions. Generic "unlock your potential" framing that would get flagged by TikTok's financial opportunity classifier if I ever repurposed it. It had lost the voice completely.
By run three, it was suggesting a CTA structure I had explicitly rejected in run one because it violated my compliance rules. Not because it was being difficult. Because it literally did not know that decision had been made. That context existed in a session that no longer existed.
I found myself keeping a notes doc open next to OpenClaw. Pasting in the same block of instructions at the start of every run. Re-explaining the same standards. Correcting the same defaults. I was becoming the memory layer. The human clipboard between sessions.
This is not a criticism of OpenClaw. I still use it. This is the structural reality of how agents work right now. The most capable agent tool I had still hit the cold-start wall because there was no persistent memory layer connecting one run to the next. The tool could execute. The architecture could not remember. And that gap is exactly what sent me building a persistent memory system.
How Do You Fix the Cold Start? Build a Persistent Second Brain
The fix is not a better prompt. Prompts are ephemeral. They live inside the context window and die with it. The fix is a persistent knowledge layer that exists outside the agent and gets loaded into every run before the agent acts.
Here is what this looks like in practice. This is my actual setup, not a theory.
The knowledge store: Obsidian. I maintain a vault of structured notes that contain my standards, voice rules, positioning, key decisions, and prior work. This is not a giant dump of everything I have ever thought. It is curated. Organized by domain. Updated when decisions change.
The routing layer: CLAUDE.md files. These are markdown files that Claude Code reads automatically at the start of every session. They act as the bridge between the persistent knowledge store and the agent's context window. Different CLAUDE.md files route different context depending on what the agent is about to do.
The result: warm starts. Instead of beginning every run at zero, the agent loads my standards, voice, and relevant prior decisions before it writes a single line. It starts where the last run left off, not where the model's training data suggests it should start.
The full system is what I call the Operator OS. Claude Code handles the build layer (writing code, creating content, technical implementation). OpenClaw handles the ops layer (workflows, automations, recurring operational tasks). And the Obsidian vault with CLAUDE.md routing acts as the memory layer that connects them both. Three tools, one persistent brain underneath. Each tool does what it is best at. The memory layer makes sure none of them start cold.
This is not complicated technology. It is structured markdown files and a routing convention. But the impact is dramatic. The agent stops re-deriving. It stops defaulting to generic output. It stops looping on problems it already solved.
The key insight is that the second brain is not the agent's memory. It is YOUR memory, externalized into a format the agent can consume. You are not teaching the agent to remember. You are giving it access to a knowledge store that persists regardless of whether any individual session survives.
What Goes Into an Agent's Second Brain?
Not everything. The temptation is to dump your entire knowledge base into the agent's context. That is counterproductive. Context windows have limits, and stuffing them with irrelevant information degrades performance.
Here is what actually matters, with real examples from my own knowledge store.
Voice and tone rules. How you write. What words you never use. Sentence length. Paragraph structure. The specific way you open a piece of content. A real entry looks like: "Short paragraphs, 40-60 words max, 2-3 sentences. Fifth-grade reading level. Open every post with a contrarian, provocative, true claim. Banned words: delve, unlock, supercharge, seamless, game-changer. Never use em dashes." These rules are stable. They rarely change. And they are the single biggest lever for making agent output sound like you instead of like a language model averaging across the internet.
Standards and constraints. Your compliance rules. Your legal guardrails. Your formatting conventions. A real entry: "No income claims. No outcome guarantees. Not for the audience, not implied, not hedged with 'results may vary.' Capability framing only. Matt's own history is fair game as biography, never as the reader's forecast." Load these every time.
Prior decisions. Not every decision you have ever made. The ones that are still active and relevant. A real entry: "Tested formal vs casual tone in email sequences. Casual with contractions had measurably higher open rates. Default to casual for all email content going forward." Or: "Question-opening hooks on TikTok outperform statement openers on completion rate. Always open short-form with a question." These prevent the agent from re-litigating settled questions.
Domain context. What is this project? Who is the audience? What has already been published? What is the current state of the work? A real entry: "The blog is top-of-funnel for The Sprint. Audience: founders, operators, agentic coders. Not aspirational dreamers. Cold blog traffic routes to the free masterclass, never straight to the $1 offer." This changes per task, which is why routing matters. The agent working on blog content needs different context than the agent handling operations.
What to leave out. Raw data dumps. Old notes you have not reviewed. Anything you would not brief a new team member on. If it is not relevant to the current task, it adds noise and costs tokens.
The Other Failure Mode: Overloading the Context Window
A bloated second brain is as bad as no second brain at all. Maybe worse, because it costs more tokens and gives you false confidence that the agent "knows" everything.
Context windows are large but not infinite. And even within the window, performance degrades as context grows. More is not better. An agent with 50,000 tokens of relevant context will outperform the same agent with 200,000 tokens of everything you have ever written. The signal gets drowned in noise. The model spends attention budget on irrelevant paragraphs instead of the rules that actually matter for this specific task.
I learned this the hard way. Early on, I tried loading my entire standards vault into every session. Voice rules, compliance rules, positioning docs, decision logs, project status, audience profiles. All of it, every time. The output got worse, not better. The agent would cherry-pick a detail from the wrong context, apply a compliance rule meant for short-form video to a blog post, or get confused by two slightly different phrasings of the same standard.
The fix is routing. Not every task needs every piece of context. A blog writing session needs voice rules, compliance rules, and the content architecture map. It does not need my operational workflows or my product roadmap. A code session needs the technical standards and the current project state. It does not need my email tone rules.
This is what CLAUDE.md files solve. You do not write one giant file. You write several, scoped to different domains. The blog CLAUDE.md has voice and compliance. The code CLAUDE.md has technical standards and architecture decisions. The ops CLAUDE.md has workflow patterns and tool preferences. Each session loads only what it needs.
The discipline is curation, not accumulation. Review your knowledge store regularly. Remove entries that are no longer active. Consolidate duplicates. Keep the file tight. If you would not spend five minutes briefing a new hire on it, it does not belong in the agent's context window.
Why Is Persistent Memory Becoming the Core of Focus Pilot?
This manual system works. I have been running it for months. But it requires me to maintain the knowledge store, update the routing files, and curate what gets loaded into each run. I am still the memory manager.
That is exactly the problem Focus Pilot is being built to solve.
Focus Pilot is designed around persistent memory and context routing as core infrastructure, not a feature bolted onto the side. The idea is simple: agents should start warm every time, automatically, without you manually maintaining the knowledge store and routing layer.
What I am building includes layered memory that separates stable knowledge (voice, standards) from session-specific context (current project state, recent decisions). It includes agent-to-agent coordination so that when one agent makes a decision, other agents in the system know about it. And it includes context routing that loads the right memory for the right task without you hand-curating CLAUDE.md files for every workflow.
This is not a finished product. I am building it in public, inside The Sprint community, with regular updates on what works and what breaks. The architecture is directly informed by the manual system I described above. Every piece of Focus Pilot's memory layer exists because I hit the wall myself and had to build the fix by hand first.
The thesis is straightforward. If forgetting is the root cause of agent failure, then persistent memory is the root fix. And the tool that solves memory at the infrastructure level changes what agents can reliably do.
How Do You Start Building This Today (Without Waiting for Any Tool)?
You do not need Focus Pilot or any specific product to start fixing the cold-start problem right now. The manual version works. Here is the minimum viable setup.
Step one: create a standards file. One markdown document. Put your voice rules, compliance constraints, and formatting standards in it. Keep it under 2,000 words. Be specific. "Short paragraphs, 40-60 words max" is useful. "Write well" is not. The gotcha here: people write aspirational standards instead of actual ones. Do not describe how you wish you wrote. Describe how you actually write when the output is good. Pull from your best existing work, not your imagination.
Step two: create a decisions log. A separate file where you record active decisions. "We position this product as X." "The audience for this content is Y." "We rejected Z approach because of W." Update it when decisions change. Delete entries that are no longer relevant. The mistake people make: they treat this like a journal and never delete anything. Old decisions that are no longer active become noise. If you reversed a decision, remove the old entry. The log should reflect current state, not history.
Step three: load both files at the start of every agent run. If you are using Claude Code, put them in a CLAUDE.md file in your project root. If you are using another tool, paste them into the system prompt or initial context. The mechanism does not matter. What matters is that the agent reads your standards and decisions before it produces output. The gotcha: loading the file is not enough if the file is too long. If your standards file is over 3,000 words, the agent will soft-ignore the parts in the middle. Split it up. Route by task.
Step four: review and update after each run. Did the agent make a decision worth recording? Did it produce output that revealed a missing standard? Add it to the knowledge store. The second brain gets smarter over time, but only if you maintain it. The mistake: setting it up once and never touching it again. A static knowledge store decays. Your standards evolve. Your decisions change. If the second brain is not updated, the agent starts drifting again, just more slowly than a full cold start.
This takes thirty minutes to set up. The payoff is immediate. Your first warm-started run will feel different from every cold-started run you have done before. The agent will sound more like you. It will make fewer redundant decisions. It will waste fewer tokens on work that should have been settled.
The gap between "capable model" and "useful agent" is not intelligence. It is memory. Build the memory layer, and the intelligence you are already paying for starts compounding instead of resetting to zero every session.
Frequently Asked Questions
- Why do AI agents lose context between sessions?
- AI agents operate on a single context window per run. When the session ends, the context window is destroyed. There is no built-in mechanism to carry knowledge, decisions, or standards forward to the next run. Every new session is a blank slate unless you build a persistent memory layer the agent loads on startup.
- What is the cold-start problem in AI agents?
- The cold-start problem is the root cause behind most agent failures. Every time an agent begins a new run, it starts with zero knowledge of your voice, standards, prior decisions, or past work. It re-derives everything from scratch, burning tokens and producing generic output. The fix is loading a persistent second brain before the agent acts.
- How do you give an AI agent long-term memory?
- You build a persistent knowledge layer outside the agent, such as an Obsidian vault or structured markdown files, containing your standards, voice rules, and key decisions. Then you route the relevant context into the agent's prompt at the start of every run using files like CLAUDE.md. The agent reads these before it acts, so it starts warm instead of cold.
- Can AI agents remember what they did in previous runs?
- Not by default. Current AI agents have no native long-term memory. But you can build this yourself by storing summaries of prior runs, key decisions, and outputs in a persistent second brain that gets loaded into the agent's context at startup. This turns every run from a cold start into a warm continuation.
- What is a second brain for AI agents?
- A second brain for AI agents is a structured, persistent knowledge store that lives outside the agent's context window. It contains your standards, voice, decisions, and prior work. Before each run, the relevant sections are loaded into the agent's context so it operates with full awareness of who you are and what you've already decided.
Related Articles
I'm building this in public. Come build with me.
The Sprint: Focus Pilot, live weekly mentorship, and a community of operators who ship with AI.

Matt Ganzak
Founder, The Sprint & ScaleUp Media
25+ years building software companies. Multiple SaaS exits. Bestselling author of The Million Dollar Plan. Writes about running AI agents for real operational work.