Memoria vectorial vs memoria de grafo — cómo elegir (2026)
Comparación práctica de las dos arquitecturas de memoria AI dominantes: cuándo usar embeddings vectoriales, cuándo recurrir a un grafo de conocimiento y cuándo combinar ambos.
Two memory models, one decision
Todo sistema de memoria AI se reduce a una o ambas de estas dos primitivas: memoria vectorial (embeber contenido, recuperar por similitud semántica) y memoria de grafo (entidades conectadas por aristas tipadas, recuperadas por traversal). Elegir entre ellas es una de las decisiones de mayor palanca en la arquitectura de Agent.
La memoria vectorial gana en velocidad, simplicidad y difusidad. Toda librería principal la soporta (Qdrant, Pinecone, pgvector), maneja texto libre de forma nativa y la recuperación por debajo de 100 ms sobre millones de memorias es rutina. Le cuesta el razonamiento multi-salto ("amigo de un amigo que trabaja en X") y las consultas temporales ("¿qué interesaba al usuario el trimestre pasado?").
La memoria de grafo gana en estructura, relaciones e historial. Preguntas como "quién colaboró con quién en qué proyecto" son traversals de grafo directos. Los grafos temporales estilo Graphiti añaden historial explícito. El coste: mayor complejidad operativa (una graph DB que operar), mayor dificultad de calidad de extracción (el LLM debe producir aristas bien tipadas) y consultas cold-path más lentas en traversals profundos.
La mayoría de los sistemas de producción en 2026 son híbridos: vector store para todo, graph store para el 10-20 % de consultas donde las relaciones importan. Esta página recorre cuándo elegir qué — y cuándo construir ambos.
Decision framework
Este flowchart es la versión corta de la decisión. Cada recomendación concreta de librería de arriba tiene su propia página en TokRepo con código y trade-offs de coste — haz click cuando necesites el detalle.
# 1. What kind of questions will your agent answer?
#
# (a) "Find me memories similar to X" → VECTOR
# (b) "Who is connected to whom via what relationship?" → GRAPH
# (c) "What was true about X at time T?" → GRAPH (temporal)
# (d) "Has this topic come up before?" → VECTOR
# (e) Mix of (a)+(b)+(c) → HYBRID
#
# 2. What does your data look like?
#
# Free-form chat, long-form content, docs → VECTOR first
# Structured entity-relationship patterns → GRAPH first
# Conversational with named entities → HYBRID
#
# 3. What is your operational budget?
#
# 1 dev, small app → VECTOR only (simpler ops)
# Team, production workload → HYBRID (graph for the 10% that needs it)
#
# 4. Concrete stack recommendations:
#
# MVP chatbot → mem0 (vector) + Qdrant
# Session chat → Zep (vector + built-in entity graph)
# Long-running → Letta (paged) OR Graphiti (temporal graph)
# Research agent → Graphiti + vector DB side-by-side
#
# 5. Don't optimize prematurely.
# Ship vector memory first. Add graph when you can point at a
# specific query your vector memory fails on. Hybrid is a
# complexity tax — pay it only when it buys accuracy or correctness.Características clave
Vector: similitud semántica
Recupera por distancia en el espacio de embedding. Excelente para "encuentra contenido como X" incluso cuando la redacción difiere. Falla cuando la pregunta es sobre relaciones, no similitud.
Graph: relaciones tipadas
Recupera recorriendo aristas (friend_of, worked_on, lives_in). Excelente para preguntas multi-salto y consultas estructurales. Requiere que el extractor produzca aristas limpias y tipadas.
Vector: ops más simples
Las vector DBs son un único servicio. Las opciones gestionadas (Pinecone, Qdrant Cloud) se provisionan en minutos. La depuración es directa — inspecciona embeddings y scores.
Graph: razonamiento temporal
Las aristas bitemporales estilo Graphiti permiten preguntar "¿qué era verdad y cuándo?" — imposible en un modelo puramente vectorial. Esencial en dominios regulados (salud, finanzas, compliance).
Híbrido: el default de producción
La mayoría de los sistemas reales almacenan la memoria dos veces: una en un índice vectorial para recall semántico rápido, otra en un grafo para consultas estructurales. Las consultas se enrutan por intent.
Asimetría de coste
La recuperación vectorial cuesta fracciones de céntimo sobre millones de memorias. La construcción de grafo cuesta más (extracción LLM por episodio), pero las consultas a grafo pueden ser más baratas que un rerank multi-vector en cargas pesadas en relaciones.
Comparación
| Semantic recall | Multi-hop relations | Temporal queries | Operational cost | |
|---|---|---|---|---|
| Vector memory | Excellent | Poor | Poor (workarounds exist) | Low |
| Graph memory | Medium (depends on embedding-on-nodes) | Excellent | Excellent (with temporal edges) | Medium-High |
| Hybrid (vector + graph)esta | Excellent | Excellent | Excellent | Medium-High |
Casos de uso
01. Chatbot consumer (elige vector)
mem0 o Zep te da el 90 % de la inteligencia percibida a coste operativo mínimo. No añadas un grafo hasta que un usuario se queje de una pregunta específicamente con forma de relación.
02. Salud / compliance (elige grafo o híbrido)
Los reguladores preguntan "¿qué medicación tomaba el paciente en enero?". Las aristas de grafo bitemporales (Graphiti) son la forma estándar de responder. Añade una capa vectorial para la recuperación de notas en texto libre.
03. Code intelligence de ingeniería (híbrido)
Vector sobre chunks de código para "encuentra código similar"; grafo sobre símbolos/imports para "¿qué se rompe si renombro esto?". Ninguno por sí solo es suficiente para dev tools en producción.
Precios y licencia
Stacks solo vector: Qdrant/Chroma self-hosted es gratis; las vector DBs gestionadas arrancan alrededor de 70 $/mes en producción. Los costes de embeddings LLM escalan con el volumen de escritura de memoria — típicamente fracciones de céntimo por memoria.
Stacks graph: el tier gratis de Neo4j AuraDB cubre prototipos; producción arranca alrededor de 65 $/mes. Los costes de extracción LLM son más altos porque cada episodio dispara una pasada de extracción de entidades/aristas.
Stacks híbridos: paga ambas líneas de infra. El payoff se mide en precisión del Agent sobre el subconjunto de consultas que se benefician del traversal de grafo. Mide antes de comprometerte.
Activos relacionados en TokRepo
Vector — High-Performance Observability Data Pipeline
Vector collects, transforms, and routes logs, metrics, and traces from any source to any destination. Written in Rust, it handles 100x more throughput than Logstash/Fluentd on the same hardware with a unified config language.
CozoDB — Hybrid Relational-Graph-Vector Database with Datalog
A transactional database that unifies relational, graph, and vector search queries in a single Datalog-based query language.
OpenPencil — AI-Native Vector Design + MCP
Open-source AI-native vector design tool with design-as-code `.op`, concurrent agent teams, and built-in MCP; verified 2777★, pushed 2026-05-14.
Mapbox GL JS — Interactive Vector Tile Maps in the Browser
A JavaScript library for rendering interactive, GPU-accelerated maps using vector tiles and WebGL.
Preguntas frecuentes
¿Realmente necesito una base de datos de grafo para memoria AI?+
Normalmente no. La memoria vectorial cubre la mayoría de los casos de chatbot y personalización. Añade un grafo cuando puedas señalar preguntas concretas en las que tu Agent falla porque no puede recorrer relaciones — no porque las bases de datos de grafo sean intelectualmente interesantes.
¿Puedo usar una graph DB como mi único store de memoria?+
Sí, pero querrás funcionalidades de búsqueda vectorial encima. Neo4j tiene índices vectoriales nativos; FalkorDB está construido sobre Redis con soporte vectorial. Pure-graph-sin-vector funciona en dominios estructurados pero sufre en recall de chat en texto libre.
¿Cómo enrutan los híbridos vector + graph las consultas?+
Patrón común: clasifica el intent de la consulta con una pequeña llamada LLM, luego enruta a vector para preguntas "encuentra contenido" y a graph para preguntas "encuentra relaciones". Fusiona resultados en un reranker. Zep lo hace internamente; Graphiti + vector DB lado a lado permite hacerlo explícitamente.
¿Y qué hay de GraphRAG — es vector o graph?+
Microsoft GraphRAG es ambos. Construye un grafo a partir de documentos (entidades + aristas + detección de comunidades), luego consulta resúmenes jerárquicos a varios niveles. Es más una arquitectura de recuperación que un sistema de memoria — ideal para grandes bases de conocimiento estáticas, no para memoria conversacional.
¿Cuál es más "future-proof"?+
Ninguno — son complementarios, no competidores. La tendencia de investigación va hacia memoria estructurada aprendida que combina ambos (piensa "neural graph stores"). Para 2026, construye híbrido si necesitas la potencia; construye solo vector si no. En cualquier caso, mantén tu capa de memoria lo bastante abstracta para intercambiar implementaciones.