System Prompt Drift & Degradation(Дрейф та деградація системного промпту в довгих сесіях)
Феномен поступової втрати первинних інструкцій, стилю відповіді та безпекових обмежень мовною моделлю в міру розростання історії діалогу, а також методи періодичного реінжектингу правил.
1. Огляд концепції та системна проблема
На початку нової розмови з агентом усе працює ідеально: модель чітко слідує правилам .cursorrules, не додає зайвих коментарів і пише суворий код.
Але через 2 години активного кодингу та 25 повідомлень розробник помічає дивну річ:
- Агент раптово починає писати код іншим стилем.
- Знову з'являються заборонені конструкції (
as any, інлайнові стилі). - Модель починає занадто багато базікати і просить вибачення за кожну дрібницю.
Цей ефект називається System Prompt Drift (Дрейф системного промпту): віддалення первинних інструкцій у просторі уваги трансформера, що веде до поступової втрати керованості системою.
2. Архітектурна таксономія та ментальна модель
┌─────────────────────────────────────────────────────────────┐
│ SYSTEM PROMPT ATTENTION DRIFT │
├─────────────────────────────────────────────────────────────┤
│ СТАРТ СЕСІЇ (Повідомлення 1): │
│ [SYSTEM PROMPT] ➔ 90% УВАГИ МОДЕЛІ ➔ Бездоганне дотримання │
│ [User Turn 1] │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ 25 ітерацій кодингу та правок │
├─────────────────────────────────────────────────────────────┤
│ РОЗПАД УВАГИ (Повідомлення 25): │
│ [SYSTEM PROMPT] (Захований 120 000 токенів тому) ➔ 10% уваги│
│ ... 23 діалогових повідомлення із кодом та логами ... │
│ [User Turn 25] ➔ 90% УВАГИ МОДЕЛІ │
│ ➔ РЕЗУЛЬТАТ: Модель забуває заборони і пише спагеті-код │
├─────────────────────────────────────────────────────────────┤
│ РІШЕННЯ: DYNAMIC RE-INJECTION (Reminders before every turn) │
└─────────────────────────────────────────────────────────────┘
3. Практичні інженерні сценарії в продакшені
01. Автоматичний хук нагадування (Pre-Turn Hook)
У коді взаємодії з API перед відправкою кожного запиту додається прихований системний суфікс:
const payload = [
...messages,
{
role: "user",
content: `${userPrompt}\n\n<!-- SYSTEM INVARIANT: Remember strict types, no any, use Tailwind tokens -->`
}
];
Це повертає вагу уваги моделі до ключових правил безпосередньо перед моментом вибору першого токена.
02. Використання Ephemeral Roles у LangGraph
Граф стану періодично скидає робочий діалог, формує новий свіжий системний промпт із поточним станом змінних і продовжує роботу з абсолютно чистою увагою.
4. Підводні камені, типові помилки та безпека
- Over-Injecting (Засмічення повторами): Якщо на кожному кроці дублювати весь системний промпт на 2000 токенів, це призведе до зайвих фінансових витрат і може збити модель з пантелику. Повторювати слід лише 3–5 найкритичніших правил у стислому вигляді.
- Дрейф персонажа (Persona Decay): У системах підтримки клієнтів бот під впливом розгніваного користувача може сам почати грубити або погоджуватися на невигідні поступки. Реінжектинг правил безпеки є критичним для запобігання репутаційним втратам.
5. Стратегічний висновок для інженера 2026 року
Системний промпт не діє вічно всередині однієї розмови. Сприйняття уваги трансформера як динамічного ресурсу, що розсіюється з часом, дозволяє інженеру вчасно оновлювати навігаційні рамки та тримати агента у стані 100% дисципліни.
FAQ: System Prompt Drift & Degradation
Пов'язані терміни
Системний промпт (System Instructions & Metaprompting)
Пріоритетний метаконтекстний блок інструкцій, що передається на нульовій позиції контекстного вікна і визначає роль, правила безпеки, доступні інструменти та межі поведінки агента.
Деградація контексту (Context Rot & Attention Decay)
Системне зниження точності, слідування інструкціям та логічної узгодженості LLM у міру накопичення в робочому вікні діалогового шуму, застарілих чернеток коду та виводів компілятора.
Context Curation & Rules Hygiene
Інженерна практика проектування, регулярного аудиту та очищення конфігураційних файлів поведінки агента (.cursorrules, .clinerules, AGENTS.md) для запобігання деградації уваги моделі.
Контекстне вікно (Context Window)
Максимальний робочий обсяг токенів, який мовна модель здатна одночасно утримувати в механізмі Self-Attention та пам'яті KV-кешу під час обчислення одного інференс-запиту.