Three Layers of Agent Memory

The biggest lie in the AI assistant space is "memory." Most products that claim memory are doing one of two things: stuffing the last N messages into the context window, or running a keyword search over past conversations. Neither produces the experience of talking to something that actually knows you.

We designed Odigos with three distinct layers of knowledge, each solving a different problem at a different timescale.

Layer 1: Explicit Facts

The simplest layer. When you tell the agent "I prefer Python" or "my deploy target is Ubuntu 22.04," it stores that as a discrete, retrievable fact. This is inspired by how ChatGPT's memory works -- direct statements extracted and stored for future retrieval.

Explicit facts are high-confidence and low-noise. The agent trusts them completely. They're also editable: you can tell the agent to forget something or correct a stored fact.

Layer 2: Learned User Profile

This is where it gets interesting. During idle time, the agent analyzes past conversations to build a profile of the user -- communication style, expertise areas, recurring concerns, preferred level of detail. This happens in the background during the "dream" cycle, inspired by Honcho, a framework for building user representations from interaction history.

The profile isn't just a list of traits. It's a living document that the agent updates as it learns more. Early conversations might produce a vague profile; after weeks of interaction, the agent has a nuanced understanding of how you think and what you need.

Layer 3: Long-Term Recall

Every conversation is embedded and stored for vector search, but we go further: an entity extraction layer maps relationships between people, projects, tools, and concepts into a structured graph. When the agent needs to recall something, it can search by semantic similarity (vector) and by relationship (graph).

This means you can ask "what did we decide about the deployment strategy last month?" and the agent can retrieve not just the conversation where you discussed it, but the related decisions, the people involved, and any follow-up actions that were tracked.

Why Three Layers?

Each layer has different characteristics. Conversation history is immediate but limited by context windows. Vector memory is comprehensive but depends on retrieval quality. Facts are precise but require explicit statements. The user profile is rich but probabilistic. Tactical experiences are actionable but narrow. By combining all five, the agent builds a representation of its owner that no single approach could achieve.

The result is an agent that feels like it actually knows you -- not because it's performing a trick with context windows, but because it's built a genuine model of who you are and what you need.

← All Insights|See the Odigos Case Study|View Source on GitHub

Want to put this to work?

We build and deploy agents based on this research. Tell us what you're trying to solve.