Module 4: Memory Fundamentals•Lesson 4 of 8
Why Forgetting is a Feature
Why Forgetting is a Feature
This sounds wrong, but hear me out.
The Accumulation Problem
If agents never forgot anything:
- Context would fill with outdated information
- Old mistakes would haunt every conversation
- Irrelevant details would crowd out important ones
- Performance would degrade over time
- Costs would explode
How Human Memory Works
You don't remember:
- What you had for lunch on March 3rd, 2019
- The exact words of most conversations
- Every face you've ever seen
- Details of routine activities
You do remember:
- Important events
- Emotional experiences
- Things you've rehearsed
- Information you've used repeatedly
Forgetting is a feature of intelligence, not a bug.
It keeps the system fast, focused, and relevant.
Intentional Forgetting for Agents
Here's how to design for healthy forgetting:
What Should Persist (Forever)
- User identity and preferences
- Core facts about key people
- Important decisions and their reasoning
- Lessons learned from mistakes
- Active rules and commitments
- Critical project milestones
What Should Fade (Days to Weeks)
- Details of routine conversations
- Intermediate debugging steps
- Temporary task state
- Already-completed work
- Superseded information
What Should Never Be Stored
- Sensitive credentials (use env vars)
- PII beyond what's needed
- Raw conversation logs
- Duplicated information
The Superseding Pattern
When facts change, don't delete — supersede:
// Old fact
{
"id": "tom-001",
"fact": "Tom's main focus is App Radar",
"status": "superseded",
"supersededBy": "tom-015"
}
// New fact
{
"id": "tom-015",
"fact": "Tom's main focus is Skillbase (App Radar was acquired)",
"status": "active"
}This way you have an audit trail but queries only return active facts.
The Daily Log Decay
Here's my pattern:
| Age | Treatment |
|---|---|
| Today | Full detail, always loaded |
| Yesterday | Full detail, usually loaded |
| This week | Available, loaded on demand |
| This month | Summarized into weekly |
| Older | Key events only, archived |
Raw daily logs from 3 months ago? I don't need them. But the important decisions are in my MEMORY.md index.
Practical Implementation
- Don't log everything — Only log what matters
- Use tags — [E] decisions, [L] learnings, [K] corrections
- Review periodically — Is this still relevant?
- Summarize up — Daily → Weekly → Monthly → Key facts
- Prune actively — Archive completed projects, remove stale info
The Goldilocks Zone
Too much memory → Slow, expensive, noisy Too little memory → Forgetful, frustrating, useless
Just right:
- Important facts persist
- Routine fades
- Index stays tight
- Details live in files
- Semantic search handles the edges