Что такое context engineering?
Context engineering — это проектирование того, какая информация попадает в контекстное окно модели на каждом шаге: какие документы подтянуть, что из истории диалога сохранить, что сжать и что выбросить. Речь идёт об управлении данными, а не о формулировке инструкции.
Необходимость возникает, когда система выходит за рамки одного вопроса. У агента, который работает часами, история переписки, результаты вызовов инструментов и документы быстро перестают помещаться в окно — и качество падает не из-за плохого промпта, а из-за мусора и потерь в контексте.
Типичные приёмы: подтягивать документы через RAG вместо загрузки всего, сжимать длинную историю в краткую сводку, выносить постоянные правила в системный промпт, хранить рабочее состояние во внешних файлах, а не в переписке.
Где применяется
Дисциплина становится ключевой в агентах и длинных диалогах, где контекст накапливается сам собой: история переписки, результаты вызовов инструментов, найденные документы, промежуточные выводы. Без управления этим потоком окно переполняется, а качество ответов падает.
Базовые приёмы: подтягивать документы поиском вместо загрузки всей базы, сжимать старую часть диалога в краткое изложение, хранить факты во внешней памяти и подставлять только нужные, очищать результаты инструментов от служебного шума, кешировать неизменную часть промпта ради экономии.
Пример
Агент поддержки после сорока сообщений начинает путать детали заказа. Решение — не увеличить окно, а сжать старую часть переписки в короткое резюме и держать ключевые факты о заказе отдельным блоком, который подставляется в каждый запрос.
Частые вопросы
Чем context engineering отличается от промпт-инжиниринга?
Промпт-инжиниринг отвечает на вопрос, как сформулировать инструкцию. Context engineering — какие данные вообще попадут в окно модели на этом шаге и в каком виде. Первое про текст запроса, второе про управление информационным потоком системы.
Зачем это нужно, если окна стали большими?
Большое окно не бесплатно: длинный контекст дороже и медленнее, а качество на переполненном окне падает — важная деталь теряется среди лишнего. Отбор нужного почти всегда даёт лучший результат, чем загрузка всего подряд.
Как сжимать историю диалога?
Периодически заменяют старые сообщения кратким изложением, сохраняя важные факты и решения отдельным структурированным блоком. Важно, чтобы сжатие не потеряло данные, на которые система будет ссылаться позже, — поэтому ключевые сущности выносят из текста в поля.
Это задача разработчика или промпт-инженера?
На практике разработчика AI-решений: здесь нужны работа с хранилищами, поиск, кеширование и логика выбора данных. Формулировки инструкций при этом остаются рядом, поэтому в небольших командах обе задачи закрывает один человек.