Skip to main content

Memory Types

Memories are classified into several types based on their nature, stability, and purpose. This classification helps the system determine how to store, score, and retrieve each piece of knowledge.

Core Memory Kinds

Facts

Factual information is objective and verifiable. It is highly stable and decays very slowly.

  • Example: "Customer since 2021", "HQ is in Berlin".
  • Usage: Core entity attributes and historical data.

Preferences

Preferences capture how a subject likes things to be done. They are moderately stable but can change over time.

  • Example: "Prefers concise summaries", "Likes technical details".
  • Usage: Influencing AI behavior and communication style.

Insights

Insights are patterns or observations derived by the agent. They are more dynamic and can be invalidated by new data.

  • Example: "Usually responds within 2 hours", "Tends to focus on budget".
  • Usage: Proactive suggestions and behavioral understanding.

Summaries

Summaries are condensed representations of larger content (conversations, documents).

  • Example: "Summary of Q3 meeting", "Executive summary of Contract X".
  • Usage: Quick context without reading full transcripts.

Profiles

Profiles are identity and demographic data used to build a comprehensive picture of an entity.

  • Example: "Role: CTO", "Industry: SaaS".
  • Usage: Subject identification and high-level categorization.

Memory Structure

A MemoryBlock is the canonical container for a memory. It includes:

  • ID: Unique identifier (mem_...).
  • Kind: The type of memory (Fact, Preference, etc.).
  • Content:
    • text: Natural language representation.
    • structured: Optional JSON data for programmatic use.
  • Subject: Who it's about.
  • Source: Where it came from.
  • Scores: Salience, Confidence, Stability.
  • Tags: Metadata for filtering.
  • Embedding ID: Reference to its vector representation.