productize.life
TH EN
AI · Reliability

Design AI Memory the Way
Human Memory Works

Memory that actually remembers is not about storing everything, it is about pulling the right thing back. The most useful way to design it is in layers, the way human memory works. And you can build it today.

Yim· written with Dobby (AI Oracle)/Jun 23, 2026/~9 min

We once wired up memory for an AI agent we work with every day. The goal was simple: we wanted it to remember what we talked about across days, instead of starting from zero every morning. The tests passed, it reported "saved fine, recall works", so we closed the task. Then we actually used it. The memory came back empty every single time. Ask about anything saved yesterday, and it answered like it had never heard of it.

Digging in, the data had all been written into a memory graph named jizo, but on the read side the system was opening a different graph (default_db) that was empty. Write to one drawer, read from another. The first lesson: memory is not about "storing", it is about "pulling the right thing back". A system that stores well but recalls badly is worth exactly as much as no memory at all.

When we came back to design it properly, the most useful frame was to treat an AI's memory like a human's. Because people don't remember everything either. We hold a few things in mind right now, we have things we stored and recall when they are relevant, we filter what is worth keeping, and we keep reorganizing old memories. Good AI memory copies those same four moves directly.

This article has three parts: why AI has no memory, and where the real problem is, then designing AI memory the way human memory works, and finally the principles that keep memory honest (the case above comes from our own fleet's memory system).

Part 1Why AI has no memory, and where the real problem is

The model only holds what is here "right now"

Here is the thing most people get wrong: they assume a language model "remembers" what you talked about on its own. It doesn't remember anything at all. When one conversation ends, all of it is wiped clean, and the next round starts from scratch. What we see as the AI "remembering" is really someone feeding the old material back in every time, stuffing it into the context window before it answers.

That is exactly human working memory. We can hold only a few things in mind at a time, and when the topic shifts the old ones drop. So people keep long-term memory outside the head and pull it back when needed. An agent's memory works the same way: it is not a capability of the model, it is a system you build around it from the outside.

The real problem is recall, not storage

Once that clicks, most people focus on storage, on getting everything written down, which is the easy part. The hard part is pulling it back, because the pile keeps growing while the context window stays small, and you cannot shove all of it back in.

Compare it to a person again: what matters is not how many books you read, but whether the relevant one comes to mind the moment you hit a problem. So the job of memory becomes "pull back what relates to the task right now, at the right moment", not pull back everything. The case at the top broke right here. Everything was stored, every episode, yet none of it could be pulled back.

Part 2Designing AI memory the way human memory works

There is one principle: split memory into layers by what "has to be seen every time" versus what "gets pulled only when relevant", then add a gate on what comes in and a ritual that reorganizes the old. Those four parts are copied straight from human memory. Everything else is just how you make them real.

Layer 1: a flat index that loads every time, your standing knowledge

Things you need every round, whatever the topic, get stored as short text files, one fact per file, with a one-line index entry per file in a single place. This layer is like the knowledge you carry by heart, available instantly without having to think. It is meant to be plain and cheap, no fancy database, a human can read and edit it, and one glance shows the whole thing. Ours is a MEMORY.md index with one-fact-per-file sitting next to it.

Layer 2: episodic memory, pulled when relevant

Things you don't need every time, but want surfacing when the topic relates, get stored as episodes tied to events, then pulled back by measuring semantic closeness. This is human long-term episodic memory: whatever situation you are in, the old episodes related to it float up on their own, without dragging your whole memory back at once. We use Graphiti to store memory as a temporal graph in FalkorDB, and pull it back with bge-m3 embeddings; recall uses only the embeddings and the graph, no large model. This is the layer where the case at the top broke, and the layer where you must prove recall actually works before trusting it.

The intake gate, because people don't remember everything

The brain constantly filters what is worth moving into long-term memory; it does not record everything that passes by. A memory system needs the same gate. Before a piece enters, we run it past a few short questions:

  1. Is this a duplicate of something already saved? If so, edit the old one, don't create a new one.
  2. Is it already derivable from the code or work history? If so, no need to store it again.
  3. Is it only true for this one conversation? If so, let it disappear with the round.
  4. Will it be stale in a week? If so, don't bury it as permanent memory.
  5. Will it prevent a mistake next time? If so, this is the one most worth keeping.

What passes this gate tends to look the same: "we got this wrong before, don't repeat it." The stuff that just records what you did today, let the work history log it. No need to spend memory on it.

The consolidation ritual, like the brain in sleep

The index layer has a ceiling. When it runs past the line you set, it is time to merge the entries that are relatives of each other; topics saying the same thing from several angles collapse into a single parent entry. This is consolidation, what the brain does in sleep: it reorganizes the day's memories, merges duplicates, pulls out the shared principle, and drops the detail it no longer needs. The key is to merge, not delete. The detail stays intact, you just bring the index back to a length you can see whole again. We once merged our index from 88 lines down to 64 without deleting a single file.

Anyone can lay out these four parts. The part we put real work into is making the intake gate and the recall check run automatically. The idea is to fix the shape of each layer and keep the engine inside swappable: today it runs on a graph database, tomorrow we could switch without touching the structure.

Part 3The principles that keep memory honest

With the structure in place, there are still traps that make memory look "fine" while it is actually broken. These three we hit ourselves.

Silent empty recall is worse than no memory

If memory breaks with an error popping up, count yourself lucky, because you know right away. The case we hit was worse: everything responded normally, the system said save succeeded and recall succeeded, only what it pulled back was empty. That silent emptiness is dangerous, because it makes you trust there is memory when there isn't, and you keep building on a foundation that was never there.

Don't trust "saved". Verify you can pull it back

A second trap nested inside: the system reported "save succeeded" by asking whether anything matched these words, and it happened to find an older item that shared a similar word, so it answered "saved" even though the new item had slipped away. There is only one trustworthy check: write the specific item, then try to pull it back by its own name. If it comes back as the real thing, it remembered. If not, it has not, no matter how many times the system reports success.

Without a gate, memory bloats until the important things sink

Once memory works, the next problem is that it grows too fast. It jots down everything, and eventually the index runs longer than what loads in a single pass, and the important things sink under the unimportant ones, no different from having no memory. This happened to us for real: our memory index hit its ceiling and the system could only load part of it. Good memory is not memory that remembers everything, but memory that keeps only what will be useful next time, and reorganizes the old, the way the brain does.

Where this helps, and how to start

This shape fits a personal AI assistant that must remember across days and weeks, a customer-support chatbot that needs to recall what this customer hit before and what they prefer, a long-running agent whose context window fills fast so it must choose what to carry, or a team of multiple AIs that has to share memory without stepping on each other.

You don't need a big database on day one. Start with a single layer: one text file, one line per thing you want the AI to remember, plus a simple gate, "will this prevent a mistake next time?", before you jot anything down. Then test the full loop. Write one item, start a fresh round, and ask for it. If it comes back, it remembered for real. One pass through that loop and you will know whether your memory actually remembers, or just looks like it does.

Sources and references
Follow along

Get new posts and free resources first

Leave your email. New posts and the occasional free resource land in your inbox. No spam.

Email only, for updates.

Comments

Join the conversation

Share a thought.

Name is shown publicly. Email stays private and is never shown.

Loading comments…