Блог

Обновлено 11 мин чтенияРазработка и эксплуатация агентовТуториал

Инженерия контекста для ИИ-агентов: руководство по жизненному циклу

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

Dali

Dali - студия AI agent systems. Давид ведёт engineering и продукт, Лиана - operations и fit процессов. Делаем production-агентов в tools, которыми команда уже пользуется.

David Hakobyan · LinkedIn · Dali

Жизненный цикл контекста ИИ-агента для реальной эксплуатации во время выполнения: инструкции, инструменты, память и оценка

Инженерия контекста для ИИ-агентов определяет на каждом шаге, какие токены попадут в окно модели, кто за них отвечает, когда они должны быть удалены и как доказать, что этот набор по-прежнему правильно направляет агента. Это не означает «написать более длинный системный запрос». Если считать запрос всей системой, агенты в реальной эксплуатации начинают отклоняться от ожидаемого поведения, когда выгрузки инструментов, устаревшие правила и история чата вытесняют немногочисленные важные факты.

Anthropic описывает эту дисциплину как отбор оптимального набора токенов во время вывода с учётом реальных архитектурных ограничений (Effective context engineering for AI agents). На этой странице такое понимание превращено в управляемый жизненный цикл среды выполнения: инструкции, найденные знания, результаты инструментов, история разговора, память, сжатие контекста и оценка.

Это руководство по проектированию систем для реальной эксплуатации, а не сравнение поставщиков. Более широкие требования к рабочей системе, включая инструменты, обязательные подтверждения и ответственность, рассмотрены в статье что такое ИИ-агент для реальной эксплуатации.

Инженерия контекста и инженерия запросов

Инженерия запросов посвящена тому, как писать и структурировать инструкции, чтобы модель правильно выполняла задачу. Инженерия контекста управляет всем рабочим состоянием, которое попадает в окно: системными инструкциями, определениями инструментов, найденными документами, историей сообщений, результатами инструментов и сведениями, повторно загруженными из памяти (Anthropic).

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

Почему окно является дефицитным ресурсом

Большие контекстные окна не отменяют необходимость отбора. Anthropic рассматривает контекст как конечный ресурс с убывающей предельной отдачей: каждый дополнительный токен конкурирует за внимание, а более длинное окно всё равно может снизить точность в отношении важной информации (Anthropic). Исследование распада контекста от Chroma показывает ту же общую закономерность на контролируемых задачах: по мере увеличения входных данных качество часто снижается, даже если сама задача остаётся простой (Chroma).

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

Какой жизненный цикл контекста нужно спроектировать

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

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

Промышленный агент не загружает один неизменный блок данных. Он многократно собирает контекст, пока циклически использует инструменты.

Используйте семь направлений:

  1. Инструкции - системный запрос, правила, контракты результата и руководство по инструментам.
  2. Найденные знания - документы, строки или фрагменты, загруженные для текущей цели.
  3. Результаты инструментов - данные, полученные из CRM, поиска, файлов и API.
  4. История разговора - реплики пользователя и помощника, которые ещё находятся в активном окне.
  5. Память - заметки или состояние, хранящиеся вне окна и загружаемые намеренно.
  6. Сжатие - неполные сводки или удаление данных, которые освобождают место и сохраняют непрерывность работы.
  7. Оценка - свидетельства, позволяющие убедиться, что после изменений сборка контекста по-прежнему работает.

Набор средств Anthropic для длительных задач основан на сжатии, структурированных заметках и изоляции вспомогательных агентов, когда одного окна недостаточно (Anthropic). Документация и практические руководства платформы Claude разделяют сжатие всей истории, очистку результатов инструментов и память как разные средства управления разными видами роста (Compaction docs; Context engineering cookbook).

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

Каждое направление по отдельности

Инструкции

При запуске загружайте минимальный и ясный набор инструкций. Anthropic рекомендует выбирать «правильную высоту»: инструкции должны быть достаточно конкретными, чтобы направлять поведение, но достаточно гибкими, чтобы не превращаться в хрупкий псевдокод из условий if-else (Anthropic). Здесь следует размещать долговременные правила. Не вставляйте всю базу знаний в системный запрос.

Ответственный: команда продуктовой разработки вместе с операционной командой в вопросах деловых правил. Срок действия: до выпуска новой версии. Выпускайте изменения через проверку и ограниченный пробный запуск, а не через правки действующей системы (версионирование запросов).

Найденные знания

Предпочитайте поиск непосредственно перед использованием: сохраняйте идентификаторы, например пути, ID и запросы, и загружайте только то, что нужно на текущем шаге (Anthropic). Это отличается от предварительной загрузки всех потенциально связанных документов ещё до первого токена.

Ответственный: владелец знаний или предметной области отвечает за достоверность корпуса, а среда выполнения - за правила поиска. Срок действия: удаляйте фрагменты после завершения шага, если ссылка на источник не должна сохраниться для окончательного ответа. Механизмы разбиения на фрагменты, привязки к источникам и поддержания актуальности рассмотрены на странице о RAG и привязке к источникам.

Результаты инструментов

Результаты инструментов часто оказываются самым крупным и шумным источником роста. Рекомендации Anthropic по созданию инструментов однозначны: возвращайте наиболее содержательные поля, удаляйте низкоуровневый шум и предоставляйте краткую и подробную форму ответа, если агентам нужны оба режима (Writing effective tools). Рекомендация: проектируйте инструменты так, чтобы ответ по умолчанию был небольшим и его можно было запросить повторно, а полные выгрузки выдавались только в явно выбранном подробном режиме.

При длительном выполнении очистка результатов инструментов позволяет удалять старые данные, которые можно запросить повторно, сохраняя сам факт вызова (Cookbook). Правила доступа и безопасной записи для инструментов относятся к отдельной теме; см. статью о безопасном вызове инструментов.

История разговора

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

Ответственный: среда выполнения агента и команда проектирования продукта, отвечающая за пользовательский сценарий хранения данных. Для сеансов виджета, которые сбрасываются при закрытии, нужны явные продуктовые правила (контекст сеанса в виджетах чата).

Память (структурированные заметки вне окна)

Память - это внешнее состояние, которое агент записывает и впоследствии читает: заметки о ходе работы, открытые решения, контрольные точки и предпочтения пользователя, которые должны пережить сброс (Anthropic; Cookbook). Память не должна становиться хранилищем секретов или данных других клиентов.

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

Сжатие

При нехватке места сжатие заменяет старый контекст сводкой и позволяет продолжить работу на её основе (Anthropic). В Claude Messages API серверное сжатие сейчас доступно как бета-функция управления контекстом (compact_20260112). В документированных настройках по умолчанию сжатие запускается при 150,000 входных токенов, а минимальный порог запуска составляет 50,000 токенов (Compaction docs). Эти числа являются настройками платформы по умолчанию, а не универсальным правилом для любой модели или технологического набора.

Если задать собственные инструкции по составлению сводки, согласно документации Claude они полностью заменят запрос по умолчанию, а не объединятся с ним (Compaction docs). Рекомендация: составьте инструкции по сжатию так, чтобы они сохраняли открытые решения, идентификаторы для вызова инструментов и неустранённые риски, а затем проверьте, остаются ли эти сведения после сжатия.

Оценка

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

Таблица решений по направлениям контекста

НаправлениеЧто входитКогда входитКто отвечаетПравила срока действияСвидетельства оценки
ИнструкцииСистемный запрос, правила, контракт результата, руководство по инструментамПри запуске; повторная загрузка только при смене версииРазработка продукта и операционная команда по вопросам правилИстекают только при выпуске новой версииID версии инструкций для выполнения; набор регрессионных проверок после изменения запроса
Найденные знанияОдобренные фрагменты, записи или выдержки для текущей целиНа каждом шаге разговора или работы с инструментом, когда этого требует цельВладелец знаний отвечает за достоверность, среда выполнения - за правила поискаУдалить после шага, если они не нужны для итоговых ссылок; запросить повторно после публикации корпусаПроверка успешного поиска на эталонных вопросах; ловушки для устаревших документов
Результаты инструментовСтруктурированные результаты инструментов: состояние, поля, ошибкиСразу после каждого вызова инструментаПлатформа или автор инструмента отвечает за форму, среда выполнения - за хранениеОчистить или сократить старые результаты, которые можно запросить повторно; сохранить недавнее окно; никогда не хранить секретыОграничения размера результатов; успешный повторный запрос после очистки; проверки формата ошибок
История разговораРеплики пользователя и помощника, всё ещё необходимые для связностиНа каждом шагеСреда выполнения и продуктовая команда, отвечающая за пользовательский сценарий храненияСократить после сжатия; полный сброс завершает историю сеансаСценарии непрерывности разговора; продуктовые проверки поведения при сбросе
Долговременные заметки памятиЗаметки о ходе работы, открытые решения, одобренные предпочтенияЗаписываются во время работы; загружаются в новом сеансе или после сжатияПлатформа отвечает за хранение и изоляцию, продуктовая команда - за допустимые поляЗаметки удаляются с завершением задачи; предпочтения подчиняются правилам храненияСценарии продолжения работы между сеансами; проверки изоляции данных нескольких клиентов
Сводка после сжатияТочная сводка прежнего состояния окнаКогда бюджет токенов достигает заданного порогаОтветственный за правила сжатия в среде выполненияЗаменяет прежнюю полную историю; следующее сжатие может заменить эту сводкуНабор проверок: важные решения и ID сохранены после сжатия, посторонний шум отсутствует
Материалы оценкиЭталонные случаи, средства оценки, проходные пороги, метки сбоевАвтономно и перед выпуском; выборочная проверка действующей системыСовместно инженерная и операционная командыХранить с привязкой к версии выпуска агентаПроходной порог до выдачи права записи; сравнение регрессий после изменений

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

Сбои при слабом жизненном цикле

Сбои контекста часто выглядят так, будто «модель стала хуже», хотя настоящая причина заключается в сборке контекста.

  1. Разрастание инструкций - каждый пограничный случай жёстко записан в системном запросе, поэтому обновления становятся хрупкими.
  2. Перегрузка правилами - в запрос помещены целые руководства, а поиск данных не используется.
  3. Устаревшие найденные сведения - гипотетический пример: агент поддержки всё ещё хранит вчерашний фрагмент правил возврата после того, как финансовая команда опубликовала новое правило, а затем составляет неверное обещание.
  4. Свалка результатов инструментов - гипотетический пример: операционный агент на каждом шаге помещает в окно полную выгрузку CRM, пока ранние факты не теряются в последующем шуме.
  5. История вместо памяти - стенограмму чата считают долговременным источником истины, а затем её стирает сброс виджета или исполнителя.
  6. Амнезия при сжатии - в сводку не попадает ожидающее подтверждения решение или ID обращения, и последующие инструменты действуют на основе неполного состояния.
  7. Память без изоляции - в заметках сохраняются сведения другого клиента или необработанные секреты.
  8. Отсутствие оценки сборки - оценивается только итоговый текст, поэтому загрязнённый контекст незаметно попадает в рабочую систему.

Эти проблемы входят в более широкую карту сбоев агентов в реальной эксплуатации. Когда само исследование переполняет ведущего агента, изолируйте поиск во вспомогательных агентах и возвращайте краткие сводки (Anthropic; компромиссы разных схем рассмотрены в статье несколько агентов или один агент).

Минимальный чек-лист для одного рабочего пути

Используйте его как первую рабочую проверку, а не как показную оценочную ведомость зрелости.

  1. Назовите рабочий процесс и необратимые действия, требующие подтверждения.
  2. Напишите короткий набор инструкций на правильном уровне детализации и версионируйте его.
  3. Перечислите инструменты и обеспечьте содержательные ответы по умолчанию.
  4. Определите идентификаторы поиска и сроки хранения фрагментов знаний.
  5. Решите, что относится к истории сеанса, а что к долговременной памяти.
  6. Выберите для длительных задач пороги сжатия и очистки результатов инструментов.
  7. Добавьте оценочные случаи, которые выявляют пустое, устаревшее или переполненное направление контекста.
  8. Убедитесь, что для разбора происшествий можно восстановить сведения, доступные модели (наблюдаемость).

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

Частые вопросы

Инженерия контекста нужна только агентам для программирования?

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

Нужен ли встроенный механизм сжатия Anthropic, чтобы заниматься инженерией контекста?

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

Чем это отличается от RAG?

RAG отвечает на вопрос, как хранить и находить документы для привязки к источникам. Инженерия контекста определяет, когда эти документы и все остальные данные занимают дефицитное окно, как долго они там остаются и что заменяет их при нехватке места. Используйте оба подхода и не сводите их к одному модному слову.

Спроектируйте жизненный цикл вместе с Dali

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

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