3d dimension reduction of the vector database. Nodes closer to the center (r=0) represent highly abstract, consolidated entries like identity and preferences, while nodes shifting toward the boundary (r=1) capture concrete, granular events.
Hierarchical memory is useful—as seen with RAPTOR, for instance. However, RAG systems do not always return the expected entries, and knowledge graphs can be too coarse-grained. Furthermore, it is difficult to determine which entries are truly important and should be retained or consolidated. This memory employs hyperbolic embeddings for its vector database, enabling a specific type of retrieval that allows an agent to manage the database more effectively. Here is a simple explanation of how it works.
One component of the bot is the vector database, which utilizes “hyperbolic embeddings.” In addition to word embedding, the entries in it have an “abstraction score”, which is a float that determines how abstract the entry is. For example, profiles or preferences have a high score, habits a medium score, and individual activities a low score; these values influence the weighting within HDBSCAN, a density-based clustering algorithm. As shown in the image above, one can visualize the abstraction score as determining the “gravity” of the entries: a “sun” might attract planets, which in turn attract moons, and so on. While the embedding dimensions maintain standard distances, the radius of the ball allows points to undergo a “warp,” bringing them closer together and making them more likely to be clustered. Consequently, this moves beyond flat RAG, as abstract entries impose a structural framework.
The abstraction score serves a second purpose as well: it correlates with the entropy of the entries. This means that more abstract entries have a higher probability of belonging to multiple clusters, whereas concrete entries tend to belong firmly to a single cluster. In the image, more abstract entries appear in shades of gray. As a result, abstract entries occur much more frequently in each retrieval. When a query is processed, the system selects the most similar entry from the vector database and returns the cluster containing that entry. Crucially, the output consists not merely of aggregated text fragments, but of “Spectrum Scenes.” A spectrum scene is a cluster (for example, it can be clustered according to fields of activity) and simultaneously has a balanced mix of very abstract entries, medium-level entries, and concrete entries. An example might be a “Morning Routine” cluster: “The bot is a household robot living with its user in New York. He prefers to wake up with a coffee before heading to work. Every day, I make breakfast at 8:00; the egg needs to boil for 5 minutes.” Thus, it encompasses everything from the abstract to the concrete and centers on a well-defined theme.
The retrieved Spectrum Scene is then processed by an agent capable of deleting, consolidating, or abstracting entries via commands. This agent is tasked with preserving the structure of Spectrum Scenes during retrieval over time; because it receives the Spectrum Scenes as input, it possesses extensive context regarding how a new entry best integrates into existing memory—given that the scenes typically contain information ranging from the bot’s profile down to specific details.
Subsequently, the Spectrum Scene is passed to the Decision Agent, which operates outside the memory system. New input is converted into an episode by an LLM, and an abstraction score is determined before the data is stored in the vector database. In the future, the abstraction score could be derived from logprobs, or a trained embedding model could generate an embedding that incorporates the score.
Poincare Embedding: [1705.08039] Poincaré Embeddings for Learning Hierarchical Representations