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 рекомендует калибровать системный промпт на «правильной высоте» — между двумя крайностями:
- Избыточно сложные промпты с жёстко прописанной хрупкой логикой — ломаются при нестандартных запросах
- Размытые указания без конкретных сигналов — модель не понимает, что от неё ожидается
Практические рекомендации:
- Организовывать промпт в отдельные секции с помощью XML-тегов или Markdown-заголовков:
<background_information>,<instructions>,## Tool guidance - Начинать с минимального промпта на лучшей доступной модели
- Итеративно добавлять инструкции на основе наблюдаемых ошибок
- Использовать few-shot примеры вместо исчерпывающего перечисления edge-кейсов — «примеры стоят тысячи слов» для LLM
Дизайн инструментов
Хорошо спроектированные инструменты:
- Самодостаточные — устойчивы к ошибкам, содержат всю необходимую информацию
- Понятные — описание чётко указывает, когда и зачем использовать
- Минимально перекрывающиеся — если два инструмента делают почти одно и то же, модель будет колебаться
- Экономные по токенам — возвращают только нужные данные, не «всё что есть»
Стратегии извлечения контекста
Just-In-Time retrieval
Вместо предзагрузки всех потенциально релевантных данных — хранить лёгкие идентификаторы (пути файлов, ссылки, запросы), которые агент динамически извлекает по ходу выполнения.
Claude Code реализует этот подход: навигирует по файловой системе и анализирует кодовые базы, не загружая целые объекты в контекст. Агент «открывает» контекст прогрессивно — размеры файлов сигнализируют о сложности, имена указывают на назначение, timestamps подсказывают релевантность.
Навигация по метаданным
Файловые иерархии, соглашения об именовании и временные метки дают интерпретируемые сигналы. Агент обнаруживает контекст прогрессивно, не тратя весь бюджет токенов на предварительную загрузку.
Гибридные модели
Оптимальные решения комбинируют предварительное извлечение (для скорости) с автономным исследованием (на усмотрение агента). Граница зависит от характеристик задачи и динамичности контента.
Техники для длинных задач
Задачи, которые требуют сотен или тысяч шагов, сталкиваются с ограничением контекстного окна. Три техники решают эту проблему по-разному.
Compaction (сжатие контекста)
При приближении к лимиту контекстного окна — суммаризировать содержимое и реинициализировать с конденсированным резюме. Принципы:
- Сначала максимизировать recall (захватить все критические детали)
- Итеративно улучшать precision (убирать лишнее)
- Сохранять: архитектурные решения, нерешённые баги, детали реализации
- Удалять: избыточные результаты инструментов, дублирующиеся сообщения
Claude Code реализует это через сжатие истории разговора с сохранением пяти последних прочитанных файлов.
Structured note-taking (структурированные заметки)
Агент ведёт внешние файлы памяти (NOTES.md, TODO-списки), которые регулярно обновляет и перечитывает при сбросе контекста. Это обеспечивает:
- Постоянное отслеживание прогресса на сложных задачах
- Сохранение критических зависимостей между шагами
- Когерентность на протяжении многих часов работы
Sub-agent архитектура
Специализированные подагенты выполняют фокусные задачи с чистым контекстным окном. Подагент может потратить тысячи токенов на исследование, но вернуть конденсированное резюме в 1000-2000 токенов. Основной агент координирует высокоуровневый план и синтезирует результаты.
Когда что использовать
| Техника | Лучше всего подходит для |
|---|---|
| Compaction | Разговорные задачи с интенсивным обменом сообщениями |
| Note-taking | Итеративная разработка с чёткими milestone-ами |
| Sub-agents | Исследование и анализ с возможностью параллельного выполнения |
Практические рекомендации
Все техники сводятся к одному принципу: найти минимальный набор высокосигнальных токенов, который максимизирует вероятность нужного результата.
Управление контекстным окном
- Относитесь к токенам как к бюджету — стратегически распределяйте место на высокосигнальную информацию
- Внедряйте селективную память — оценка важности при записи и периодическое удаление устаревших записей
- Оптимизируйте стратегию чанкинга — баланс между точностью (мелкие чанки) и контекстным богатством (крупные чанки)
Проектирование инструментов и промптов
- Начинайте с минимального промпта — добавляйте инструкции только по мере обнаружения реальных ошибок
- Структурируйте секции — XML-теги и заголовки позволяют модели эффективнее навигировать по промпту
- Используйте примеры вместо правил — diverse few-shot примеры демонстрируют желаемое поведение эффективнее, чем перечисление edge-кейсов
- Стандартизируйте интеграцию — MCP вместо кастомных интеграций для каждого инструмента
Архитектура агентов
- Используйте just-in-time retrieval — лёгкие идентификаторы вместо предзагрузки всего
- Создавайте циклы обратной связи — агент наблюдает за результатами и корректирует стратегию
- Выбирайте технику по задаче — compaction для диалогов, заметки для итеративной разработки, подагенты для параллельного исследования
Источники
- Effective context engineering for AI agents — Anthropic Engineering.
- Context engineering — Weaviate Blog.