Context Engineering for AI Agents: Key Lessons from Manus
Создание эффективных ИИ-агентов — это не только выбор мощной языковой модели. Проект Manus подчеркивает, что проектирование и управление «контекстом» — информацией, которую ИИ обрабатывает для принятия решений — играет решающую роль. Это «инженерия контекста» значительно влияет на скорость, стоимость, надежность и интеллект агента.
Изначально был выбран путь использования обучения в контексте перед медленным итеративным дообучением. Этот подход позволяет быстро вносить улучшения, адаптируя продукт к развивающимся возможностям ИИ. Однако этот путь оказался сложным, приведя к множественным перестройкам фреймворка через процесс, называемый «Случайный Градиентный Спуск» — процесс экспериментального угадывания.
Ключевые уроки, извлеченные из Manus для эффективной инженерии контекста
Проектируйте вокруг KV-кэша
KV-кэш имеет жизненно важное значение для производительности агента, напрямую влияя на задержки и затраты. Агенты постоянно добавляют действия и наблюдения к своему контексту, что делает ввод значительно длиннее вывода. KV-кэш повторно использует идентичные префиксы контекста, что резко сокращает время обработки и стоимость.
- Стабильные префиксы подсказок: Даже одно изменение токена в начале вашей системной подсказки может сделать кеш недействительным. Избегайте динамических элементов, таких как точные временные метки.
- Контекст только для добавления: Не изменяйте прошлые действия или наблюдения. Обеспечьте детерминированную сериализацию данных (например, JSON), чтобы предотвратить тонкие сбои кэша.
- Явные контрольные точки кэша: Некоторые фреймворки требуют ручного вставления контрольных точек кэша, желательно после системной подсказки.
Маскируйте, не удаляйте
Когда агенты получают больше инструментов, их пространство действий становится сложным, потенциально «ослабляя» агента, когда он борется с правильным выбором. Хотя динамическая загрузка инструментов может казаться интуитивной, она делает KV-кэш недействительным и сбивает модель с толку, если прошлый контекст ссылается на неопределенные инструменты.
Manus использует контекстно-осведомленную конечную машину для управления доступностью инструментов, маскируя логиты токенов во время декодирования. Это предотвращает выбор недоступных или неподходящих действий без изменения основных определений инструментов, сохраняя контекст стабильным и агента сосредоточенным.
Используйте файловую систему как контекст
Даже с большими окнами контекста (128K+ токенов) реальные наблюдения агента (например, веб-страницы или PDF-файлы) могут легко превышать лимиты, ухудшая производительность и увеличивая затраты. Необратимое сжатие рискует потерять критически важную информацию, необходимую для будущих шагов.
Manus рассматривает файловую систему как окончательный, неограниченный контекст. Агент учится читать и записывать файлы по мере необходимости, используя файловую систему как внешнюю, структурированную память. Стратегии сжатия разработаны так, чтобы быть восстанавливаемыми (например, сохраняя URL, но отбрасывая содержимое страницы), эффективно уменьшая длину контекста без постоянной потери данных.
Манипулируйте вниманием через повторение
Агенты могут терять фокус или забывать долгосрочные цели в сложных многошаговых задачах. Manus решает эту проблему, заставляя агента постоянно переписывать файл todo.md. Проговаривая свои цели и достижения в конце контекста, внимание модели смещается в сторону глобального плана, уменьшая проблемы «потерянности посреди» и снижая несоответствие целей.
Оставляйте ошибки на месте
Агенты будут ошибаться — галлюцинировать, сталкиваться с ошибками, вести себя неправильно. Естественная реакция — исправить эти неудачи. Однако Manus обнаружил, что оставление неудачных действий и наблюдений в контексте неявно обновляет внутренние убеждения модели. Наблюдая за своими ошибками, агент учится и снижает вероятность повторения одной и той же ошибки, что делает восстановление после ошибок ключевым индикатором истинного агентного поведения.
Не попадайтесь на короткие подсказки
Хотя короткие подсказки мощны для LLM, они могут сыграть злую шутку с агентами, приводя к подражанию и субоптимальному, повторяющемуся поведению. Когда контекст слишком однороден с похожими парами действие-наблюдение, агент может оказаться в замкнутом круге, что приводит к дрейфу или галлюцинации.
Решение — контролируемое разнообразие. Manus вводит небольшие вариации в шаблоны сериализации, формулировки или форматирование в контексте. Этот «шум» помогает разорвать повторяющиеся паттерны и переключить внимание модели, предотвращая её застревание в жестком подражании прошлым действиям.
Заключение
Инженерия контекста — это критически важная область для ИИ-агентов. Она выходит за рамки сырой мощности модели, определяя, как агент управляет памятью, взаимодействует с окружающей средой и учится на обратной связи. Овладение этими принципами имеет решающее значение для создания надежных, масштабируемых и интеллектуальных ИИ-агентов.
Часто задаваемые вопросы (FAQ)
Что такое инженерия контекста для ИИ-агентов?
Инженерия контекста включает в себя проектирование и управление информацией, которую ИИ использует для принятия решений, что критически важно для его эффективности.
Как KV-кэш влияет на производительность агента?
KV-кэш позволяет повторно использовать контекст, что снижает затраты и время обработки, улучшая общую производительность агента.
Почему важно оставлять ошибки в контексте?
Оставление ошибок помогает агенту учиться на своих неудачах и снижает вероятность повторения тех же ошибок в будущем.
Как я могу улучшить свой ИИ-агент с помощью контекстной инженерии?
Следуйте принципам проектирования вокруг KV-кэша, используйте файловую систему как контекст и внедряйте контролируемое разнообразие в ваши данные.
Как избежать «потерянности посреди» в задачах?
Заставьте агента регулярно проговаривать свои цели и достижения, чтобы поддерживать внимание на глобальном плане.
Что такое контролируемое разнообразие?
Контролируемое разнообразие — это введение небольших вариаций в контекст, чтобы предотвратить застревание агента в повторяющихся паттернах поведения.