Skip to main content

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

  1. Set appropriate limits - Balance context vs. cost
  2. Preserve important messages - Keep system prompts and recent context
  3. Use summarization - Better than truncation for continuity
  4. Monitor token usage - Track compaction frequency