Skip to content

← All guides

Novyx vs Zep

Both provide persistent memory for AI agents. Here's a detailed comparison to help you choose.

TL;DR

Novyx focuses on memory safety with rollback, Replay debugging, Cortex maintenance, cross-tenant threat intelligence, auto defense, and a 107-tool MCP server. Every Novyx customer makes every other customer safer. Zep is a cloud-only service providing conversation memory with classification, user management, and the Graphiti knowledge graph. Zep's Community Edition has been deprecated.

FeatureNovyxZep
Persistent memory
Semantic search
Point-in-time rollback✓ (Magic Rollback)
Cryptographic audit trail✓ (SHA-256 + RSA)
Replay (time-travel debugging)
Cortex (autonomous maintenance)
Knowledge graph✓ (Graphiti)
MCP server107 tools
Threat intelligence✓ (cross-tenant)
Auto defense✓ (self-tuning)
Attack correlation
Conversation classification
User/session managementSessions + SpacesBuilt-in
Circuit breaker✓ (free)
Python SDK
JS/TS SDK
Free tier5,000 memoriesLimited free tier
Eval & CI/CD gate
Self-hostedLocal SQLite mode✗ (CE deprecated)
Open source✗ (CE deprecated)

The Rollback Differentiator

Zep is built around conversation memory — classifying sessions, extracting facts from dialogue, and managing user context. But it has no mechanism for undoing agent mistakes. When a Zep-powered agent extracts an incorrect fact from a conversation, that bad data persists in your memory store indefinitely.

Novyx's Magic Rollback changes this equation entirely. Every memory operation — store, update, delete — is recorded in a SHA-256 hash chain. When something goes wrong, you revert to any point in time with a single API call. The cryptographic audit trail proves the rollback was complete: no orphaned data, no partial reverts, no guessing.

This is especially critical for conversational agents. A single misclassified conversation can cascade into dozens of incorrect memory extractions. With Novyx, you roll back to before the bad conversation was processed. With Zep, you're hunting through individual facts trying to find and delete each one.

Architecture: Composable API vs Conversation Engine

Zep is designed around conversations. It expects chat-style message arrays, classifies them into categories, and extracts facts automatically. This works well if your agent fits that pattern, but becomes limiting when you need to store structured data, non-conversational observations, or memories from multiple sources.

Novyx is a composable memory API. You store whatever you want — conversations, observations, structured data, relationships — and query it with semantic search. It plugs into LangChain, CrewAI, LlamaIndex, and any custom code. Zep's integrations are more tightly coupled to its conversation-first model.

The practical difference: Novyx adapts to your architecture, while Zep asks you to adapt to its conversation model.

Knowledge Graphs: Built-in vs External

Both platforms offer knowledge graph capabilities. Zep uses Graphiti, a temporal knowledge graph focused on episode-based relationships from conversations. Novyx has a built-in knowledge graph with triple storage (subject-predicate-object) that works with any data source, not just conversations.

Novyx also combines its knowledge graph with rollback — you can revert graph relationships alongside memory state, keeping your entire data layer consistent. Graphiti operates independently from Zep's memory, so rolling back graph changes requires separate manual intervention.

When to Choose Novyx

  • You need rollback and time-travel debugging for memory
  • You want autonomous memory maintenance with Cortex
  • You use Cursor or Claude Code and want MCP integration
  • You need a cryptographic audit trail for compliance
  • You want drop-in integrations for LangChain, CrewAI, and LlamaIndex

When to Choose Zep

  • You need conversation classification and structured user management
  • You want a managed cloud service with no infrastructure to maintain
  • You need Graphiti for temporal knowledge graphs

Code Comparison

from novyx import Novyx

nx = Novyx(api_key="YOUR_API_KEY")

# Store
nx.remember("User prefers dark mode", tags=["prefs"])

# Search
results = nx.recall("user preferences")

# Rollback (Novyx-only)
nx.rollback(target="2026-01-15T10:00:00Z")

# Audit trail (Novyx-only)
audit = nx.audit(limit=10)

Start Building with Persistent Memory

5,000 memories free. No credit card required.

Start Free

Enter your email to create your developer account.