Compact
Сжатие разговора при заполнении контекстного окна — модель пересказывает историю коротко
Определение
Когда контекстное окно заполняется на 80-90%, происходит compact — модель перечитывает всю переписку, выделяет ключевые моменты и заменяет детали коротким резюме. Разговор продолжается, но часть информации потеряна: конкретные формулировки, промежуточные решения, нюансы. Как попросить кого-то пересказать двухчасовой разговор за минуту — суть останется, но детали исчезнут.
Как выглядит
В Claude Code
Compact — явный механизм:
- Команда
/compact— принудительное сжатие - Автоматический compact при заполнении окна — видно сообщение о сжатии
/compact [фокус]— сжатие с акцентом на конкретную тему
В обычных чат-ботах
В ChatGPT, Claude, Gemini то же самое происходит незаметно. Модель просто начинает хуже помнить начало разговора — и вы не знаете, когда это произошло.
Что теряется при compact
| Сохраняется | Теряется |
|---|---|
| Общая цель задачи | Конкретные формулировки промптов |
| Ключевые решения | Промежуточные варианты |
| Названия файлов | Детали изменений в коде |
| Итоговый результат | Цепочка рассуждений |
Альтернативы compact
Compact ненадёжен для сохранения важной информации. Лучшие стратегии:
| Стратегия | Как работает |
|---|---|
| GitHub Issues | Persistent storage между сессиями, доступны через API |
| CLAUDE.md | Агент читает при каждом запуске — не нужно «вспоминать» |
| Hooks | Автоматическая фиксация прогресса в Issues при завершении сессии |
| Новый чат | Чистый контекст с ключевой информацией вместо сжатого мусора |
Правило: важные решения фиксируйте отдельно (файл, issue, заметка), а не полагайтесь на память модели.
Как распознать деградацию
Признаки того, что контекст переполнен и compact скоро сработает (или уже сработал):
- Агент забывает решения, принятые ранее в разговоре
- Стиль ответов меняется — агент перестаёт следовать ранним инструкциям
- Появляются повторные вопросы о том, что уже обсуждалось
- В Claude Code: явное сообщение «Context compacted»
Что делать: зафиксировать текущий прогресс в issue/файл → начать новый чат.
В курсе
| Урок | Контекст |
|---|---|
| Урок 4 | Compact назван ненадёжным. Студентам рекомендуется хранить контекст в GitHub Issues — они сохраняются между сессиями и доступны через API. Хуки автоматически фиксируют прогресс |
/compact vs /clear
| Команда | Что делает | Когда использовать |
|---|---|---|
/compact | Сжимает историю, сохраняя суть | Контекст заполнен, но задача не закончена |
/compact [тема] | Сжимает с фокусом на теме | Нужно сохранить контекст конкретной области |
/clear | Полностью очищает контекст | Новая задача, старый контекст не нужен |
Ссылки
- Claude Code Best Practices — Anthropic
- Managing Context Window: Clear vs Compact
- What is Claude Code Auto-Compact — ClaudeLog
Связанное
- Контекст — compact происходит при заполнении контекстного окна
- CLAUDE.md — альтернатива compact для сохранения правил
- Hooks — автоматическая фиксация прогресса при завершении
- Управление контекстом — полный гайд по стратегиям