Skip to main content

Инженерия контекста (Context Engineering)

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

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

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

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

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

Ключевые практики эффективной инженерии контекста:

  1. Приоритизация релевантности: Извлекать только наиболее полезную информацию из памяти или баз знаний, а не без разбора добавлять большие блоки текста.
  2. Поддержание ясности: Через структурированное форматирование или схемы, такие как Model Context Protocol (MCP), которые передают состояние и извлеченные знания модели предсказуемым, интерпретируемым способом.
  3. Использование суммаризации: Техники сжатия более длинных историй в краткие представления, сохраняя критические детали без траты токенов.
  4. Динамическая сборка: Обеспечение того, чтобы контекст динамически собирался на каждом шаге вывода, чтобы отражать текущие цели агента, этап рабочего процесса и пользовательский ввод.

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

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

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