AI Wiki

Context Engineering

Стратегії управління контекстом AI-агента: пам'ять, стан, оптимізація та best practices

context engineeringконтекстRAGпромптоптимізація

📎ОФІЦІЙНА ДОКУМЕНТАЦІЯ

Context Engineering

Context Engineering -- це мистецтво надання LLM саме тієї інформації, яка необхідна для виконання наступного кроку, у межах обмеженого вікна моделі.

Два елементи

ЕлементОпис
Управління пам'яттюЗбереження контексту між кроками
Управління станомДозволяє агенту пам'ятати, де він знаходиться у процесі виконання складної задачі
⚠️Увага

Сміття на вході = Сміття на виході. Завжди точно знайте, що саме зараз знаходиться у контексті.

Що таке контекст

Контекст -- це короткострокова пам'ять агента, аналогічно RAM комп'ютера. Включає:

  • System prompt -- системний промпт
  • Історія діалогу -- попередні повідомлення
  • Визначення інструментів -- Tools, Skills, Subagents, MCP тощо
  • Зовнішні знання та файли -- RAG, результати пошуку, вміст файлів, логи помилок

Чому це важливо

  • Відсутність пам'яті: LLM за своєю природою є stateless
  • Обмеженість вікна та зростання витрат: подвоєння контексту збільшує обсяг обчислень учетверо
  • "Гниття контексту" (Context Rot) та ефект "Lost in the middle"
  • Запобігання галюцинаціям та плутанині
  • Деградація: чим більший обсяг контексту, тим нижча точність відповідей моделі

Передача знань у контекст

СпосібСутьОбмеженняСценарії
In-context LearningПередача інформації безпосередньо у промптОбмежений контекстним вікномДля разових задач
RAGЗберігання документів у векторній базі, динамічне витягуванняПотрібна інфраструктураДля великих баз, що часто оновлюються
Fine-tuning / LoRAДонавчання моделі на приватних данихДорого та довгоСпецифічна термінологія при стабільних даних

Автоматичний збір контексту

МетодТехнологіяПлюсиМінуси
СинтаксичнийLSP та ASTНизьке споживання ресурсівПерестає працювати при помилках коду
СемантичнийIDE будує повний граф кодуАналізує код з помилкамиВисокі витрати на індексацію
RAG по кодуEmbeddingsСтабільна робота з неповним кодомПотребує GPU або Cloud
Динамічне виявленняgrep, tail, read_rangeШвидкий доступОбмежене розуміння структури
Feedback LoopТести, лінтери, логиСамокорекціяПотребує налаштування

Стратегії управління контекстом

  1. Складання чіткого плану роботи -- визначте послідовність дій заздалегідь
  2. Сумаризація та очищення -- видаляйте старі повідомлення, використовуйте окремі сесії
  3. Збереження проміжних думок -- у файли, бази даних або довгострокову пам'ять (Memory Bank)
  4. Підтягування лише релевантних інструкцій -- використовуйте Skills
  5. Розділення контексту -- між кількома вузькоспеціалізованими агентами

Best Practices

💡Порада

Проєктуйте архітектуру пам'яті ДО написання промптів. Глибоке планування до початку виконання роботи.

  • Якщо розмова йде не туди -- починайте нову сесію
  • Універсальні промпти та інструкції працюють погано
  • Реалізація фіч та виправлення багів -- це різні процеси
  • Не додавайте у контекст нічого зайвого
  • Ніколи не завантажуйте великі документи цілком
  • Для складних та довгих задач примушуйте агента вести todo.md
  • Якщо інструмент повернув збій -- залишіть цей лог
  • Редагуйте вихідний запит замість виправлень наступним повідомленням
  • Комбінуйте пошук зі свіжістю, важливістю та частотою звернень