Контекстная инженерия

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

Дата составления: 2026-10-16
Статус: 💡 Актуально


Суть

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

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

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


Из чего складывается контекст агента

Слой

Что важно знать

Системный промпт харнесса

Пишет разработчик харнесса. В Claude Code или Codex вы его не меняете, но он занимает место в каждой сессии

Описания инструментов и MCP-серверов

Каждый подключенный MCP-сервер добавляет в окно описания своих инструментов, даже если в этой сессии они не понадобятся. Часть харнессов уже подгружает такие описания только по требованию

Навигационный файл и инструкции проекта

CLAUDE.md, AGENTS.md, инструкции проекта. Читаются целиком в начале каждой сессии — подробнее в статье Рабочее пространство агента

Скиллы

До активации в окне лежит только краткое описание скилла, полный текст подгружается, когда скилл понадобился

Память

Файлы авто-памяти и памяти проекта, которые харнесс подставляет сам. Подробнее — в статье Память агента

Прочитанные файлы и результаты инструментов

Самая быстро растущая часть: каждый прочитанный документ и каждый ответ поиска остаются в окне до конца сессии или до сжатия

История и рассуждения

Ваши реплики, ответы агента и его размышления между шагами

Ваш текущий запрос

Обычно самая маленькая часть окна

Таким образом, еще до вашего первого слова агент прочитал служебные инструкции, описания инструментов и навигационный файл: от нескольких тысяч токенов, а с подключенными сервисами — десятки тысяч. Чем больше подключений и чем длиннее памятка, тем меньше места остается на саму работу. Посмотреть, чем занято окно, можно встроенной командой: в Claude Code это /context, в Codex — /status.

Почему «дам побольше данных» на самом деле вредно

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

  • Отравление через собственные записи. Агент ошибся на раннем шаге — например, неверно указал реквизиты акта, — записал это в план и дальше опирается на запись как на факт. Если ошибка попала в память, она переживает и сессию.

  • Перебор инструментов. Чем больше инструментов доступно одновременно, тем чаще модель выбирает не тот: по данным рейтинга Berkeley Function-Calling Leaderboard, все модели работают хуже, когда инструментов больше одного. Десять MCP-серверов, подключенных «на всякий случай», — не запас, а помеха.

  • Конфликт инструкций. Системный промпт, навигационный файл, скилл и ваш запрос могут противоречить друг другу. В логах Claude Code Anthropic нашла как раз такой случай: системный промпт просил документировать код, скилл запрещал комментарии, а пользователь писал «просто сделай, как было». Модель тратит усилия на разрешение противоречий вместо работы.

  • Накопленные неудачные попытки. Отвергнутые варианты остаются в окне и тянут агента обратно. Поправили больше двух раз по одному вопросу — начните сессию заново с более точной постановкой.

  • Потери при сжатии. Когда окно переполняется, история сворачивается в пересказ, и частные детали выпадают первыми. Повторное сжатие пересказывает уже пересказанное, и потери копятся.


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

№1: Записывать

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

  • Список задач в конце окна. Агент, который ведет todo.md и переписывает его по ходу работы, раз за разом выводит цель в конец контекста — туда, где внимание модели сильнее.

  • Отчет после задачи. Если по завершении каждой задачи агент сохраняет короткий отчет в .md, следующая сессия начинается с чтения того, чем закончилась предыдущая.

  • Записка-эстафета (hand-off файл). Новую задачу лучше начинать в новой сессии, а перед закрытием старой попросить записку для следующей: полстраницы вместо десятков тысяч токенов накопленной истории.

Напиши записку-хэндофф для новой сессии: цель и что сделано, принятые решения, что не сработало, следующие три шага. Только факты, полстраницы. Сохрани в рабочей папке.

№2: Подгружать по ходу работы

Вместо того чтобы загружать все материалы в начале, агенту дают указатели — пути к файлам, имена документов, ссылки, — и он открывает нужное по ходу работы. Anthropic называет это загрузкой «точно в срок» (just-in-time), а движение от общего к частному, когда каждый шаг подсказывает следующий, — постепенным раскрытием (progressive disclosure).

На этом принципе построены:

  • Навигационный файл с указателями на методики вместо их копий;

  • Скиллы, полный текст которых загружается только при активации;

  • Отложенная загрузка инструментов: агент сначала находит нужный инструмент поиском и только потом получает его полное описание;

  • Поиск по большому корпусу через RAG или MCP-коннектор, когда материалов больше, чем поместится в окно.

Отбору помогает и подготовка материалов. Понятная структура папок и говорящие имена файлов подсказывают агенту, что открыть. Под задачу лучше собрать папку из нескольких нужных файлов, а не открывать агенту каталог на сотни документов: он добросовестно прочитает все. А .pdf и скриншоты стоит один раз перевести в текст — почему, объяснено в статье Контекстное окно.

№3: Сжимать

Между крайностями — /clear (очистить все и потерять договоренности) и /compact (свернуть все в резюме и потерять детали) — есть более точные инструменты. Команды приводятся в написании Claude Code, в других харнессах названия свои:

  • Откат вместо поправки — команда /rewind или двойное нажатие Esc. Если агент пошел не туда, вернитесь к контрольной точке и переформулируйте запрос: полезное, что он успел прочитать, сохранится, а неудачная попытка не останется в окне;

  • Выборочное сжатие — та же команда /rewind с вариантами Summarize from here и Summarize up to here: свернуть все после выбранной точки или все до нее. Так можно убрать хвост неудачных попыток, не трогая ранних договоренностей;

  • Сжатие с фокусом — команда /compact с указанием, что сохранить: «оставь договоренности по структуре таблицы, историю отладки убери». Вы знаете, что понадобится дальше, а модель нет;

  • Правила сжатия в файле проекта. Указания «что при сжатии сохранять всегда» прописываются один раз в навигационном файле, а не задаются каждый раз руками.

Не полагайтесь на автосжатие вслепую. Оно хуже всего работает, когда модель не может предсказать, куда движется задача: лишнее сейчас может понадобиться через час. В агентных средах сжатие к тому же само тратит токены: чтобы пересказать беседу, модель перечитывает ее целиком, а кэш после этого сбрасывается. Поэтому сжимать стоит редко и прицельно — когда окно действительно переполнено, с указанием, что сохранить. При смене темы надежнее начать новую сессию с запиской-эстафетой.

№4: Изолировать в отдельный контекст

Если следующий шаг породит много промежуточного материала, а нужен только итог, его выносят в отдельный контекст.

  • Субагенты. Субагент получает собственное чистое окно, читает сколько нужно и возвращает главному агенту только выжимку. Типичные случаи — поиск по массиву документов, сверка, независимая проверка готового текста.

    • Задавайте субагентам объем отчета («не больше восьми пунктов») — он ляжет в окно главного агента — и модель: по умолчанию они берут ту же, что и главный.

    • На мелких правках субагенты не окупаются: каждый стартует со своим багажом. Подробнее — в статье Оркестрация и субагенты.

  • Побочный вопрос — команда /btw в Claude Code. Ответ появляется в закрываемом окне и не попадает в историю основной задачи.

  • Один этап — один свежий контекст. Даже без субагентов помогает разносить этапы работы по отдельным сессиям — подробнее в статье Приемы управления агентами.


Аудит скиллов, памяти и навигационных файлов

В июле 2026 года Anthropic рассказала, что для моделей поколения Claude 5 команда удалила более 80% системного промпта Claude Code — без заметных потерь на внутренних тестах по программированию. Те же приемы годятся для пересмотра собственных скиллов и навигационных файлов:

  • Ищите противоречия. Если скилл проверки договора требует «кратко», а навигационный файл — «подробно с обоснованием», агент будет метаться между ними;

  • Пишите подводные камни, а не очевидное. В навигационном файле место тому, чего агент не узнает из папки сам: «действующая редакция договора — от 12.03, файлы с пометкой old не использовать». Общих призывов вроде «работай внимательно» там быть не должно;

  • Давайте эталон как ориентир. Эталонный документ передает стиль и структуру точнее любого перечня требований — подробнее в статье Стиль и понятность;

  • Дробите длинные скиллы на основной файл и дополнительные, которые подгружаются по ссылке;

  • Подключайте сервисы под задачу. MCP-серверы и коннекторы читаются в каждой сессии, даже если сегодня не нужны: включили, поработали, выключили;

  • В навигационный файл — только повторяющиеся правила работы. Объяснили агенту одно и то же второй раз — добавьте одну строку. Остальное подхватит авто-память, если она включена;

  • Просматривайте авто-память. Там копятся устаревшие и ошибочные записи, и агент опирается на них как на факты — это то самое отравление через собственные записи;

  • Регулярно чистите. В Claude Code для этого есть команда /doctor, которая предлагает, что сократить в навигационном файле и скиллах.


Связанные статьи

Дополнительные материалы


Теги: #агентный-ии #контекст