MarkDB
Concepts

Memory model

How MarkDB turns raw agent traffic into structured, searchable memory.

MarkDB captures agent traffic as events, then derives higher-level artifacts from them.

Events

Every mirrored exchange becomes an event tied to a session:

  • user_message, assistant_message, system_message
  • tool_call, tool_result
  • session_started

Events are de-duplicated by content hash, so a client that replays history on each request doesn't re-store the same turn twice.

Pages and summaries

The enrichment worker rolls events up into pages: compact summarized artifacts that are cheaper to retrieve than raw transcripts. MarkDB builds several levels, from the finest grain to the coarsest:

  • Transcript chunks are windows of raw events, kept close to the source text.
  • Turn summaries cover one user/assistant exchange.
  • Trace summaries cover a tool-use sequence.
  • Session summaries cover a working session.
  • Chat summaries cover an entire conversation thread.
  • Hourly and daily summaries roll activity up by time window.

Each level is tagged with an artifact_kind, so a search result tells you which altitude it came from and you can drill from a daily summary down to the exact raw event behind it.

Why this matters

Long agent histories are mostly noise. By summarizing at several levels and indexing both the raw and summarized forms, MarkDB lets you recall what happened without re-reading every token. You choose the resolution: search the compact summaries for context, then follow the provenance ids down to exact turns and raw events when you need detail.

See Enrichment for how summaries are produced and Hybrid search for how they are retrieved.

On this page