@agentlib/memory
Memory providers for AgentLIB — manage conversation history and context across agent runs.Installation
Overview
The@agentlib/memory package provides several memory implementations for managing agent conversation history:
- BufferMemory: Simple in-memory buffer with message limit
- SlidingWindowMemory: Token-aware sliding window
- SummarizingMemory: Automatic summarization of old context
- CompositeMemory: Combine multiple memory strategies
MemoryProvider interface from @agentlib/core.
Memory Providers
BufferMemory
Simplest in-process memory that stores messages in a Map keyed by sessionId.- Single-process applications
- Development and testing
- Short conversations
- When you need simple message count limits
SlidingWindowMemory
Token-aware memory that tracks conversation turns (user+assistant pairs) and enforces a token budget.- Automatically groups messages into conversation turns
- Trims old turns when exceeding maxTurns
- Applies token budget when reading history
- Tracks estimated token counts
- Production applications with token limits
- Long conversations
- When you need precise context window control
SummarizingMemory
Automatically summarizes old conversation context to reduce token usage while preserving key information.- When message count exceeds
summarizeAfter, old messages are summarized - Recent messages (last
keepRecent) are kept in full - Summary is injected as a system message
- Total tokens stay within
maxTokensbudget
- Very long conversations
- When you need to preserve context but minimize tokens
- Customer support, therapy bots, long-running assistants
CompositeMemory
Combines multiple memory providers with custom merge strategies.- Hybrid memory strategies
- Short-term + long-term memory separation
- Combining in-memory with persistent storage
- Advanced memory architectures
Common Operations
Session Management
Clearing Memory
Inspecting Memory
Manual Read/Write
Memory Metadata
All memory entries include metadata:Tagging
Token Management
Memory providers use utilities from@agentlib/core for token estimation:
Best Practices
-
Choose the right provider:
- BufferMemory: Simple use cases, development
- SlidingWindowMemory: Production apps with token limits
- SummarizingMemory: Very long conversations
- CompositeMemory: Advanced architectures
-
Set appropriate limits:
-
Use session IDs:
-
Clear stale sessions:
Requirements
- Node.js: >= 18.0.0
- Dependencies:
@agentlib/core(workspace)
Exports
Classes
BufferMemorySlidingWindowMemorySummarizingMemoryCompositeMemory
Types
BufferMemoryConfigSlidingWindowMemoryConfigSummarizingMemoryConfigCompositeMemoryConfig
Related Packages
- @agentlib/core - Core types and utilities
- @agentlib/openai - For SummarizingMemory