Skip to content

Feature: Memory summarization and compression for long-term retention #7

@cdzzy

Description

@cdzzy

Problem

Agents accumulate thousands of memories over time, but retrieval degrades and storage costs grow. Important memories get lost in noise.

Proposed Solution: Intelligent Memory Compression

const memory = new Engram({
  compression: {
    enabled: true,
    strategy: "importance-based",
    schedule: "daily",
    maxMemoryAge: "30d"  // Compress memories older than 30 days
  }
})

// Before compression
// [100 detailed messages about project discussion]

// After compression
// "Discussed Project X timeline, key decisions: deadline extended to March, need UX review"

Compression Strategies

Strategy Description Use Case
importance-based Keep high-importance, summarize rest General use
temporal Merge consecutive similar memories Event streams
topic-based Cluster and summarize by topic Research agents
llm-summarize Use LLM for semantic compression High-fidelity

API

// Manual compression trigger
await memory.compress({ strategy: "importance-based" })

// Get compression statistics
const stats = await memory.getCompressionStats()
console.log(stats)
// {
//   originalCount: 5000,
//   compressedCount: 800,
//   spaceSaved: "75%",
//   summaryQuality: 0.92
// }

Searchable Compressed Memories

// Compressed summaries are still searchable
const results = await memory.recall("project timeline decisions")
// Returns: compressed summary + link to original if needed

This solves the memory bloat problem for persistent agents.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions