· Arneesh Aima · Engineering · 9 min read
Why Memory Is About Connecting Things, Not Storing Them
We talk about memory as if it were a folder of files. In practice, both human recall and useful agent memory work by linking new information to what you already know. Here is how those connections form, why isolated facts fall short, and what that means when you design systems that remember.

When people say they have a good memory, they rarely mean they can replay a perfect recording of the past. They mean they can bring the right idea to mind at the right time. They remember a name when they see a face. They recall a deadline when someone mentions the project. They know how a new detail fits with what they already believe about a person or a place.
That is a different picture from the way many software systems treat memory. We often imagine a database row for each fact, a timestamp, and a search box. Store more rows, find the right row, inject it into a prompt. It sounds tidy. It misses most of what makes memory useful.
This post is about memory as a web of relationships: how humans relate ideas to each other, why that matters for AI assistants, and what you can do in your product when you stop thinking of memory as a pile of notes and start thinking of it as connected knowledge.
The filing cabinet myth
The filing cabinet metaphor is seductive. Every piece of information gets its own slot. Retrieval means opening the right drawer and pulling the right folder.
Real recall does not work that way. Cognitive psychologists have known for decades that memory is reconstructive. You do not read back a file. You rebuild an impression from fragments, and those fragments are linked to other fragments. A smell triggers a summer. A word triggers an argument. A question triggers a fact you have not thought about in months, because the question shares context with something you learned in a different conversation entirely.
That is why two people can witness the same event and remember different details. Each person connects the event to a different set of prior experiences. The event is not stored alone. It is stored in relation to everything else that was active in their mind at the time.
For builders, the lesson is simple. A memory system that only appends isolated sentences will feel flat. It may contain true statements and still fail to feel like understanding.
How new information finds a home
When you learn something new, your brain rarely treats it as a free floating sentence. You attach it to structures you already have. You might call those structures schemas, mental models, or just “what I already know about this topic.”
If someone tells you their dog is afraid of thunderstorms, you do not store that in a void. You link it to your category for that person, your category for pets, maybe your own experiences with anxious animals. Later, when they ask for advice about a weekend trip, you might infer that a loud fireworks show could be a problem. You were never given that exact sentence. You related two ideas across time.
Relating is cheaper than repeating. Once a fact sits in a network, one cue can activate many connected pieces. That is how humans answer questions they were never asked verbatim.
Agents face the same constraint with a different mechanism. They do not have a biological hippocampus. They have context windows, indexes, and prompts. But the product problem rhymes with the human one. If you only store “User has a dog named Pepper” and “User’s dog is scared of loud noises” as two unrelated lines, the model still has to notice that both belong to the same situation when the user asks about travel. Connection can happen at read time inside the model, but only if both facts show up together and the model has enough room to reason. When facts arrive one at a time across weeks of chat, read time connection is unreliable unless your storage layer helps related items surface together.
Cues beat keywords
Try to remember your locker combination from middle school. Nothing happens until something cues that era: a photo, a song, the smell of a gym. The combination was never gone in some absolute sense. It was unreachable until the right association opened a path to it.
Human memory is cue driven. That is why context matters so much. “What did we decide?” is hard. “What did we decide about the logo refresh for the mobile app?” is easier. The extra words narrow the network of possible answers.
Keyword search mimics only the surface of this behavior. It looks for shared tokens. Semantic search goes one step closer to human cues by matching meaning instead of spelling. “Outdoor plans” can relate to a stored fact about hiking even when the words differ. That is a form of artificial relating: the query and the memory meet in a shared space of meaning.
Neither keywords nor vectors fully replace structured relationships. “My manager” and “Sarah Chen” might be the same person in the user’s life, but a vector index will not know that unless both ideas were stored and retrieved in a way that lets the model reconcile them. Relating entities, roles, and aliases is still an open design problem in many agent products.
When memories compete and update
Connections also explain why memory feels messy. You do not only add links. You sometimes weaken old ones. You learned a friend’s phone number, then they changed it. You used to think they lived in Austin, then they moved. Holding both versions with equal weight produces wrong answers, not rich recall.
Human memory resolves some of this through importance, repetition, and time. Agents need explicit rules. Contradictions should not pile up silently. A new fact about diet should not sit beside an outdated allergy note without a policy for which one wins. Good systems treat memory as something that evolves, not something that only grows.
That is another reason isolated storage falls short. If each fact is a row with no notion of topic or entity, you cannot easily say “replace the old address” or “these three statements are all about the same project.” Relating facts to subjects, projects, or people gives you a place to apply updates and to retire stale context without wiping everything.
Episodes, facts, and the thread between them
It helps to separate two roles even when they connect deeply.
Episodic memory is the story: what was said, in what order, on which day. It preserves narrative and accountability. Semantic memory is the distilled picture: what is true now, stripped of the play by play. Humans move between the two constantly. You remember the vacation (episode) and you know your partner hates long car rides (semantic fact drawn from many trips).
Relating the two is what makes an assistant feel coherent. The user should not need to retell the entire origin story every time a fact matters. The system should carry the fact forward while still being able to explain where it came from when trust requires it.
Many products over invest in episodes and under invest in semantics, or the opposite. Episodes without semantics force the model to search old chats again for every new question. Semantics without episodes feel correct but hollow when the user asks “when did I tell you that?” The healthy design keeps a thread: facts linked loosely to the conversations that produced them, so recall can be both fast and honest.
What good connection looks like in software
You do not need a full knowledge graph on day one to respect the idea that memory is relational. You need behaviors that mimic how connected recall behaves.
Store facts in a form that can sit near related facts. Scope by user so one person’s web does not tangle with another’s. When you retrieve, ask for a small neighborhood of meaning around the question, not a single best match. If the user asks about meal planning, surface preferences, restrictions, and schedule constraints together when they exist, because humans answer that kind of question by pulling a cluster, not one card from a deck.
Write with an eye toward subjects. Extraction prompts that produce “User is vegetarian” and “User prefers quick weeknight dinners” give you two hooks into the same area of life. Search that ranks by relevance to the query helps them arrive in the same context window. The model then does what it is good at: gentle inference across statements that already belong together.
Be deliberate about time. Not every relation should last forever. Session scoped memory can hold “we are editing slide seven right now” without merging into lifelong profile data. Long lived memory should favor stable traits and goals. The boundary is a product choice, but it is easier to enforce when you know which memories you intended to relate to a person versus to a single afternoon of work.
Why this matters beyond chatbots
Memory shows up anywhere a system is supposed to learn from repeated interaction. Support tools that remember prior tickets. Coding assistants that remember stack choices for a repo. Health coaches that track goals over months. In each case, the user evaluates you on whether new input connects sensibly to old input.
When connection fails, the failure modes look like personality, not like engineering. The assistant feels scattered, contradictory, or oddly amnesiac about one topic while obsessed with another. Users rarely say “your vector index returned a suboptimal single fact.” They say “it forgot” or “it keeps bringing up something I corrected.”
Designing for connection is how you prevent those feelings. You choose what to extract, how to group it, how to retrieve bundles of related context, and how to retire what is no longer true. The model’s raw intelligence cannot substitute for that structure.
Memory is relational all the way down
Whether you are building for humans or for agents, the through line is the same. Memory is not maximal storage. It is selective linking: new information attached to old information in ways that future questions can reactivate.
Humans do this with cues, schemas, and emotion. Agents do it with scopes, embeddings, extraction, and thoughtful retrieval. The implementation differs. The shape of the problem does not.
If you are working on an agent in TypeScript and want a pipeline that turns conversation into searchable, scoped facts, turbomem is built for that layer. The architecture guide explains extraction and semantic search in detail. For a broader look at working, episodic, and semantic layers together, see The Three Kinds of Memory Every Agent Needs on this blog.
If you want to talk through how memory should connect in your product, reach out via the contact page or on GitHub.



