How the memory graph works
Every conversation indexed, linked, and searchable. A look under the hood at the structure that keeps your agent oriented over months.
If you’ve used a chat-based AI for more than a week, you’ve felt the goldfish problem. Context windows have grown, but the *useful* context — the stuff from three weeks ago that matters today — keeps falling off the edge. Froots fixes this with a memory graph. Here’s how it works under the hood.
The shape of the graph
Every conversation, note, file edit, tool call, and routine run lands as a node. Nodes have a type (conversation, note, file, event), a timestamp, raw text, and structured metadata. Edges connect nodes by reference (this note quotes that conversation), by entity (both mention “Acme Corp”), and by time (these three events happened in the same session).
We don’t throw everything at the model. The model sees a *projection* — the subset of the graph that’s relevant to the current task — pulled by a retrieval step that combines vector similarity, recency decay, and explicit links from whatever’s pinned in the active conversation.
Why a graph and not just embeddings
Embeddings alone tell you *what looks similar*. They don’t tell you *what’s actually connected*. A vector search for “refund policy” surfaces ten paragraphs that mention refunds; the graph tells you which of those paragraphs came from the actual policy doc your agent wrote last Tuesday versus a customer email versus a random Slack thread.
We use embeddings for the long tail — semantic recall when you don’t know the right keyword — and the graph for the head: entities, projects, and explicit references you and your agents have already wired up.
Writing into the graph
Every assistant turn ends with a small “memory commit” pass. The model proposes nodes to create, edges to add, and (occasionally) old nodes to deprecate. We never silently overwrite — corrections become new nodes that link to and supersede the old one, so the history is always reconstructable.
This sounds expensive. It isn’t. The commit pass runs on a small fast model, costs cents per day, and the resulting graph compresses years of conversation into something a frontier model can navigate with a single retrieval call.
What you can do with it
The graph is a file. You can grep it, back it up, import it into another tool, or — our favorite — let another agent read it. A research agent that wakes up Monday morning already knows what you were arguing about Friday afternoon, without you having to brief it.