Шо такое этот ваш Context Engineering?
На прошлом посте на превью доклада про 12 Factor Agents фигурировал термин Контекст Инжиниринга, го разберемся что это такое.
Ранее мы с вами привыкли к промпт инжинирингу, главной задачей которого было сформулировать правильный промпт (набор инструкций, правильно сформулированная задача, роль и так далее). Теперь, с развитием агентного подхода использования языковых моделей важно управлять всем состоянием агента: историей, системными инструкциями, инструментами и внешними данными.
Контекст, по факту стал главным ограниченным ресурсом. Он в целом ограничен (базово 256к, есть флагманские модели, которые под дорогой подпиской, которые могут на вход впитать контекст в 2кк токенов, но качество работы с ним оставляет желать лучшего).
С ростом объема контекста модель теряет способность надежно фокусироваться, потому что количество "фокуса", доступное ей не изменяется. Поэтому, на контексте в 2-5кк токенов будет максимальное внимание к каждому слову, а с ростом контекста до 256к будут пропускаться большие куски информации (как будто они и не подавались на вход вовсе). Поэтому нужно добиваться максимальной полезности каждого токена, следить за контекстом и своевременно прибираться в нем
Базовая гигиена на старте работы с контекстом:
- Системные инструкции — ясные, лаконичные, но достаточно информативные
- Инструменты — простые, без дублирования функций, возвращающие "токен-эффективные" данные (еще одна причина писать MCP-адаптеры на все API)
- Few-shot примеры — тщательно подобранные, емкие и описательно ценные
Динамическое извлечение контекста Не надо загружать все, пусть агент держит ссылки на определенные куски знаний и загружает нужные части "на лету". Это снижает нагрузку на контекст и позволяет работать гибче.
Работа на длинной дистанции:
- Compaction — когда контекст переполняется, делаем суммаризацию и запускаем новое "окно" контекста
- Structured note-taking — агент записывает важные факты вне контекста, подгружая при необходимости
- Sub-agents — главный агент делегирует задачи субагентам, получая сжатые результаты, не засоряя операционными знаниями основной контекст
Подробнее можно почитать тут: https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
В этом посте были ссылки, но мы их удалили по правилам Сетки