Skip to main content

Переполнение и адаптивное сжатие контекстного окна

ДЛЯ АГЕНТАChatGPTClaude

Инженерные паттерны предотвращения фатальных сбоев при исчерпании лимита контекста: Rolling Summaries, свертка состояний и селективное вытеснение устаревшей истории.

1. Обзор концепции и системная проблема

В длительных инженерных проектах агент может работать часами: читать файлы, запускать тесты, получать логи, исправлять ошибки. Рано или поздно даже окно на 200 000 токенов заполняется:

  • Наивный подход: просто обрезать (Truncate) первые сообщения. Но вместе с ними исчезает первичная инструкция пользователя, и агент внезапно "забывает", какую именно задачу он решает.
  • Другой наивный подход: остановить работу и сообщить об ошибке, заставляя пользователя вручную пересказывать все сначала.

Context Window Compaction — это техника непрерывного сжатия истории диалога на лету, которая позволяет агенту вести бесконечные рабочие сессии без падения с ошибкой переполнения и без потери начальных целей.

2. Архитектурная таксономия и ментальная модель

┌─────────────────────────────────────────────────────────────┐
│                 CONTEXT COMPACTION LIFECYCLE                │
├─────────────────────────────────────────────────────────────┤
│ 1. BUFFER MONITORING (Total Tokens: 165k / 200k Limit)      │
│    • Порог срабатывания: 80% заполнения окна                 │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ Trigger Compaction Worker        │
├─────────────────────────────────────────────────────────────┤
│ 2. PARTITIONING & ROLLING SUMMARIZATION                     │
│    ┌─────────────────────────────────────────────────────┐  │
│    │ [PINNED] System Prompt & Core Rules (Immutable)     │  │
│    ├─────────────────────────────────────────────────────┤  │
│    │ [SLICED] Old Turns 1–30 ➔ Distilled into Executive  │  │
│    │          State: "Auth configured, DB migrated"      │  │
│    ├─────────────────────────────────────────────────────┤  │
│    │ [KEPT RAW] Fresh Turns 31–40 (Exact detail for dev) │  │
│    └─────────────────────────────────────────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│ 3. CONTEXT RE-ASSEMBLY: New Size = 45k tokens (Fresh room!) │
└─────────────────────────────────────────────────────────────┘

3. Практические инженерные сценарии в продакшене

01. Бесконечная сессия вайбкодинга в агентском IDE

Разработчик работает в Cursor или Claude Code уже шестой час подряд. Система каждые 40 сообщений незаметно сворачивает старые логи терминала в аккуратный markdown-блок <previous_session_summary>, сохраняя сессию быстрой, дешевой и отзывчивой.

02. Сохранение артефактов решений (Architectural Decision Records)

Во время сжатия агент отдельно сохраняет отклоненные гипотезы: "Мы пытались использовать библиотеку X, но она несовместима с Windows". Это гарантирует, что через 100 сообщений агент не попытается установить библиотеку X снова.

4. Подводные камни, типовые ошибки и безопасность

  • Потеря тонких деталей (Information Loss): Модель самаризации может решить, что конкретный номер порта или название редкого поля не важны, и удалить их из конспекта. Важные параметры должны сохраняться в выделенных полях JSON State, а не в свободном тексте.
  • Дрейф цели при многоразовом сжатии: Если сессия длится неделями и конспект конспектируется в десятый раз, возникает эффект испорченного телефона. Первичный запрос пользователя (User Intent) всегда должен оставаться неизменным в корне промпта.

5. Стратегический вывод для инженера 2026 года

Сжатие контекста — это ключ к созданию автономных систем длительного действия (Long-Running Agents). Умение проектировать алгоритмы ротации и подведения итогов памяти позволяет создавать агентов, которые могут работать над проектом неделями без потери фокуса.

/ Частые вопросыSchema.org FAQPage

FAQ: Переполнение и адаптивное сжатие контекстного окна

API провайдера возвращает ошибку 400 (`context_length_exceeded`) и полностью прекращает обработку. Если в приложении нет логики сжатия, сессия пользователя навсегда ломается, заставляя его начинать чат с нуля.
/ Внутренняя перелинковка
Все термины
Промпты и RAG

Контекстное Окно (Context Window)

Максимальный рабочий объем токенов, который языковая модель может одновременно удерживать в механизме Self-Attention и памяти KV Cache во время вычисления одного инференс-запроса.

Читать термин
Промпты и RAG

Деградация контекста (Context Rot & Attention Decay)

Системное снижение точности, следования инструкциям и логической согласованности LLM по мере накопления в рабочем окне диалогового шума, устаревших черновиков кода и выводов компилятора.

Читать термин
Агенты и MCP

Память Агента

Комплексная подсистема хранения, фильтрации и выборки данных, которая преобразует stateless-вызов LLM в stateful-систему: от краткосрочного scratchpad-буфера до мультисессионного хранилища знаний.

Читать термин
Промпты и RAG

Эпизодическая и Семантическая Память Агента

Архитектурное разделение памяти ИИ-агента на долгосрочную фактическую базу (Semantic Memory) и хронологический журнал событий конкретных рабочих сессий (Episodic Memory).

Читать термин

Связанные материалы экосистемы

Практические гайды, терминология и агентские скиллы

Практический гайд

Часть II. Архитектура ИИ-агентов: от модели до памяти и инструментов

Глубокое инженерное погружение: токенизация, KV-кэш, детерминизм сэмплинга, тренировочный стек, квантование, контекстная инженерия, стек безопасности, производственный RAG, ReAct и мультиагентные swarm-системы.

Термин в глоссарии

Память Агента

Комплексная подсистема хранения, фильтрации и выборки данных, которая преобразует stateless-вызов LLM в stateful-систему: от краткосрочного scratchpad-буфера до мультисессионного хранилища знаний.

Термин в глоссарии

Память ChatGPT (Сохранение фактов между диалогами)

Функция долгосрочной памяти ChatGPT (Memory) позволяет искусственному интеллекту запоминать ваше имя, профессию, любимые технологии, формат ответов и личные детали между совершенно разными чатами.

Практический гайд

Как создать собственную дизайн-систему в Claude Design: от мудборда до анимированного маскота

Полное практическое руководство по созданию бренд-дизайн-системы в Claude Design: сбор референсов, генерация 4 концепций, токенизация, стресс-тестирование и разработка анимированного SVG-маскота.

Новость

Claude Code сократил стоимость обновления статуса фоновых субагентов на 99%

В CLI-версии Claude Code обновление статуса фоновых субагентов теперь выполняет Haiku 5.5 на основе коротких заметок, что снижает расход лимитов.

Новость

В OpenCode научились выжимать из DeepSeek в 30 раз больше за те же деньги

Сооснователь OpenCode Дакс сообщил, что команда разработчиков нашла способ значительно повысить эффективность использования DeepSeek: теперь за $10 можно получить объём, который раньше обходился в $300.