Introducing open source Cambrian Core. Explore
Memory & context

One memory for all your agents

Evidence, facts, and their history in one store that every agent reads and writes through the kernel. Each agent recalls only what its scope allows.

Memory in Core
from cambrian_agent_sdk import CognitiveAgent


class SupportAgent(CognitiveAgent):
    role = "Answers product questions from the team's shared memory."
    seed_recall = True  # recall from shared memory before every run

    def run(self, task):
        # Results arrive already filtered by this agent's scope.
        for hit in self.memory.recall(task.text, top_k=5):
            print(f"{hit['score']:.2f}  {hit['text'][:80]}")

        result = self.think(task)
        self.memory.remember(task.text, source="support_agent", importance=0.6)
        return result


agent = SupportAgent(agent_id="support_agent", version="1.0.0",
                     description="Answers product questions.")

if __name__ == "__main__":
    agent.serve()
Measured, with the bad numbers left in
Every result below is an internal run, recorded with its dataset, date, and caveats. We have no head-to-head comparisons with other products.
See all benchmarks
How it works

An agent is only as good as what it remembers

Most agents start every task from zero. In Cambrian, what one agent learns is there for the next one, within the rules you set.

1

Write once, recall from any agent

An agent stores what it found with its source, session, and importance. Any agent whose scope covers it can recall it later, without passing files around.

2

Ranked by more than similarity

Recall blends semantic similarity with keyword match, coherence, and confidence. On LoCoMo that blend found more of the right memories than plain vector search.

3

Facts keep their history

When a fact changes or two sources disagree, both versions stay. Agents can ask what was true at a point in time, and what contradicts what.

Evaluation

How memory performed in our runs

Each result compares Cambrian with its own earlier version or an alternative we tried, never with another product.

LoCoMo ranking

Blended ranking finds more of the right memories than plain vector search.

Blended ranking (test split)
0.766
As it ships
Plain vector search (test split)
0.662
For comparison
Method and caveats: Recall@10 on a conversation-level train/test split over 10 conversations (train: 0.673 → 0.763). The blend of semantic similarity, keyword match, coherence, and confidence was tuned by a coordinate-descent sweep on the train split. One corpus only.
Dataset
LoCoMo, 5,880 chunks
Recorded in
ADR-0054, June 2026
Storage

Kept on infrastructure you run

Memory lives in your own PostgreSQL database, next to the kernel. The only text that leaves your servers is what you send to the model providers you configure.

  • Evidence and facts in PostgreSQL with pgvector
  • Separate lanes for what agents know, what they did, and what followed similar situations before
  • Knowledge-graph extraction without an LLM call
  • Local embeddings through Ollama by default
MEMORY RESULTSINTERNAL RUNS
0.766
LoCoMo recall@10, ADR-0054
0.94
LoCoMo recall@100, bge-large
0.703
MuSiQue answer score
244/244
History rows identical, ADR-0106
Controls

You decide what is remembered and who sees it

Scope filtering

Every recall is filtered by the asking agent’s scope inside the kernel, before anything is returned.

Source and importance

Each write records where it came from and how much it matters. Tags you pass can only narrow its classification.

Your embedding model

Pick the provider, model, and dimensions in one config file. The defaults run locally.

Questions about time

Ask about history, contradictions, or a point in time, and get a labelled answer or a named refusal.

Security

Secure by design, not by checklist

Self-hosted

The runtime and your data stay on your infrastructure.

Explained denials

Every denial carries a named reason, like missing_required_tag.

Open source

Read the code that enforces the rules.

FAQ

Evidence (the documents and messages your agents read), the facts drawn from them, and the history of how those facts changed. It all lives in PostgreSQL with pgvector, on infrastructure you run.

Give your agents a shared memory

Cambrian Core is free and open source. Install it, then connect your first agent with the Python SDK.