Эффективная инженерия контекста для ИИ-агентов (полная статья по ссылке )
Несколько лет подряд всё внимание в прикладном ИИ было приковано к инженерии промптов — искусству формулировать запросы так, чтобы языковая модель выдавала нужный ответ. Но сейчас на смену этому приходит новое понятие: инженерия контекста.
Создание систем на основе языковых моделей (LLM) становится всё меньше похоже на подбор «правильных слов» и всё больше — на ответ на более общий вопрос:
Какой набор информации (контекста) с наибольшей вероятностью заставит модель вести себя так, как нам нужно?
Контекст — это весь набор токенов (слов, символов, инструкций, данных), который подаётся модели при генерации ответа.
Инженерия контекста — это искусство и наука оптимизировать этот набор под ограниченные возможности модели, чтобы стабильно получать желаемый результат.
Эффективная работа с LLM требует «мышления в контексте»: нужно постоянно думать о том, какое состояние (информация) доступно модели в данный момент и какие действия оно может вызвать.
В этой статье мы разберём, почему инженерия контекста стала ключевой для создания умных ИИ-агентов, какие стратегии работают лучше всего и как справляться с ограничениями современных моделей.
Инженерия контекста vs инженерия промптов
В Anthropic мы считаем, что инженерия контекста — это естественное развитие инженерии промптов.
- Инженерия промптов — это методы написания и структурирования инструкций для LLM, чтобы получить оптимальный результат (например, через системные промпты).
- Инженерия контекста — это более широкая дисциплина: она включает не только промпты, но и всё остальное, что попадает в окно контекста модели: инструменты, внешние данные, историю диалога, результаты предыдущих действий и т.д.
Раньше основной задачей было написать хороший промпт для однократной генерации текста или классификации. Но теперь, когда мы строим агентов, которые работают в течение многих шагов и взаимодействуют со средой, одного промпта недостаточно. Нужно управлять всем состоянием контекста — и постоянно его обновлять, сжимать, фильтровать.
Контекстная инженерия — это итеративный процесс: каждый раз, когда вы решаете, что передать модели, вы занимаетесь именно ею.
(перевод и адаптация статьи Anthropic)