Context Engineering
Проектирование контекста определяет, чем заполнено контекстное окно модели на каждом шаге: от инструкций и найденных данных до результатов работы инструментов и памяти.
Контекстная инженерия — это практика определения того, какая информация на каждом этапе приложения ИИ попадает в контекстное окно модели: инструкции, примеры, извлечённые документы, описания инструментов, результаты работы инструментов, память и история диалога, а также того, сколько именно информации включить, в каком порядке и что исключить. Термин получил распространение в середине 2025 года, когда ИИ-агенты начали выполнять задачи, состоящие из десятков и сотен шагов. Андрей Карпати назвал это «тонким искусством и наукой заполнения контекстного окна именно той информацией, которая нужна для следующего шага», а статья Anthropic Эффективная контекстная инженерия для ИИ-агентов описывает её как подбор «оптимального набора токенов» во время инференса. Промпт-инжиниринг, то есть написание самих инструкций, — лишь одна из составляющих.
Зачем нужна контекстная инженерия#
Большая языковая модель (LLM) знает только данные, на которых обучалась, и то, что находится в её контексте, поэтому при нехватке контекста она даёт общие ответы или галлюцинирует. Избыток контекста тоже мешает. По мере роста входных данных точность падает — этот эффект называют контекстным выветриванием, — а исследование Lost in the Middle показало, что модели лучше всего используют информацию в начале или конце длинного ввода и хуже всего — в середине. Anthropic описывает контекст как бюджет внимания с убывающей отдачей: каждый добавленный токен расходует его. Каждый токен также увеличивает стоимость и задержку инференса. Для агента эта проблема особенно остра, поскольку на каждом шаге добавляются вызовы инструментов и их результаты, поэтому контекст растёт с каждым действием, даже если новые сведения уже не важны.
Основные стратегии#
В обзоре контекстной инженерии LangChain техники сгруппированы по четырём стратегиям, которые соответствуют методам долгосрочной работы с контекстом, описанным Anthropic:
- Запись: сохраняй информацию за пределами контекстного окна — в черновике, файле с заметками или долговременной памяти, — чтобы она не терялась по мере продолжения диалога. Anthropic называет это структурированным ведением заметок.
- Отбор: добавляй только то, что нужно для текущего шага, например релевантные фрагменты, воспоминания или описания инструментов. Anthropic описывает агентов, которые хранят лёгкие ссылки, например пути к файлам или запросы, и загружают содержимое непосредственно перед использованием.
- Сжатие: оставляй только токены, необходимые для задачи, обобщая или сокращая текст. Компактизация сводит почти заполненный контекст к краткому изложению и продолжает работу с этим изложением в новом окне.
- Изоляция: распределяй работу между субагентами с отдельными чистыми контекстными окнами, которые возвращают главному агенту сжатые результаты, или храни объёмные данные в песочнице или объекте состояния, а не в контексте.
Важны не только содержание, но и порядок и стабильность. Кэширование промптов повторно использует только идентичный префикс, поэтому контекст обычно начинается с неизменных инструкций и описаний инструментов, а меняющиеся данные идут в конце. Обзор более 1 400 статей, подготовленный Линжуем Мэем и его коллегами, разделяет эту область на извлечение и генерацию контекста, обработку контекста и управление контекстом. Эти подходы применяются в генерации с дополнением извлечёнными данными, системах памяти, рассуждениях с использованием инструментов и мультиагентных системах.
Инструменты, протоколы и навыки#
Значительная часть контекста агента поступает от инструментов. Протокол Model Context Protocol (MCP), представленный Anthropic в ноябре 2024 года, а позднее переданный фонду при Linux Foundation, стандартизирует способы предоставления приложениями инструментов и данных моделям. Описания инструментов — это тоже контекст: каждый инструмент, доступный агенту, расходует токены в каждом запросе, поэтому некоторые агенты загружают описания инструментов только тогда, когда они нужны для задачи. Навыки агентов используют ту же идею для инструкций: рекомендации и справочные файлы упаковываются в папки, которые агент загружает только по мере необходимости.
Навыки агентов Ultralytics используют этот подход для агентов программирования, работающих с Ultralytics YOLO. Навыки загружаются только при поступлении соответствующей задачи; навык-маршрутизатор yolo сопоставляет каждый запрос с этапом жизненного цикла, которого он касается, например с датасетами, обучением или экспортом. Зависящие от версии сведения, такие как названия весов, аргументы обучения и форматы экспорта, хранятся в каталогах, привязанных к конкретному выпуску ultralytics, а каждый навык предписывает агенту доверять установленному пакету, если данные расходятся.
Контекстная инженерия и смежные понятия#
- Промпт-инжиниринг: касается формулировки инструкций и примеров. Контекстная инженерия управляет также всем остальным, что поступает в модель на каждом этапе приложения.
- Обогащение промпта: добавляет данные к отдельному запросу до его передачи модели; это один из способов отбора в контекстной инженерии.
- Контекстное окно: максимальная длина входных данных модели, задающая доступный бюджет. Контекстная инженерия определяет, как его расходовать. Большое окно не отменяет эту необходимость, поскольку по мере его заполнения точность снижается.
- Дообучение: меняет знания модели, обновляя её веса. Контекстная инженерия меняет то, что модель видит во время инференса, не затрагивая веса.










