Competition Comparison - Form vs. Function
Introduction: The Shape and Purpose of Memory
The field of AI memory systems is growing fast. New tools appear every few months, each promising better “memory,” “context,” or “reasoning.” Yet behind these terms, it can be difficult to see what truly distinguishes one system from another.
When we talk about memory—whether human or artificial—we are really addressing two intertwined questions: how knowledge is shaped, and how it is used. This duality echoes the classic pairing of form and function: how something takes shape and what that shape enables. The same distinction applies, quite directly, to AI memory systems that attempt to store and recall information. Their graphs, embeddings, and links are not just data structures but design choices about what remembering should mean.
In this article, we use form and function as practical lenses rather than metaphors. By form, we mean the shape of knowledge: how entities, relationships, and context are organized within a graph—whether information is stored as isolated facts or as a connected web of meaning. By function, we mean how that structure behaves in use: how well it supports reasoning, recall, and adaptation—how effectively a system retrieves, integrates, and maintains relevant information over time.
In the sections that follow, we compare how Mem0, Graphiti, and Cognee build their graphs (form), how those structures perform in reasoning and retrieval tasks (function), and which kinds of problems each system is best suited to solve.
Form: How AI Systems Give Shape to Knowledge
Setup
For the analysis, three sentences are fed into the systems:
The goal is show how each system structures information when given the same input. The structure determines what can later be recalled or reasoned about and how each system treats and evaluates data.
Analysis
Below are the three knowledge graphs of Mem0 (l.), Graphiti (m.) and Cognee (r.) shown. Starting with Mem0, we see that all entities were correctly extracted. The three sentences are represented in three isolated webs, failing to connect Munich to Germany, although provided in the third sentence. The edges connecting the entities correctly describe their relationships on a granular level.
Continuing with Graphiti, we see that all key entities are shown. The fed sentences are each represented as individual entities as well. Their relationships are defined as either MENTIONS or RELATES_TO, provding more simplistic insights.
The Cognee knowledge graph also correctly includes all relevant entities. Text chunks and entity types are represented as entities as well. The relationships among entities are correctly and granularly defined on their edges. All three fail to connect Dutch people to the Netherlands, highlighting the limitations of semantic extraction without customization.
All three graphs highlight a different philosopy of knowledge representations. While Mem0 emphasized a minimalistic entity network, Graphiti focuses on a structured grounding and Cognee on multi-layer semantic connections
Function: How Memory Performs in Practice
There’s something undeniably appealing about benchmarks—a single number that seems to tell you which AI or memory system is “better.” It’s a clean, simple story. And yet, reality is anything but. We don’t see single benchmarks as a way to crown winners. Instead, we think of them as useful signals—helpful for understanding specific abilities, but not something to optimize for.
“… you do need to take evaluation seriously in terms of knowledge, but you shouldn't take them seriously in terms of the ultimate goals. So, […] you have to decide like what type of model are you building? What's the characteristics of your system? And then think of evaluations as like unit test for the performance of your system. […] Like you run through that evaluation and that gives you like a signal of how the system is doing in a particular dimension. But […] you don't optimize for these. We build AI systems that go into enterprise. None of our clients ask about like, are you able to win the math Olympiad with this model? That's not what they care about. They care about bringing value to their business. Now, we're curious to know how well we do on math problems because it can be predictive of behavior on other things, but you don't obsess over specific benchmarks. You kind of look at the ROI in terms of what you're trying to build.“
— Joelle Pineau, Chief AI Officer at Cohere, on "The Twenty Minute VC" podcast (November 3, 2025, ~minute 45). Listen to the full episode here.
That said, benchmark performance can still be both informative and illustrative. Informative, because it can serve as a numeric proxy for the measure of function in our form–function framing. And illustrative, because it gives you a simple way to compare systems along one dimension that may matter to real-world behavior. So while our focus remains on meaningful outcomes and real-world performance, we include these benchmarks as one piece of evidence rather than a final judgment.
To gather that evidence, we asked each system to generate answers to questions from a fixed HotpotQA subset and compared those responses to the original “gold” answers. We scored the outputs using four familiar metrics, F1 and Exact Match, LLM/DeepEval supported correctness. We repeated the process multiple times to see how consistently each system performed.
Overall, with each system running on its default settings, Cognee performed slightly better across these measurements compared to LightRAG, Graphiti, and Mem0. But it's worth remembering that none of these systems were optimized for these benchmarks, and each can be tuned to improve on specific metrics. We know for a fact, that Cognee can be fine-tuned to perform even better. In any case, you can explore the exact results yourself by hovering over the chart.
When Form Enables Function
If form is the shape of a memory system, then a rigid form quickly becomes a constraint. Fixed graphs, ingestion paths, or backends limit how well a system can reflect the workflows it is meant to support. Real applications usually need the opposite: a form that can be reshaped to match the work.
This is why Cognee places so much emphasis on flexibility. Every major layer—from ingestion and storage to entity extraction and retrieval—can be customized or extended. A system with a flexible form can support almost any function, and that adaptability tends to matter far more in practice than a single architectural choice.
It also changes how we think about comparisons. Because our system is so flexible, we view these evaluations more as helpful reality checks than as authoritative conclusions. They highlight only a few dimensions of a system that can expand in many directions once it’s tailored to real workflows.
Conclusion
The whole form–function frame was almost a playful way to look at how memory systems actually work, but the contrast holds: structure shapes behavior. Once you see how each system builds and uses its graph, their different strengths make sense. The benchmarks mostly underline the same point: systems tend to perform in line with the shape of the memory they build. So choose the one whose capabilities match your aims. And if you need a system that molds itself to your use case as it grows, Cognee is worth a close look.

Competition Comparison - Form vs. Function

Coming to the Edge: Introducing cognee-RS for Private, On-Device AI Memory



