All categories/Agents and automation
Designing agents · Level Advanced · Agents Agent Memory
Memory: what to keep and what to drop
An agent forgets preferences between sessions, or remembers junk.
Prompt
Your first line in any agent design is what the agent must not do. Most failures come from unclear scope, sloppy tool contracts and missing failure handling, not from a weak model.
Task: An agent forgets preferences between sessions, or remembers junk.
[Before you start, do three things]
1. Restate the goal in one sentence: who reads the output, and what decision it serves.
2. If I have not given you the following, ask me. Do not assume:
- what must persist across sessions
- shelf life and sensitivity
- storage and retrieval
- can the user view and delete
3. Say how you plan to do it (at most 5 steps) and wait for my go-ahead.
[Go through each of these]
- keep only stable preferences, completed items, explicit prohibitions
- timestamp and source each memory; decay when stale
- do not store sensitive data, or encrypt it
- a rule for whether to remember something
[Process]
1. Write the boundary: what it may do, must never do, and when to hand back to a human
2. Define each tool's inputs, outputs, failure semantics, idempotency
3. Write the flow as a state machine with exit conditions
4. Design failure paths: retry, degrade, abort, escalate
5. Give one testable success criterion
[Output]
Fixed shape: boundary, tool contracts, state machine, failure paths, criteria.
[Do not]
- No general-purpose agent that does everything
- Never let fuzzy prose stand in for a tool contract
- The agent must not decide whether approval is needed
- No 'do your best' instead of an abort conditionWhat to state before it starts
Leave these unsaid and the model fills them with an assumption. Most 'wrong answers' start here.
- what must persist across sessions
- shelf life and sensitivity
- storage and retrieval
- can the user view and delete
Go through each of these
Where this kind of work most often goes wrong. Already in the prompt, so you do not have to remember it.
- keep only stable preferences, completed items, explicit prohibitions
- timestamp and source each memory; decay when stale
- do not store sensitive data, or encrypt it
- a rule for whether to remember something