The Three Retrieval Channels Every Serious AI Memory System Needs

6 minMemplex

Vector-only retrieval is one tool solving every problem. Memplex uses three retrieval channels — lexical, semantic, graph — and weights them per query. Here's why a single channel always falls short.

The Three Retrieval Channels Every Serious AI Memory System Needs

The dominant default in AI memory today is vector retrieval: embed everything, retrieve by cosine similarity. It's a single channel solving every problem, which is why it returns mediocre results across the board.

Memplex retrieval is hybrid. Three channels, weighted per query. Each one is the right tool for a specific kind of question.

Lexical retrieval (BM25-style)

Lexical retrieval matches the surface form of words. It's what a search engine does — find documents that contain "auth_middleware.ts" or "PR #842" or a specific person's name.

When lexical wins:

  • Looking up a specific identifier (file path, ticket number, function name)
  • Finding exact-quote matches when the user remembers a phrase
  • Disambiguating when there are many semantically similar items but one with the right keyword

When lexical fails:

  • Conceptual queries where the keywords don't appear in the source ("how should we handle long-running tasks?")
  • Synonym-heavy domains where the user's vocabulary doesn't match the source's

Most AI memory systems either don't have a lexical channel at all, or have a primitive one. This is a mistake — lexical retrieval is unreasonably effective for the specific queries it handles.

Semantic retrieval (embeddings)

Semantic retrieval matches by meaning. Embed the query, embed the candidates, return the ones whose vectors are nearest.

When semantic wins:

  • Conceptual queries with no exact-keyword match
  • Cross-lingual queries (mostly)
  • "Find me things similar to this paragraph"

When semantic fails:

  • Precise lookups (embeddings are bad at "auth_middleware.ts" because the surface form matters)
  • Relational queries (semantic similarity is not the same as structural connection)
  • Long-range structure (embeddings flatten to a vector; a long document loses its shape)

Vector-only RAG is the case where you use this channel for everything. It's the most flexible single channel, which is why people default to it. It is also wrong for any query where the actual question isn't "what's near this in meaning."

Graph traversal

Graph retrieval walks the structure of your memory graph. Entities and edges are first-class; the query specifies a starting node and a set of traversal rules.

When graph wins:

  • "What decisions are connected to Project Atlas in the last 90 days?"
  • "Who owns this task, what depends on it, what blocks it?"
  • "Find every artifact that references this person and was created after this date"
  • "Show me the decision history that led to the current architecture"

When graph fails:

  • Open-ended exploratory queries with no clear starting entity
  • Queries where the relevant memories aren't yet connected in the graph

Graph traversal is the channel most AI memory systems don't have, which is why they struggle with relational queries. It's also the channel where Atlassian saw the biggest accuracy gains in their published comparison — 44% more accurate, 48% fewer tokens, because traversal returns exactly the connected context instead of guessing it from similarity.

The router

The three channels don't run together by default. The router weighs them per query based on the task hint and destination policy.

Some examples of how the weights shift:

  • "Find me the implementation of processAuth" → lexical 0.8, semantic 0.1, traversal 0.1
  • "What were our concerns about the migration?" → lexical 0.2, semantic 0.5, traversal 0.3
  • "Show me everything connected to the auth migration decision" → lexical 0.1, semantic 0.2, traversal 0.7
  • "Summarize what's happening in Project Atlas right now" → lexical 0.1, semantic 0.3, traversal 0.6

The router uses the task hint from the request, the destination's typical patterns, and a small classifier trained on labeled query examples. The weights are exposed in the explain_inclusion trace so you can see exactly how the system reasoned about your query.

Why hybrid wins

A single-channel system is wrong half the time and right the other half. A hybrid system, with a competent router, is right more often than any of its component channels.

This is empirically true in classical IR systems (BM25 + dense retrieval beats either alone in basically every benchmark) and it's true in AI memory. The question isn't whether to be hybrid; it's whether you've built a router smart enough to make the channels worth more than the sum of their parts.

Memplex's router is one of the most carefully tuned pieces of the system. It's also one of the most invisible — most users never know there are three channels at all. That's how it should be.

RetrievalRAGAI Architecture

● More from Memplex