Ітерації, дебагінг та відновлення

Керування контекстом і збереження версій

Систематизація знань про проєкт, фіксація технічних рішень і відомих дефектів, гігієна контекстного вікна мовної моделі та версіонування коду

Керування контекстом і збереження версій

🎯 Мета розділу

  • Опанувати принципи ведення лаконічної технічної документації проєкту безпосередньо у робочому просторі.
  • Навчитися підтримувати чистоту контекстного вікна (Context Window Hygiene) великої мовної моделі.
  • Засвоїти структуру фіксації ухвалених рішень (Architecture Decision Records / ADR) та переліку відомих проблем.
  • Навчитись перезапускати або оновлювати діалог із AI без втрати накопиченого прогресу кодової бази.

🔑 Ключові терміни

  • Контекстне вікно (Context Window): максимальний обсяг інформації (вимірюваний у токенах), який мовна модель здатна утримувати в оперативній пам'яті під час генерації відповіді.
  • Деградація контексту (Context Degradation): погіршення якості та точності відповідей AI через накопичення застарілих версій коду, помилок і довгих діалогів.
  • Журнал версій (Changelog / Version History): хронологічний список змін, реалізованих функцій та усунених дефектів між релізами.
  • Файл стану проєкту (Project State File / CONTEXT.md): спеціальний короткий документ у корені репозиторію, що містить актуальну зведену інформацію про систему.

Проблема «засмічення» контекстного вікна

Під час тривалої розробки веб-застосунку в AI-середовищі розробник неминуче надсилає десятки повідомлень: тести, запитання, спроби реалізації, помилки компіляції та їх виправлення. У результаті діалог перетворюється на довжелезну стрічку.

Сучасні мовні моделі мають фундаментальне обмеження: що довшим стає діалог, то вищою стає ймовірність деградації уваги моделі. Модель починає плутатися між старими назвами функцій і новими, забуває встановлені на початку обмеження (наприклад, знову намагається згенерувати серверний код або підключити базу даних) і починає повторювати раніше виправлені помилки.

Якщо ви відчуваєте, що AI став «неуважним», ігнорує прямі вказівки або раптом повертає старий код, який ви видалили годину тому — це чіткий сигнал: контекстне вікно перевантажене. Спроба сперечатися з моделлю в тому самому діалозі лише погіршить ситуацію.

Файл CONTEXT.md як зовнішня пам'ять проєкту

Найефективніший інженерний спосіб підтримувати стабільність AI-розробки — винести ключові знання про проєкт із тимчасової пам'яті чату у постійний текстовий файл у корені проєкту, наприклад CONTEXT.md (або README.md).

Цей файл виконує роль «паспорта проєкту» і містить чотири обов'язкові блоки:

Коли такий файл присутній у проєкті, ви можете будь-якої миті очистити історію чату або почати новий діалог з AI, просто написавши: «Прочитай файл CONTEXT.md і підтвердь розуміння поточного стану проєкту».


Життєвий цикл керування версіями

Поєднання файлу контексту зі знімками стану (Snapshots) утворює надійну систему версіонування:

Loading diagram...
@startuml
skinparam style plain
skinparam backgroundColor #FFFFFF
skinparam activityBorderColor #1E293B
skinparam activityFontSize 13

start
:Завершення логічної ітерації;
:Тестування нового функціоналу;

if (Все працює стабільно?) then (так)
  :1. Оновлення файлу CONTEXT.md;
  note right #FEF3C7
    Додати нову фічу у список,
    зафіксувати наступну задачу
  end note
  
  :2. Створення Snapshot у системі;
  note right #DCFCE7
    Збереження v1.2-feature-done
  end note
  
  :3. Очищення або перезапуск чату (за потреби);
  note right #DBEAFE
    Свіжий старт без сміття
    із посиланням на CONTEXT.md
  end note
  stop
else (ні)
  :Швидкий відкат до попереднього знімка;
  stop
endif
@enduml

Практичні завдання та запитання для самоконтролю

Copyright © 2026