Skip to main content
The Entity Memory Store captures structured knowledge about external entities: companies, people, projects, and systems. It accumulates facts about each entity over time.

Basic Usage

Three Types of Knowledge

Facts

Timeless truths: “Uses PostgreSQL”, “Headquarters in San Francisco”, “50 employees”

Events

Time-bound occurrences: “Launched v2.0 on January 15”, “Closed $50M Series B”, “Had 4-hour outage”

Relationships

Entity connections: Jane Smith → CEO → Acme Corp, Acme Corp → competitor_of → Beta Inc

Always Mode

Entities are extracted automatically from conversations.
The tradeoff is an extra LLM call per interaction.

Agentic Mode

The agent receives tools to manage entities explicitly.
Available tools: search_entities, create_entity, update_entity, add_fact, update_fact, delete_fact, add_event, add_relationship

Data Model

Accessing Entity Memory

Context Injection

Relevant entities are injected into the system prompt:

Namespaces

Control who can access entity data:
During a normal agent run, the Agent doesn’t forward a namespace when it calls the Learning Machine, so this falls back to LearningMachine.namespace ("global" by default) instead of the value set on EntityMemoryConfig. Set the same namespace on LearningMachine for it to take effect:

Facts vs Events

Relationship Types

Common patterns for linking entities:
  • People: CEO, CTO, engineer_at, founder, reports_to
  • Companies: competitor_of, partner_of, acquired_by, subsidiary_of
  • Projects: uses, depends_on, integrates_with, owned_by