session-compression
AI session compression techniques for managing multi-turn conversations efficiently through summarization, embedding-based retrieval, and intelligent context management.
By bobmatnyc · 590 installs
npx skills add bobmatnyc/claude-mpm-skills --skill session-compression
Source repository · Upstream listing
AI Session Compression Techniques
Summary
Compress long AI conversations to fit context windows while preserving critical information.
Session compression enables production AI applications to manage multi turn conversations efficiently by reducing token usage by 70 95% through summarization, embedding based retrieval, and intelligent context management. Achieve 3 20x compression ratios with minimal performance degradation.
Key Benefits:
Cost Reduction: 80 90% token cost savings through hierarchical memory
Performance: 2x faster responses with compressed context
Scalability: Handle conversations exceeding 1M tokens
Quality: Preserve critical information with <2% accuracy loss
When to Use
Use session compression when:
Multi turn conversations approach context window limits ( 50% capacity)
Long running chat sessions (customer support, tutoring, code assistants)
Token costs become significant (high volume applications)
Response latency increases due to large context
Managing conversation history across multiple sessions
Don't use when:
Short conversations (<10 turns) fitting easily in context
Every detail must be preserved verbatim (legal, compliance)
Single turn or stateless interactions
Context window usage is <30%
Ideal scenarios:
Chatbots with 50+ turn conversations
AI code assistants tracking long development sessions
Customer support with multi session ticket history
Educational tutors with student progress tracking
Multi day collaborative AI workflows
Quick Start
Basic Setup with LangChain
Progressive Compression Pattern
Using Anthropic Prompt Caching (90% Cost Reduction)
Core Concepts
Context Windows and Token Limits
Context window: Maximum tokens an LLM can process in a single request (input + output).
Current limits (2025):
Claude 3.5 Sonnet: 200K tokens (~150K words, ~600 pages)
GPT 4 Turbo: 128K tokens (~96K words, ~384 pages)
Gemini 1.5 Pro: 2M tokens (~1.5M words, ~6000 pages)
Token estimation:
English: ~4 characters per token
Code: ~3 characters per token
Rule of thumb: 1 token ≈ 0.75 words
Why compression matters:
Cost: Claude Sonnet costs $3/$15 per 1M input/output tokens
Latency: Larger contexts increase processing time
Quality: Excessive context can dilute attention on relevant information
Compression Ratios
Compression ratio = Original tokens / Compressed tokens
Industry benchmarks:
Extractive summarization: 2 3x
Abstractive summarization: 5 10x
Hierarchical summarization: 20x+
LLMLingua (prompt compression): 20x with 1.5% accuracy loss
KVzip (KV cache compression): 3 4x with 2x speed improvement
Target ratios by use case:
Customer support: 5 7x (preserve details)
General chat: 8 12x (balance quality/efficiency)
Code assistants: 3 5x (preserve technical accuracy)
Long documents: 15 20x (extract key insights)
Progressive Compression Thresholds
Industry standard pattern:
Implementation guidelines:
70% threshold: Remove duplicate/redundant messages, semantic deduplication
85% threshold: Summarize messages older than 20 turns, keep recent 10 15
95% threshold: Multi level hierarchical summarization + vector store archival
Emergency (100%): Drop least important messages, aggressive summarization
Compression Techniques
1. Summarization Techniques
1.1 Extractive Summarization
Selects key sentences/phrases without modification.
Pros: No hallucination, fast, deterministic
Cons: Limited compression (2 3x), may feel disjointed
Best for: Legal/compliance, short term compression
1.2 Abstractive Summarization
Uses LLMs to semantically condense conversation history.
Pros: Higher compression (5 10x), coherent, synthesizes information
Cons: Risk of hallucination, higher cost, less deterministic
Best for: General chat, customer support, multi session continuity
1.3 Hierarchical Summarization (Multi Level)
Creates summaries of summaries in a tree structure.
Pros: Extreme compression (20x+), handles 1M+ token conversations
Cons: Complex implementation, multiple LLM calls, information loss accumulates
Best for: Long running conversations, multi session applications
Architecture:
Academic reference: "Recursively Summarizing Enables Long Term Dialogue Memory in Large Language Models" (arXiv:2308.15022)
1.4 Rolling Summarization (Continuous)
Continuously compresses conversation with sliding window.
Pros: Low latency, predictable token usage, simple
Cons: Early details over compressed, no information recovery
Best for: Real time chat, streaming conversations
2. Embedding Based Approaches
2.1 RAG (Retrieval Augmented Generation)
Store full conversation in vector database, retrieve only relevant chunks.
Pros: Extremely scalable, no information loss, high relevance
Cons: Requires vector DB infrastructure, retrieval latency
Best for: Knowledge bases, customer support with large history
Vector database options:
ChromaDB: Embedded, easy local development
Pinecone: Managed, 50ms p95 latency
Weaviate: Open source, hybrid search
Qdrant: High performance, payload filtering
2.2 Vector Search and Clustering
Group similar messages into clusters, represent with centroids.
Pros: Reduces redundancy, identifies themes, multi topic handling
Cons: Requires sufficient data, may lose nuances
Best for: Multi topic conversations, meeting summaries
2.3 Semantic Deduplication
Remove semantically similar messages that convey redundant information.
Pros: Reduces redundancy without losing unique content
Cons: Requires threshold tuning, O(n²) complexity
Best for: FAQ systems, repetitive conversations
3. Token Efficient Strategies
3.1 Message Prioritization
Assign importance scores and retain only high priority content.
Pros: Retains most important information, flexible criteria
Cons: Scoring is heuristic based, may break flow
Best for: Mixed importance conversations, filtering noise
3.2 Delta Compression
Store only changes between consecutive messages.
Pros: Highly efficient for incremental changes
Cons: Reconstruction overhead, not suitable for all content
Best for: Code assistants with incremental edits
4. LangChain Memory Types
4.1 ConversationSummaryMemory
Automatically summarizes conversation as it progresses.
Pros: Automatic summarization, simple API
Cons: Every turn triggers LLM call
Best for: Medium conversations (20 50 turns)
4.2 ConversationSummaryBufferMemory
Hybrid: Recent messages verbatim, older summarized.
Pros: Best balance of detail and compression
Cons: Requires token limit tuning
Best for: Most production applications
4.3 ConversationTokenBufferMemory
Maintains fixed token budget, drops oldest when exceeded.
Pros: Predictable token usage, simple
Cons: Loses old information completely
Best for: Real time chat with strict limits
4.4 VectorStoreRetrieverMemory
Stores all messages in vector database, retrieves relevant ones.
Pros: Infinite conversation length, semantic retrieval
Cons: Requires vector DB, retrieval overhead
Best for: Long running conversations, knowledge bases
5. Anthropic Specific Patterns
5.1 Prompt Caching (90% Cost Reduction)
Cache static context to reduce token costs.
Cache TTL: 5 minutes
Savings: 90% cost reduction for cached tokens
Limits: Max 4 cache breakpoints per request
Best practices:
Cache conversation history, not current query
Update cache when context changes significantly
Combine with summarization for maximum efficiency
5.2 Extended Thinking for Compression Planning
Use extended thinking to plan optimal compression strategy.
Production Patterns
Checkpointing and Persistence
Save compression state for recovery and resume.
Resume Workflows
Continue conversations across sessions.
Hybrid Approaches (Best Practice)
Combine multiple techniques for optimal results.
Performance Benchmarks
Compression Efficiency
Technique Compression Ratio Quality Loss Latency Cost Impact
Extractive 2 3x <1% <10ms None
Abstractive 5 10x 2 5% 1 2s +$0.001/turn
Hierarchical 20x+ 5 8% 2 5s +$0.003/turn
LLMLingua 20x 1.5% 500ms None
RAG Variable <1% 100 300ms +$0.0005/turn
Prompt Caching N/A 0% 0ms 90%
Token Savings by Use Case
Customer Support (50 turn conversation):
No compression: ~8,000 tokens/request
Rolling summary: ~2,000 tokens/request (75% reduction)
Hybrid (RAG + summary): ~1,500 tokens/request (81% reduction)
Code Assistant (100 turn session):
No compression: ~25,000 tokens/request
Hierarchical: ~5,000 tokens/request (80% reduction)
Hybrid + caching: ~1,000 tokens/request effective (96% cost reduction)
Educational Tutor (multi session):
No compression: Would exceed context window
RAG + summarization: ~3,000 tokens/request
Infinite session length enabled
Cost Analysis
Example: Claude Sonnet pricing ($3 input, $15 output per 1M tokens)
1,000 conversations, 50 turns each:
No compression:
Avg 8K tokens/request × 50K requests = 400M tokens
Cost: $1,200
With rolling summarization:
Avg 2K tokens/request × 50K requests = 100M tokens
Summarization overhead: +10M tokens
Cost: $330 (72% savings)
With hybrid system + caching:
First turn: 2K tokens (no cache)
Subsequent: 200 tokens effective (90% cache hit)
Total: ~15M tokens effective
Cost: $45 (96% savings)
Tool Recommendations
Memory Management Tools
Mem0 (Recommended for Production)
Best for: Hybrid memory systems with minimal code
Features:
Automatic hierarchical summarization
Built in RAG retrieval
Multi user session management
Analytics dashboard
Pricing: $0.40/1K memory operations
Zep
Best for: Low latency production deployments
Features:
<100ms retrieval latency
Automatic fact extraction
Entity recognition
Session management
Pricing: Open source (self hosted) or $0.50/1K operations (cloud)
ChromaDB
Best for: Self hosted vector storage
Features:
Fully open source
Embedded or client server
Fast local development
Pricing: Free (self hosted)
LangChain
Best for: Rapid prototyping and experimentation
Features:
Multiple memory types
Framework integration
Extensive documentation
Pricing: Free (uses your LLM API costs)
Compression Libraries
LLMLingua
Best for: Extreme compression with minimal quality loss
Features:
20x compression ratios
<2% quality degradation
Fast inference (<500ms)
Pricing: Free (open source)
Use Cases and Patterns
Chatbot (Customer Support)
Requirements:
Multi turn conversations (50 100 turns)
Preserve customer context
Fast response times
Cost efficient
Recommended approach:
ConversationSummaryBufferMemory (LangChain)
70% threshold: Semantic deduplication
85% threshold: Rolling summarization
Prompt caching for frequent patterns
Implementation:
Code Assistant
Requirements:
Long development sessions (100+ turns)
Preserve technical details
Handle large code blocks
Track incremental changes
Recommended approach:
Hierarchical summarization for overall context
RAG retrieval for specific code references
Delta compression for iterative edits
Prompt caching for system prompts
Implementation:
Educational Tutor
Requirements:
Multi session tracking
Student progress persistence
Personalized context retrieval
Long term knowledge retention
Recommended approach:
VectorStoreRetrieverMemory for multi session
Fact extraction for student knowledge
Progressive compression across sessions
Resumable conversations
Implementation: