Siestai
Memory Architecture

Memory Architecture

Overview of the Siestai memory system — how agents remember, learn, and build context across conversations

The Memory Architecture is the intelligence layer that gives Siestai agents persistent knowledge. It enables agents to remember facts, preferences, decisions, and learnings across all interaction surfaces.

High-Level Architecture

graph TD
    A[Interaction Surfaces] --> B[Memory Extraction]
    B --> C[Embedding Service]
    C --> D[Dedup Check]
    D -->|Unique| E[Store in PostgreSQL]
    D -->|Duplicate| F[Update Importance]
    E --> G[pgvector Index]
    G --> H[Context Assembly]
    H --> I[Agent Prompt]

    J[Cron Jobs] --> K[Daily Transitions]
    J --> L[Stale Pruning]
    J --> M[Weekly Consolidation]

Core Components

ComponentLocationPurpose
MemoryServiceapps/api/src/memory/memory.service.tsCRUD, dedup, search, consolidation
EmbeddingServiceapps/api/src/memory/embedding.service.tstext-embedding-3-small (1536 dims)
ContextAssemblyServiceapps/api/src/memory/context-assembly.service.tsLayered context building (16k budget)
MemoryExtractionServiceapps/api/src/arena/memory-extraction.service.tsLLM-powered extraction (claude-haiku-4-5)
DailyFileServiceapps/api/src/memory/daily-file.service.tsDaily activity logs with status transitions
MdFilesServiceapps/api/src/memory/md-files.service.tsAgent/team configuration files
MemoryCronServiceapps/api/src/memory/memory-cron.service.tsScheduled maintenance tasks

Key Design Decisions

  1. In-process Mastra — AI runtime runs inside NestJS, not as a separate service
  2. pgvector for search — HNSW indexes on vector(1536) columns for fast approximate nearest neighbor
  3. Dedup at 0.92 cosine — Prevents memory bloat while allowing nuanced variations
  4. Layered context assembly — 7-layer system with per-layer token budgets totaling 16k
  5. Three-state daily filesactive → warm → archived with time-based transitions

Schema

Pipeline

Operations

On this page