What is a cluster?
A cluster is a synthesized summary of a group of related memories. It’s not a new memory. It’s not a retrieval candidate. It’s a compressed, high-level understanding of what a bunch of individual memories have in common. Your agent has dozens of separate memories about your programming preferences. Rust this. Python that. Vim bindings here. Terminal over IDE there. Individually, each one is a fact. Together, they paint a picture. A cluster captures that picture in one sentence:“User strongly prefers low-level systems programming, uses keyboard-centric tools, and avoids GUI-heavy workflows.”Dozens of memories compressed into one insight. Same meaning. Fraction of the footprint.
Why cluster? Because noise kills recall
More memories doesn’t mean better recall. It often means worse. When you search through thousands of facts, you get redundancy. The same answer appears fifteen times in fifteen different wordings. Unique, important but less frequent memories get buried under the weight of repetitive observations. Clustering fights back. By grouping related memories and synthesizing their shared meaning, clusters reduce the dimensionality of the knowledge base without losing information. The original memories are all still there. The cluster just gives the system a higher-level vantage point.How it works
Clustering happens in two phases:
A cluster doesn’t get its summary the moment it’s created. It waits. Synthesizing too early means the summary is based on incomplete information. One memory about Python doesn’t tell you much. Three memories about Python, testing frameworks, and type hints tell you this person cares about correctness and tooling.
Clusters also have a maximum size. Beyond that, they split. Compression only works when the group is coherent.
Clusters and retrieval
Clusters play a supporting role during retrieval:
The answer to “What IDE does the user prefer?” should be the memory that says “User uses Neovim,” not just a cluster summary that says “User prefers keyboard-centric tools.”
So what are they good for?
Clusters are the system’s internal monologue. They help it think about what it knows. Not something the user ever sees directly.