Compaction
Кожна модель має context window — максимальну кількість токенів, які вона може обробити. Коли розмова наближається до цього ліміту, OpenClaw ущільнює старіші повідомлення в підсумок, щоб чат міг продовжуватися.Як це працює
- Старіші ходи розмови підсумовуються в compact entry.
- Підсумок зберігається в session transcript.
- Нещодавні повідомлення зберігаються без змін.
toolResult. Якщо точка
розбиття потрапляє всередину блоку інструмента, OpenClaw зміщує межу так, щоб
пара залишалася разом, а поточний непідсумований хвіст зберігався.
Повна історія розмови залишається на диску. Compaction змінює лише те, що
модель бачить на наступному ході.
Auto-compaction
Auto-compaction типово ввімкнено. Вона запускається, коли сесія наближається до ліміту контексту, або коли модель повертає помилку переповнення контексту (у такому разі OpenClaw виконує compaction і повторює спробу). Типові сигнатури переповнення включаютьrequest_too_large, context length exceeded, input exceeds the maximum number of tokens, input token count exceeds the maximum number of input tokens, input is too long for the model і ollama error: context length exceeded.
Перед compaction OpenClaw автоматично нагадує агенту зберегти важливі
нотатки у файли memory. Це запобігає втраті контексту.
Ручне ущільнення
Введіть/compact у будь-якому чаті, щоб примусово виконати compaction. Додайте інструкції, щоб спрямувати
підсумок:
Використання іншої моделі
Типово compaction використовує основну модель вашого агента. Ви можете використовувати потужнішу модель для кращих підсумків:Сповіщення про початок compaction
Типово compaction виконується без повідомлень. Щоб показувати коротке сповіщення, коли compaction починається, увімкнітьnotifyUser:
Compaction проти pruning
| Compaction | Pruning | |
|---|---|---|
| Що це робить | Підсумовує старішу розмову | Обрізає старі результати інструментів |
| Зберігається? | Так (у session transcript) | Ні (лише в пам’яті, для кожного запиту) |
| Обсяг | Уся розмова | Лише результати інструментів |
Усунення проблем
Compacting занадто часто? Можливо, context window моделі замале, або виводи інструментів завеликі. Спробуйте ввімкнути session pruning. Після compaction контекст здається застарілим? Використовуйте/compact Focus on <topic>, щоб
спрямувати підсумок, або ввімкніть memory flush, щоб нотатки
зберігалися.
Потрібен чистий старт? /new починає нову сесію без compaction.
Для розширеної конфігурації (reserve tokens, збереження ідентифікаторів, custom
context engines, server-side compaction OpenAI) див.
Session Management Deep Dive.
Пов’язане
- Session — керування сесією та життєвий цикл
- Session Pruning — обрізання результатів інструментів
- Context — як будується контекст для ходів агента
- Hooks — hooks життєвого циклу compaction (
before_compaction,after_compaction)