Context Engineering

Проектирование контекста для LLM: от управления токенами до архитектуры памяти агентов

18 марта 2026

Prompt engineering учит правильно формулировать запрос. Context engineering решает другую задачу: какая информация должна попасть в контекстное окно модели, в каком объёме и в какой момент. Разница между «хорошо написанным промптом» и «системой, которая стабильно решает задачи» — именно в инженерии контекста.

Что такое context engineering

Context engineering — дисциплина проектирования архитектуры, которая подаёт LLM нужную информацию в нужный момент. Anthropic формулирует ключевой вопрос так: «какая конфигурация контекста с наибольшей вероятностью приведёт к желаемому поведению модели?»

Контекст включает всё, что модель «видит» при генерации ответа: системный промпт, инструкции, описания инструментов, внешние данные, историю сообщений и результаты вызовов инструментов. Каждый из этих элементов занимает токены в конечном контекстном окне.

Дисциплина выросла из наблюдения: модели большего размера не создают лучших AI-систем сами по себе. Надёжность зависит от того, как информация проходит через систему, а не от размера модели или изобретательности промпта.

Context engineering vs prompt engineering

Prompt engineering фокусируется на формулировке инструкций: как задать вопрос, чтобы получить нужный ответ. Context engineering строит инфраструктуру, которая соединяет модель с внешними данными.

Аналогия: prompt engineering — это как вы задаёте вопрос, а context engineering — это обеспечить модель нужным учебником, калькулятором и заметками до того, как она начнёт отвечать.

Prompt Engineering Context Engineering
Фокус Формулировка запроса Архитектура информационного потока
Масштаб Один запрос Система из нескольких inference-вызовов
Управляет Тоном, форматом, стилем ответа Какие данные попадают в окно и когда
Результат Лучший ответ на конкретный вопрос Стабильная система, решающая класс задач
Эволюция Ручная итерация промптов Архитектурные решения по памяти, retrieval, инструментам

Prompt engineering не исчезает — он становится одним из компонентов context engineering. Хорошо сформулированный промпт внутри плохо спроектированного контекста не спасёт систему.

Контекстное окно как дефицитный ресурс

Контекстное окно — рабочее пространство модели, измеряемое в токенах. Всё, что модель обрабатывает за один вызов, должно уместиться в это окно: системный промпт, история диалога, результаты вызовов инструментов, извлечённые документы.

Исследования показывают эффект context rot: по мере роста числа токенов модель теряет точность извлечения информации. Архитектура трансформера требует n² попарных связей для n токенов, что делает длинные последовательности прогрессивно сложнее для обработки. Модели остаются «способными» на длинных контекстах, но точность снижается.

Из этого следует принцип: контекстное окно — это бюджет внимания, а не бесконечная свалка. Стратегическое распределение токенов на высокосигнальную информацию важнее, чем попытки «впихнуть всё».

Режимы отказа контекста

Эти проблемы не решаются улучшением промптов или увеличением окна. Они требуют архитектурного подхода.

Режим Описание Пример
Context Poisoning Ошибки накапливаются: агент переиспользует загрязнённую информацию Агент получил неверный результат API и строит дальнейшие решения на нём
Context Distraction Избыточная история заставляет модель опираться на устаревшие паттерны Агент повторяет подход, который уже не работает, потому что он есть в ранней истории
Context Confusion Нерелевантные инструменты или документы вводят модель в заблуждение 20 доступных инструментов, из которых 18 не нужны для текущей задачи
Context Clash Противоречивая информация создаёт конфликтующие предположения Системный промпт говорит одно, а извлечённый документ — противоположное

Шесть компонентов context engineering

1. Агенты

AI-агенты используют LLM как движок рассуждений и оркестрируют решения между инструментами, памятью и базами знаний. Агент выступает одновременно потребителем и архитектором контекста: он решает, какая информация поднимается на поверхность на каждом шаге.

2. Аугментация запросов (Query Augmentation)

Пользовательский ввод в реальном мире — неполный и неоднозначный. Аугментация запросов переформулирует входные данные для разных downstream-систем: запрос в векторную базу данных требует одной формулировки, запрос к LLM — другой.

3. Извлечение (Retrieval)

Качественное извлечение — фундамент: «мусор на входе — мусор на выходе» действует напрямую. Критический trade-off — стратегия чанкинга:

4. Промптинг

Извлечённый контекст требует явных инструкций по его использованию. Техники: Chain-of-Thought (рассуждение по шагам), few-shot (примеры ожидаемого поведения), ReAct (цикл «рассуждение → действие → наблюдение»).

5. Память

Память агента состоит из трёх слоёв:

Эффективная система памяти — селективная: сохраняет только высокосигнальную информацию и периодически удаляет устаревшие записи.

6. Инструменты

Инструменты связывают мышление с действием: запросы к БД, вызовы API, получение актуальных данных. Model Context Protocol (MCP) стандартизирует интеграцию инструментов через универсальный JSON-RPC протокол, заменяя кастомные интеграции.

Проектирование системных промптов

Anthropic рекомендует калибровать системный промпт на «правильной высоте» — между двумя крайностями:

Практические рекомендации:

Дизайн инструментов

Хорошо спроектированные инструменты:

Если человек не может однозначно выбрать нужный инструмент из набора — AI-агент тоже не сможет. Раздутые наборы инструментов создают неоднозначные точки принятия решений.

Стратегии извлечения контекста

Just-In-Time retrieval

Вместо предзагрузки всех потенциально релевантных данных — хранить лёгкие идентификаторы (пути файлов, ссылки, запросы), которые агент динамически извлекает по ходу выполнения.

Claude Code реализует этот подход: навигирует по файловой системе и анализирует кодовые базы, не загружая целые объекты в контекст. Агент «открывает» контекст прогрессивно — размеры файлов сигнализируют о сложности, имена указывают на назначение, timestamps подсказывают релевантность.

Навигация по метаданным

Файловые иерархии, соглашения об именовании и временные метки дают интерпретируемые сигналы. Агент обнаруживает контекст прогрессивно, не тратя весь бюджет токенов на предварительную загрузку.

Гибридные модели

Оптимальные решения комбинируют предварительное извлечение (для скорости) с автономным исследованием (на усмотрение агента). Граница зависит от характеристик задачи и динамичности контента.

Техники для длинных задач

Задачи, которые требуют сотен или тысяч шагов, сталкиваются с ограничением контекстного окна. Три техники решают эту проблему по-разному.

Compaction (сжатие контекста)

При приближении к лимиту контекстного окна — суммаризировать содержимое и реинициализировать с конденсированным резюме. Принципы:

Claude Code реализует это через сжатие истории разговора с сохранением пяти последних прочитанных файлов.

Structured note-taking (структурированные заметки)

Агент ведёт внешние файлы памяти (NOTES.md, TODO-списки), которые регулярно обновляет и перечитывает при сбросе контекста. Это обеспечивает:

Sub-agent архитектура

Специализированные подагенты выполняют фокусные задачи с чистым контекстным окном. Подагент может потратить тысячи токенов на исследование, но вернуть конденсированное резюме в 1000-2000 токенов. Основной агент координирует высокоуровневый план и синтезирует результаты.

Когда что использовать

Техника Лучше всего подходит для
Compaction Разговорные задачи с интенсивным обменом сообщениями
Note-taking Итеративная разработка с чёткими milestone-ами
Sub-agents Исследование и анализ с возможностью параллельного выполнения

Практические рекомендации

Все техники сводятся к одному принципу: найти минимальный набор высокосигнальных токенов, который максимизирует вероятность нужного результата.

Управление контекстным окном

  1. Относитесь к токенам как к бюджету — стратегически распределяйте место на высокосигнальную информацию
  2. Внедряйте селективную память — оценка важности при записи и периодическое удаление устаревших записей
  3. Оптимизируйте стратегию чанкинга — баланс между точностью (мелкие чанки) и контекстным богатством (крупные чанки)

Проектирование инструментов и промптов

  1. Начинайте с минимального промпта — добавляйте инструкции только по мере обнаружения реальных ошибок
  2. Структурируйте секции — XML-теги и заголовки позволяют модели эффективнее навигировать по промпту
  3. Используйте примеры вместо правил — diverse few-shot примеры демонстрируют желаемое поведение эффективнее, чем перечисление edge-кейсов
  4. Стандартизируйте интеграцию — MCP вместо кастомных интеграций для каждого инструмента

Архитектура агентов

  1. Используйте just-in-time retrieval — лёгкие идентификаторы вместо предзагрузки всего
  2. Создавайте циклы обратной связи — агент наблюдает за результатами и корректирует стратегию
  3. Выбирайте технику по задаче — compaction для диалогов, заметки для итеративной разработки, подагенты для параллельного исследования
По мере улучшения моделей они требуют всё меньше прескриптивной инженерии и допускают большую автономию агентов. Но обращение с контекстом как с ценным конечным ресурсом остаётся необходимым условием для надёжных систем.

Источники