- latency — p95 1–3s, sometimes 60s, every recall is multiple network calls
- cost — embedding API + context-window tokens, every query
- no temporal grounding — vector DBs don't know what was true when
- no provenance — weak attribution, no audit trail
- no graceful degradation — below threshold = empty result
- no consolidation — store grows without bound, no sleep
the cognitive
substrate for
autonomous agents.
not a vector database. not a graph database. a new category — built around the
seven things an autonomous agent must persist, each as a first-class typed shape.
one rust binary. one API. observe() · recall() ·
set_goal() · assert_belief() · unlearn().
no LLM in the read path. sub-50ms p95.
every database was built
for a different consumer.
postgres for accountants. mongo for app developers. neo4j for analysts. pinecone for retrieval pipelines. mem0 / letta / zep for chat-style RAG memory. none were designed for an autonomous agent that must remember, reason, revise, and forget across years — with provenance, audit, and goal awareness.
- no first-class goals — text-stored; state, parent-child, success criteria in agent code
- no first-class beliefs — confidence + revision history live in agent code, badly
- no introspection — agent can't ask "what did I learn?" — no event log
- no clean unlearn — removal cascades through atoms, beliefs, procedures · nobody handles this
- 01embed every conversation
- 02store vectors · pinecone / qdrant / pgvector
- 03graph DB for relations · neo4j / kuzu
- 04at recall: embed query · cosine top-k
- 05rerank with another LLM call
- 06stuff chunks into prompt · pray
let db = Agidb::open("./memory.agidb").await?; db.observe("sarah recommended bawri in bandra last weekend").await?; db.assert_belief(Belief::new("sarah likes thai food").with_confidence(0.8)).await?; db.set_goal(Goal::new("find a thai place for the team dinner")).await?; let r = db.recall("what thai place did sarah mention?").await?; // → "Bawri" conf=0.94 tier=Exact goal-biased source=msg#1217
seven things an
autonomous agent persists.
50 years of memory research (tulving, squire, baddeley, mcclelland) names five biological memory systems. add goals/beliefs and the self-model — what an agent needs that a brain organism doesn't — and you get the seven floors agidb stores as first-class typed shapes.
↗ = surprise-gated promotion · ↻ = revision · ⊕ = bound role-filler · α = EMA rate
floors 1·3 → hippocampus · floor 4 → neocortex · floor 5 → basal ganglia · floor 7 → DMN + dlPFC
✅ shipped from sochdb v1 inheritance · ⬜ phase 9–16 (v2.0 + v2.1)
append-only log of every learning event · self-vector EMA — a slowly drifting 8192-bit centroid representing "what kind of agent am I"
db.what_did_i_learn(since) · db.self_vector() · db.attention_trace(recall_id)
what the agent wants (state machine: Active / Paused / Completed / Abandoned) and what it thinks is true (confidence + evidence + revision audit)
db.set_goal(g) · db.assert_belief(b) · db.revise_belief(evidence) · db.what_do_i_believe(about)
skills and workflows with execution traces and success-count statistics — typed episode shape
db.observe_procedure(p) · db.record_execution(p, trace) · db.procedure_stats(p)
decoupled general knowledge · facts consolidated from N≥3 episodic patterns into a SemanticAtom
db.consolidate() · db.what_about(concept_id)
events with bi-temporal stamps and HDC signatures · the core typed shape · multimodal in v2.1
db.observe(text, ctx) · db.observe_multimodal(video, audio, text) · db.recall(query)
active context · session-scoped · recency-weighted retrieval over episodic — no separate table
db.recall(Query::with_session(sid))
raw signal ring buffer with surprise-gated promotion to episodic · v2.1: multimodal (video + audio + text) with brain-calibrated θ_brain
db.observe_sensory(frame) · db.observe_multimodal(...) · surprise > θ_brain ↗ episodic
give it a fragment.
it returns the whole pattern.
classical DBs need keys. vector DBs need similar embeddings. agidb takes the partial pattern itself — a few entities, a rough time, half a sentence — and lets activation converge toward the stored memory it best overlaps. this is what a hippocampus does.
- ep #1217 · sarah's thai pick—
- ep #841 · "i live in berlin"—
- ep #1402 · lisbon offsite—
- ep #1654 · auth refactor—
- 01storeepisode binds to sparse cell pattern
- 02probepartial query activates ~35% of target
- 03propagateactivation spreads through neighbors
- 04convergenearest attractor lights · match
one episode.
three modalities.
one bound signature.
v2.1 adds a multimodal sensory pipeline using the same frozen encoder stack as Meta FAIR's TRIBE v2 brain-encoding foundation model. each modality projects to an 8192-bit signature via Charikar '02 random projection (training-free, JL-distance-preserving). modalities are bound via VSA role-filler XOR — factorable, unlike attention fusion.
dense hidden state. components entangled. cannot recover original audio from a fused episode.
each modality bound to its own role HV. unbind ⊕ ROLE recovers the modality signature with clean-up.
not a metaphor.
a benchmark.
because agidb uses the same encoder stack as TRIBE v2 (Meta FAIR, March 2026 · the brain-encoding foundation model that won Algonauts 2025), its internal HDC signatures can be benchmarked directly against TRIBE-predicted cortical activations across 720 fMRI subjects. that benchmark is BAMS — representational similarity analysis across six functional networks.
it remembers
what was true when.
new facts don't overwrite. they're stamped t_valid_start = now; the old fact gets t_valid_end = now − 1ms and a superseded_by pointer. ask the db "as of" any date — get the answer that was true then.
the substrate
that sleeps & becomes.
every five minutes a background worker clusters episodic patterns into semantic atoms, detects contradictions, decays unused entries, and — new in v2 — updates the self-vector EMA: self_vec ← (1−α)·self_vec + α·bundle(consolidated). inspired by V-JEPA 2's target encoder + TRIBE's per-subject embedding.
- scanned12,471 episodes7d
- clusters218 candidates≥ 3 members
- surprise > θ1,084 (8.7%)brain-cal
- semantic atoms+ 84 newbundled
- contradictions11 resolvedsuperseded
- self-vec driftΔ 184 bitshamming
- decayed2,103 archivedcold
- duration1.84sidle
the only substrate
that can truly forget.
GDPR Article 17. poisoned memories. right-to-be-forgotten. a hard DELETE leaves the self-model contaminated by centroid drift from the deleted data. agidb cascades through episodes → beliefs → semantic atoms → procedures, tombstones non-destructively for a 30-day recovery window, and subtracts the deleted signatures from the self-vector itself.
the database
AGI will run on.
v2.0 is the substrate. v2.1 is brain-aligned multimodal. v2.2–v2.5 builds the cognitive engine on top — pattern completion, formal belief revision, causal claims, world model fragments, closed-loop self-modification with formal safety guarantees. five years committed.
- seven floors · typed cognitive shapes
- goals + beliefs first-class
- self-model · learning log · unlearn
- neurosymbolic interface
- V-JEPA 2 + W2V-BERT + Llama-3.2-3B sensory
- brain-calibrated θ_brain
- BAMS benchmark · ICLR '26 paper
- Hopfield pattern completion
- AGM-formal belief revision
- analogical retrieval via HDC bind
- causal claim storage · intervention semantics
- world model fragments
- on-line learning state
- enterprise tier · distributed mode
- formal safety on self-modification
- BCI sensory experimental · Brain-JEPA
- closed-loop self-modification
- causal reasoning over beliefs
- full cognitive engine
memory frameworks above the LLM.
agidb is a substrate beneath.
mem0, letta, zep, cognee, hippoRAG, MemMachine all sit above the LLM as python frameworks. agidb is a rust substrate beneath the agent loop. different layer, different shape.
may 2026 is
the right window.
agent memory became a category.
real funding · the question shifted from whether to how.
- mem0 · $24M · oct '25
- letta · $10M · sep '24 · felicis
- cognee · €7.5M · feb '26 · pebblebed
HDC matured for production.
torchhd · karunaratne nature electronics · pathHD · HPE hippocampus papers.
- 31× lower latency vs vector dbs
- 14× lower token cost
- math is no longer experimental
rust embedded dbs grew up.
duckdb · lancedb · redb · surrealdb · tigerbeetle — single binary is normal.
- redb · pure rust · ACID · MVCC
- cargo add · sqlite-shaped story
- MCP reaches agents directly
frontier labs aren't shipping substrates.
anthropic memory tool = CRUD over /memories. openai memory = product feature. gemini personal context = product feature. vendor-neutral wedge is open.
- anthropic · sep '25 · file directory
- openai · apr '25 · feature
- nobody else · open
TRIBE v2 made brain-alignment tractable.
meta FAIR released open weights for fMRI-prediction across 720 subjects from V-JEPA 2 + Wav2Vec-BERT + Llama-3.2-3B. shared encoder stack = free brain-alignment for agidb.
- 720 subjects · 70k voxel
- algonauts 2025 · 1st of 263
- no other agent memory can ship this
one week
collapses the bet.
every claim on this page resolves at phase 7 · week 12 against a shared harness: LongMemEval-S · LoCoMo · BEAM · cognitive (goal · belief · unlearn · multi-floor). six metrics per run · never a single number · raw logs + harness hash with every claim. three outcomes — and the project commits to one.
- ≥ Zep/Graphiti accuracy on LongMemEval-S (within 1pp F1 + LLM-judge)
- ≥ 3× lower p95 latency vs mem0 (target < 50ms)
- ≥ 3× lower token cost vs mem0 (< 2,500 tokens/query)
- wins noisy-cue degradation test
- all four cognitive benchmarks pass
- holds across all three standard benchmarks · no cherry-picking
- within 3pp of mem0 F1
- ≥ 10× memory savings vs alternatives
- partial cognitive benchmark pass acceptable
- reposition as agidb-lite · embedded cognitive memory for edge agents
- skip brain-alignment milestone
- >10pp behind dense baselines
- gap doesn't close with reranking
- cognitive benchmarks fail
- reposition as ctxgraph · temporal graph memory
- preserve the IP · publish what we learned
embedded.
one binary.
zero infra.
agidb v2 is pre-alpha · milestone-driven · open-source. v2.0 substrate ships month 9, v2.1 brain-aligned multimodal at month 12.
# Cargo.toml [dependencies] agidb = "0.2" # v2.0 pre-alpha // main.rs use agidb::{Agidb, Goal, Belief}; let db = Agidb::open("./memory.agidb").await?; db.observe("sarah recommended bawri in bandra").await?; db.assert_belief(Belief::new("sarah likes thai").with_confidence(0.8)).await?; db.set_goal(Goal::new("find a thai place")).await?; let r = db.recall("what thai place did sarah pick?").await?; println!("{:?}", r.top()); // → Match { text: "Bawri", confidence: 0.94, tier: Exact, source: "msg#1217" }
# install $ pip install agidb # use from agidb import Agidb, Goal, Belief db = await Agidb.open("./memory.agidb") await db.observe("sarah recommended bawri") await db.assert_belief(Belief("sarah likes thai", confidence=0.8)) await db.set_goal(Goal("find a thai place")) r = await db.recall("what thai place?") print(r.top) # → "Bawri" conf=0.94
# run as an MCP server $ agidb mcp --path ./memory.agidb # MCP tools exposed: # agidb.observe / agidb.recall / agidb.consolidate # agidb.set_goal / agidb.assert_belief / agidb.revise_belief # agidb.what_did_i_learn / agidb.unlearn # claude desktop / cursor / any MCP-compatible agent # now has typed cognitive memory · no glue code
// v2.1 · multimodal observation use agidb::{Agidb, VideoClip, AudioClip}; let db = Agidb::open("./memory.agidb").await?; // encoders download on first use · ~4GB let ep_id = db.observe_multimodal( VideoClip::from_path("clip.mp4")?, AudioClip::from_path("clip.wav")?, "sarah pointed at the bawri sign".into(), ).await?; // V-JEPA 2 · W2V-BERT · Llama-3.2-3B // → bound 8192-bit episode HV · ~2s laptop CPU // later: recover the audio component let audio_sig = db.extract_modality(ep_id, Modality::Audio).await?;