> session 1. where do the auth helpers live?
src/lib/auth/
> session 7. where do the auth helpers live?
let me search the codebase...
Same question. Same project. Six sessions apart.
The agent did not get dumber.
The answer never had a place to live.
Most teams treat agent memory as one thing. The conversation window.
You tell the agent something, it holds onto it for the rest of the chat, and when the chat ends the knowledge ends with it.
That is one memory type out of four. The other three are where retention actually lives, and almost nobody fills them.
The symptom looks like forgetting. It is misfiling.
When an agent re-asks something you answered last week, the instinct is "it has no memory."
It has plenty of memory. You put the answer on the wrong shelf.
I have run a multi-tier memory setup across a couple hundred sessions on the same long-lived project. The pattern holds. Forgetting is almost never a model limit. It is a placement error.
The four tiers
Think of agent memory as four shelves, not one drawer.
Tier 1. Working memory. The live conversation. Fast, rich, and gone the moment the window compacts or the session closes. This is the only tier most teams use. It is also the only tier that cannot survive a restart.
Tier 2. Session handoff. A short note the agent writes at the end of a session and reads at the start of the next. It survives exactly one boundary. This is where "what we were doing and what is left" belongs.
Tier 3. Durable project memory. Facts that are true across every session. Conventions, decisions, the reason behind a choice that the code itself does not explain. This is the tier that stops the re-asking. It is also the tier almost everyone leaves empty.
Tier 4. Reference. The code, the docs, the external knowledge. Not loaded by default. Pulled on demand when a task needs it. Large, authoritative, and expensive to drag into the window, so you reach for it only when it is relevant.
The mismatch
Here is the failure in one line.
Teams pour durable facts into Tier 1, then act surprised when Tier 1 evaporates.
A convention you explained in chat is a Tier 3 fact living on a Tier 1 shelf.
A "we decided against X because Y" is Tier 3 wearing Tier 1 clothes.
When the window compacts, the fact goes with it, and the agent re-derives or re-asks.
The model did not forget. You stored a permanent thing in the one place designed to be temporary.
What goes where
The placement rule I use is boring and it works.
- If a fact is true only for this task, leave it in Tier 1.
- If a fact is true for the rest of this session, write it to Tier 2.
- If a fact is true for the life of the project, promote it to Tier 3.
- If a fact is large, authoritative, and only sometimes relevant, leave it in Tier 4 and retrieve it.
The hard part is not the rule. The hard part is the discipline of asking, every time a fact shows up, how long is this true for.
That one question is most of the system.
What does not fix it
The reflexes most teams reach for first.
A bigger conversation window. That buys you a longer Tier 1. It does not give you a Tier 3. The fact still dies on compaction, it dies later instead of sooner.
A more detailed prompt every session. That is you doing Tier 3's work by hand, forever. It holds until the day you forget, and you will.
A second agent that "remembers." Now you have two Tier 1 shelves and the same misfiling problem running twice.
None of these are bad tools. They are the right tools aimed at the wrong tier.
The part I am not pasting
I run a specific wiring under this. What lives in each tier, how a Tier 1 fact gets promoted up to Tier 3, when a tier gets pruned, and how retrieval decides what to pull from Tier 4.
That mechanism is the work, and it is hard to get right without creating a fresh failure mode, a Tier 3 that grows without bound until it poisons every session it loads into.
The tier model above is the part that changes how you think.
The promotion and eviction policy is the part that takes the reps.
The question
Most "the agent has no memory" complaints I see are a Tier 3 that was never filled.
So I want to know where your forgetting actually lives.
When your agent re-asks something it should know, which tier was the answer supposed to be in, and which tier did you actually put it in?
Drop the last thing your agent forgot in the comments. I want to see if the misfiling pattern holds outside my own data.
Top comments (0)