You've identified a fundamental gap - that meta-cognitive "I could retrieve this" intuition that humans have but LLMs lack.
Our graph approach addresses this:
- Structure knowledge with visible relationship patterns before loading details
- Retrieval system "senses" related information without fetching everything
- Temporal tracking prioritizes recent/relevant information
- Planning recall frequency tracking for higher weightage on accessed facts
In SOL(personal assistant), we guide LLMs to use memory more effectively by providing structured knowledge boundaries. This creates that "I could know this if I looked" capability.
that's the exact problem we've been solving! Context bloat vs. memory depth is the core challenge.
our approach tackles this by being selective, not comprehensive. We don't dump everything into context - instead, we:
- use graph structure to identify truly relevant facts (not just keyword matches)
- leverage temporal tracking to prioritize current information and filter out outdated beliefs
- structure memories as discrete statements that can be included/excluded individually
the big advantage? Instead of retrieving entire conversations or documents, we can pull just the specific facts and relevant episodes needed for a given query.
it's like having a good assistant who knows when to remind you about something relevant without overwhelming you with every tangentially related memory.
the graph structure also gives users more transparency - they can see exactly which memories are influencing responses and why, rather than a black-box retrieval system.
Hey, another co-founder of CORE. Great question about triples vs. fact statements! Your house example actually highlights why we went with a reified graph:
With fact statements, you'd need to decide upfront: is this one "about my house" memory or separate facts? Our approach lets you do both:
Representation flexibility: For your house example, we can model (house, needs repair, attic bath) AND connect it to (attic bathroom, has fixture, bath). The LLM extraction helps maintain consistency, but the graph structure allows both high-level and detailed representations simultaneously.
Updating and deduplication:
- We identify potential duplicates/updates by matching subject-predicate patterns
- When new information contradicts old (e.g., repair completed), we don't delete - we mark the old statement invalid at timestamp X and create a new valid statement
- This maintains a complete history while still showing the current state
- The structured format makes conflicts explicit rather than buried in text
The schema isn't rigid - we have predefined types (Person, Place, etc.), but relationships form dynamically. This gives structure where helpful, but flexibility where needed.
In practice, we've found this approach more deterministic for tracking knowledge evolution while still preserving the context and nuance of natural language through provenance links.
https://github.com/RedPlanetHQ/core/blob/main/README.md You can check in our readme on how to use mcp server