Главная цель - не просто уменьшить количество токенов, а сохранить смысл. Плохое сжатие выбрасывает детали, которые потом оказываются важными: запреты пользователя, точные числа, источник факта, статус approval или причину отказа. Хорошее сжатие отделяет главное от шума и оставляет путь к проверке.
В AI-агентах context compression часто работает вместе с памятью и RAG. Старые сообщения можно сжать в summary, важные факты положить в долговременную память, документы оставить в векторном поиске, а в prompt передавать только то, что нужно для текущего шага.
Сжатие особенно полезно в длинных задачах: анализ документов, поддержка клиентов, code review, исследование рынка, multi-agent workflow и работа с базой знаний. Без него агент начинает тратить токены на старую переписку, терять актуальный контекст или упираться в лимит модели.
Но context compression требует контроля качества. Нужно проверять, какие факты попали в summary, какие были отброшены, не появилась ли галлюцинация в сжатом контексте и можно ли восстановить исходный источник. Для важных сценариев compression-summary лучше хранить вместе с trace и версией.
Примеры
- После 40 сообщений агент сжимает диалог в блок: цель пользователя, принятые решения, запреты, открытые вопросы и ссылки на файлы.
- В support-чате старые реплики превращаются в краткое резюме: проблема клиента, что уже пробовали, текущий статус и следующий шаг.
- При анализе договора агент сохраняет не весь текст, а список спорных пунктов, рисков, версий правок и ссылок на абзацы.
- В code review длинный diff сжимается до списка измененных модулей, рисков, тестов и мест, которые требуют проверки.
- Если RAG вернул десять фрагментов, compression оставляет только релевантные факты и citations, а не весь сырой текст.
- Перед новым шагом LangGraph узел обновляет summary state, чтобы следующий узел получил короткий, но полный контекст.
Где используется
- длинные диалоги с ИИ-ассистентом
- память ИИ-агента между шагами workflow
- снижение расхода токенов
- работа с большими документами и RAG
- сжатие trace после tool calls
- подготовка контекста для следующего агента
- поддержка клиентов с длинной историей обращений
- code review и анализ больших изменений
- исследовательские задачи и дайджесты
- контроль качества перед сохранением в long-term memory
Связанные термины
Частые вопросы
Context compression - это просто краткое summary?
Не совсем. Summary пересказывает текст, а context compression должна сохранять рабочий контекст: факты, решения, ограничения, статусы, источники и то, что важно для следующих действий агента.
Когда нужно сжимать контекст?
Когда история или документы начинают занимать слишком много токенов, мешают модели видеть актуальную задачу или делают запуск дорогим и медленным.
Что нельзя терять при сжатии?
Точные числа, даты, запреты, согласия, источники, pending-задачи, решения человека, ошибки инструментов и любые факты, которые влияют на безопасность или деньги.
Чем сжатие контекста отличается от RAG?
RAG ищет нужные фрагменты во внешней базе знаний. Context compression сжимает уже доступный контекст: диалог, trace, результаты поиска, документы или состояние агента.
Какая главная ошибка в context compression?
Сжимать слишком агрессивно. Агент получает красивое короткое summary, но без источников и важных деталей, поэтому начинает уверенно ошибаться.
Как проверять качество сжатого контекста?
Нужно сравнивать summary с исходным контекстом, тестировать вопросы по важным деталям, хранить ссылки на источники и логировать, какая версия summary использовалась.