Looking for compaction inside a running tool loop? See In-Loop Compaction.
Quick Start
1
Enable with defaults (one line)
2
Pick a preset
- Conservative
- Balanced (Default)
- Aggressive
3
Custom policy
How It Works
Choose Your Policy
Configuration Options
Presets
CONSERVATIVE_POLICY
BALANCED_POLICY (Default)
AGGRESSIVE_POLICY
Routes (CompactionRoute enum)
Strategies (CompactionStrategy enum)
Tool Output Truncation
Whenaggressive_tool_truncation=True and any tool message content exceeds 1000 characters:
- Threshold: 1000 chars
- Keep: Head 300 chars + tail 200 chars
- Marker:
...[truncated N chars for context budget]...
aggressive_tool_truncation=False to disable this behavior.
Model Overrides
Usemodel_overrides to apply different settings per model:
YAML / dict configuration
Policies serialize viato_dict() / from_dict() for CLI/YAML support:
Deprecation Notice
Common Patterns
Use BALANCED for most agents
Use AGGRESSIVE for token-tight models
Per-model overrides for multi-model agents
Best Practices
Set trigger_at lower than your model's hard limit ratio
Set trigger_at lower than your model's hard limit ratio
The default 0.90 is fine for 128k models. For smaller context windows, consider lowering to 0.80-0.85 to ensure sufficient headroom.
Keep preserve_last_n_turns >= 3
Keep preserve_last_n_turns >= 3
This ensures the agent doesn’t lose the active sub-task or recent conversation context that’s critical for coherent responses.
Use model_overrides for mixed-model workflows
Use model_overrides for mixed-model workflows
If your agent swaps between cheap and large models, set different thresholds to optimize token usage for each model type.
aggressive_tool_truncation=True is the right default
aggressive_tool_truncation=True is the right default
For tool-heavy agents (code execution, web search, RAG), large tool outputs often contain redundant information. Truncation preserves the essential parts.
Related
When the agent is bound to a
session_id, the summaries produced by the policy-driven compactor are persisted automatically — so resume replays the compacted working history (summary + tail). See Compacted Session Resume.Context Compaction
The reactive CompactionConfig system
Compacted Session Resume
Cheap resume via persisted compaction checkpoints
Execution Config
Agent execution configuration options
LLM Context Compression
LLM-driven message-history compression
Intelligent Conversation Compaction
Smart conversation summarization

