Compaction Module
The compaction module provides automatic context management for long conversations, including message summarization and intelligent pruning.Installation
Features
- Message summarization
- Context window management
- Token counting and limits
- Intelligent message pruning
Quick Start
Classes
ContextCompactor
Main class for compacting conversation context with anti-injection framing.Constructor
Methods
CompactionConfig
Configuration for compaction behavior with anti-injection features.Module Constants
Importable constants for customization:Attributes
CompactionStrategy
Available compaction strategies.CompactionResult
Result of a compaction operation.Attributes
Methods
Note: Compacted messages may include
_compacted=True, _anti_injection=True, and _original_count=N metadata flags.
Protocols
New protocol interfaces for extending compaction behavior (added in PR #1910).ToolResultPrunerProtocol
Protocol for custom tool result pruning logic.MessageFormatterProtocol
Protocol for custom message formatting before LLM summarization.SummaryBuilderProtocol
Protocol for custom structured summary building.Injecting Custom Protocols
Usage Examples
Basic Compaction
Async Compaction with LLM
With Agent
Summarize Strategy
Sliding Window
Best Practices
- Set appropriate limits - Balance context vs. cost
- Preserve important messages - Keep system prompts and recent context
- Use summarization - Better than truncation for continuity
- Monitor token usage - Track compaction frequency

