Context Window Overflow & Compaction(Переповнення та адаптивне ущільнення контекстного вікна)
Інженерні патерни запобігання фатальним збоям при вичерпанні ліміту контексту: ковзні підсумки (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 повідомлень непомітно згортає старі логи терміналу в акуратний маркдаун-блок <previous_session_summary>, зберігаючи сесію швидкою, дешевою та чуйною.
02. Збереження артефактів рішень (Architectural Decision Records)
Під час ущільнення агент окремо зберігає відхилені гіпотези: "Ми спробували використати бібліотеку X, але вона несумісна з Windows". Це гарантує, що через 100 повідомлень агент не спробує встановити бібліотеку X знову.
4. Підводні камені, типові помилки та безпека
- Втрата тонких деталей (Information Loss): Модель самаризації може вирішити, що конкретний номер порту чи назва рідкісного поля не важливі, і видалити їх із конспекту. Важливі параметри повинні зберігатися у виділених полях JSON State, а не у вільному тексті.
- Дрейф мети при багаторазовому ущільненні: Якщо сесія триває тижнями і конспект конспектується вдесяте, виникає ефект зіпсованого телефона. Первинний запит користувача (
User Intent) завжди повинен залишатися незмінним у корені промпту.
5. Стратегічний висновок для інженера 2026 року
Ущільнення контексту — це ключ до створення автономних систем тривалої дії (Long-Running Agents). Вміння проектувати алгоритми ротації та підбиття підсумків пам'яті дозволяє створювати агентів, які можуть працювати над проєктом тижнями без втрати фокусу.
FAQ: Context Window Overflow & Compaction
Пов'язані терміни
Контекстне вікно (Context Window)
Максимальний робочий обсяг токенів, який мовна модель здатна одночасно утримувати в механізмі Self-Attention та пам'яті KV-кешу під час обчислення одного інференс-запиту.
Деградація контексту (Context Rot & Attention Decay)
Системне зниження точності, слідування інструкціям та логічної узгодженості LLM у міру накопичення в робочому вікні діалогового шуму, застарілих чернеток коду та виводів компілятора.
Agent Memory (Пам'ять агента)
Комплексна підсистема зберігання, фільтрації та вибірки даних, яка перетворює stateless-виклик LLM на stateful-систему: від короткотривалого scratchpad-буфера до мультисесійного сховища знань.
Episodic vs Semantic Agent Memory
Архітектурне розділення пам'яті ШІ-агента на довготривалу фактологічну базу (Semantic Memory) та хронологічний журнал подій конкретних робочих сесій (Episodic Memory).