Искусство Context Engineering: как сделать AI-агента умнее с помощью фокусированного контекста
Почему контекст важен
Контекст — это ограниченный, но решающий ресурс для AI-агентов. Производительность агента часто зависит не столько от размера модели, сколько от того, как отобрана, упорядочена и подана информация во время вывода. Даже скромная LLM может работать надежно при правильно организованном контексте; напротив, никакая передовая модель не исправит плохо отобранный контекст.
Context engineering vs prompt engineering
Prompt engineering сосредоточен на создании конкретных инструкций и примеров для управления поведением модели. Context engineering рассматривает весь набор входных данных, видимый модели, как уровень проектирования: системные сообщения, результаты инструментов, память, внешние данные и история сообщений. По мере того как агенты решают многотуровые и длительные задачи, тщательная кураторская работа с контекстом становится ключевой.
Ключевые компоненты эффективного контекста
Системные промпты
Держите системные промпты короткими, конкретными и гибкими. Используйте структурированные секции, такие как
Инструменты
Инструменты — это интерфейс агента с внешним миром. Создавайте небольшие, сфокусированные и не пересекающиеся инструменты с понятными входными параметрами. Меньше, но хорошо продуманных инструментов упрощают поддержку и делают поведение агента предсказуемым.
Примеры и few-shot промпты
Используйте репрезентативные, разнообразные примеры, которые показывают паттерны, а не исчерпывают правила. Включение как хороших, так и плохих примеров помогает определить границы поведения.
Знания
Вводите предметно-специфичные артефакты: API, рабочие процессы, модели данных. Это переводит агента от простой предсказательной машины к инструменту принятия решений в предметной области.
Память
Проектируйте память как многослойную систему:
- Краткосрочная память для последних шагов рассуждений и истории чата
- Долгосрочная память для данных компании, предпочтений пользователей и выученных фактов
Память обеспечивает непрерывность между ходами, но её нужно кураторить, чтобы не перегружать внимание модели.
Результаты инструментов
Возвращайте outputs инструментов в модель как структурированный контекст для самокоррекции и динамических рассуждений. Убедитесь, что результаты инструментов дистиллированы и помечены, чтобы уменьшить шум.
Динамическое извлечение контекста: сдвиг к just-in-time
Статические, предварительно загруженные контексты уступают место подходу just-in-time (JIT). Вместо того чтобы заполнять окно контекста всеми потенциально релевантными данными заранее, агенты извлекают только те данные, которые необходимы в момент рассуждения, через запросы, доступ к файлам или API. JIT повышает эффективность памяти, снижает шум и напоминает человеческие практики вроде закладок и заметок.
Гибридные стратегии сочетают JIT с небольшим набором заранее загруженных высокоценностных фактов для скорости. Внедрение JIT требует продуманного дизайна инструментов и ограничений, чтобы предотвратить зацикливание на ошибочных путях.
Поддержание когерентности на длительных горизонтах
Агенты часто действуют в задачах, которые превышают окно контекста модели. Несколько инженерных паттернов помогают сохранять когерентность и целенаправленное поведение:
Компа́кция (дистиллятор)
Когда буфер заполняется, компактуйте старые сообщения, суммируя и выделяя ключевые факты и решения. Отбрасывайте избыточные сырьевые результаты, сохраняя при этом нарратив и важные данные.
Структурированные внешние заметки
Записывайте постоянные, лёгкие заметки во внешние хранилища (например, NOTES.md или специализированный инструмент памяти). Эти заметки служат сжатой долгосрочной памятью, к которой агент может обращаться без раздувания активного контекста.
Архитектуры с суб-агентами
Используйте специализированные суб-агенты для глубоких исследований или узких задач. Каждый суб-агент работает в своём окне контекста и возвращает сжатое резюме координатору, сохраняя основную память чистой и сфокусированной.
Последствия для продакшн-систем
Context engineering переводит контекст из второстепенного фактора в центральный элемент проектирования. Команды должны думать системно: как промпты, инструменты, извлечение, память и компакция взаимодействуют, чтобы сохранять сигнал, уменьшать шум и поддерживать надёжное многотуровое рассуждение. Хорошо спроектированная экосистема контекста делает агентов эффективными и устойчивыми по мере роста сложности задач.