Why you'd want it
Graphiti turns episodes (raw text or JSON) into entities and relationships and gives each fact a validity window, so when information changes the old fact is invalidated rather than deleted and you can query what was true at any point. New data is added incrementally without recomputing the graph, and retrieval combines semantic embeddings, BM25 keyword search and graph traversal. Every fact traces back to the episode that produced it, custom entity and edge types are defined with Pydantic models, and a bundled MCP server lets assistants add and search memory.
Best for
- Agents working on data that changes over time
- Memory that needs provenance back to sources
- Teams comfortable running a graph database
Use it when
You need agent memory that answers questions about relationships and history, not just similar text chunks.
Skip it if
You do not want to run a graph database: Graphiti needs Neo4j, FalkorDB or Amazon Neptune plus an LLM with structured output, OpenAI by default. Zep is the managed option from the same team, and anonymous telemetry is on by default (opt out with GRAPHITI_TELEMETRY_ENABLED=false).