Skip to main content

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). Вміння проектувати алгоритми ротації та підбиття підсумків пам'яті дозволяє створювати агентів, які можуть працювати над проєктом тижнями без втрати фокусу.

/ Часті запитанняSchema.org FAQPage

FAQ: Context Window Overflow & Compaction

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

Контекстне вікно (Context Window)

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

Читати термін
Промптинг & RAG

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

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

Читати термін
Агенти & MCP

Agent Memory (Пам'ять агента)

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

Читати термін
Промптинг & RAG

Episodic vs Semantic Agent Memory

Архітектурне розділення пам'яті ШІ-агента на довготривалу фактологічну базу (Semantic Memory) та хронологічний журнал подій конкретних робочих сесій (Episodic Memory).

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