Skip to main content
This page explains why Persona uses a graph-vector hybrid architecture and how our memory model differs from traditional approaches.

The Nature of Human Memory

Human memory is not a filing cabinet. It is an associative network where thoughts trigger related thoughts through connections that have nothing to do with keyword matching. You remember your wedding not because someone said the word “wedding,” but because you were thinking about your spouse, who is connected to a web of shared experiences, emotions, and mutual friends. This associative structure is what makes human memory so powerful for reasoning. When you ask someone what they think about a topic, they don’t just retrieve documents—they synthesize across experiences, beliefs, and goals that are all interconnected in a personal web of meaning. Building AI systems that truly understand users requires modeling this structure explicitly. Vector similarity can find documents that mention similar words, but it cannot trace the causal chain that connects “I’m feeling stressed” to a project deadline, a relationship tension, and a pattern of poor sleep.

Vector Databases and Their Limits

Vector databases have transformed AI applications by enabling semantic search. You embed text into a high-dimensional space where similar meanings cluster together, then find the nearest neighbors to a query. This works remarkably well for document retrieval and question answering over static corpora. However, vector databases operate on a fundamental assumption: that semantic similarity is the primary signal for relevance. This assumption breaks down for user memory in several ways. First, relevance in personal memory is often structural rather than semantic. The question “What happened before my meeting with Sarah?” requires traversing a temporal chain, not finding documents that mention “Sarah” and “meeting.” A vector database cannot distinguish between “the thing that came before” and “something that sounds similar.” Second, vector databases treat all chunks as equivalent. A fact about the user’s core values has the same status as a passing mention of the weather. There is no native way to say “this memory is fundamental to who they are” versus “this memory is transient context.” Third, vector similarity degrades with scale. As the memory grows to thousands or millions of entries, the nearest neighbors become increasingly noisy. The signal-to-noise ratio drops because semantic similarity is a weak proxy for personal relevance.

Graph Databases and Explicit Structure

Graph databases model data as nodes connected by edges, where both nodes and edges can have properties. This mirrors the structure of human memory more directly than flat tables or vector spaces. In a graph, relationships are first-class citizens. The connection between two memories is not inferred at query time through similarity—it is explicitly stored and can be traversed efficiently. This enables a category of queries that are difficult or impossible with vector search alone. Consider the query “Why do I prefer morning meetings?” In a vector database, you might retrieve chunks that mention “morning” and “meetings,” but you cannot trace the provenance of this preference. In a graph, the preference is stored as a Psyche node that links back to the Episode where it was first observed. The system can show you not just what it knows, but how it knows it. Graphs also support temporal reasoning natively. Episodes can link to each other through PREVIOUS edges, forming a narrative chain. Walking this chain answers questions about sequence and causality: what happened first, what led to what, how did a belief evolve over time.

The Hybrid Approach

Persona combines both paradigms. The graph provides structure, provenance, and temporal reasoning. The vector index provides fuzzy semantic matching for initial retrieval. The retrieval algorithm operates in stages. First, we embed the query and search the vector index to find semantically relevant starting points. These are the “seeds” that anchor the retrieval. Second, we traverse the graph from each seed to expand the context—pulling in connected episodes, related psyche traits, and active goals. Third, we re-rank the combined set by relevance and recency, then format the result as structured context for the LLM. This hybrid approach gives us the best of both worlds. Vector search handles the open-ended “what seems relevant?” question where we don’t know exactly what we’re looking for. Graph traversal handles the structured “what is connected to this?” question where we need to follow explicit relationships.

Memory Types: Episode, Psyche, Goal

Traditional approaches to AI memory often mirror the cognitive science classification of memory into semantic (facts), episodic (events), and procedural (skills). This taxonomy was designed to describe human cognition, but it is not optimized for building AI systems that model users. Persona introduces a different ontology designed specifically for user identity modeling. Episode captures the narrative of what happened. Each episode is a story with context—who was involved, what occurred, what emotions were present. Episodes link to each other in a temporal chain through PREVIOUS edges, enabling the system to understand narrative continuity. When you ask “what did we discuss last time?”, the system walks this chain rather than searching for similar documents. Psyche captures crystallized identity: traits, values, preferences, and beliefs that define who the user is. Unlike episodic facts that describe what happened, psyche nodes describe who the person is independent of any specific event. A psyche trait like “enjoys outdoor activities” persists even when you’re not talking about hiking. It is always available to inform personalization. The key innovation of the Psyche layer is that it separates “facts about the world” from “facts about the user” at the architectural level. Most memory systems treat these identically—a fact is a fact, stored in the same way. Persona makes this distinction explicit because user identity requires special treatment. Your preferences, values, and beliefs should always inform context, not just when the query happens to match their embedding. Goal captures active intent. Goals are stateful—they can be active or completed, urgent or routine. When the system retrieves context, it automatically surfaces active goals to ensure the AI response is action-oriented. A goal like “finish the Q4 roadmap by Friday” persists across sessions and is always relevant when discussing work priorities. This three-layer model is not meant to replace the cognitive science taxonomy. It is designed for a specific purpose: building AI systems that understand and remember users. The Episode/Psyche/Goal distinction maps loosely to episodic, semantic (self-knowledge), and procedural (intent) memory, but with optimizations for machine retrieval rather than human cognition.

Provenance and Explainability

One consequence of graph-native architecture is that every memory has provenance. A Psyche trait is not floating in space—it is linked to the Episode where it was discovered. This enables a form of explainability that pure vector systems cannot provide. When the AI says “you prefer morning meetings,” the system can trace this claim back to a specific conversation where the user expressed this preference. If the user asks “why do you think that?”, the system can show the chain of reasoning: this Psyche node was extracted from this Episode on this date. Provenance matters for trust. Users are more likely to accept personalization when they understand where it comes from. It also matters for correction—if a preference is wrong, the user can identify the source and correct it at the root.

Trade-offs and Choices

No architecture is without trade-offs. Graph databases add complexity compared to pure vector stores. Writes are more expensive because we must maintain edges and constraints. The schema requires upfront design decisions that constrain what can be stored. Persona accepts these trade-offs because we believe they are necessary for genuine user modeling. The alternative—treating user memory as a flat pile of embeddings—is simpler but fundamentally limited. It cannot distinguish between transient facts and core identity. It cannot trace how beliefs evolved. It cannot enforce consistency or provenance. For applications that only need document retrieval, a vector database is the right choice. For applications that need to model a living, evolving user identity, the graph-vector hybrid is the foundation that makes everything else possible.

Further Reading

For more on the concepts explored in this page: