DEV Community на русском
Подписаться
📦 Инженерия контекста ИИ (Часть 2): Токены, контекстные окна и память — почему больше контекста не всегда лучше
Создание эффективных приложений на базе ИИ требует не только написания хороших подсказок; Правильный контекст крайне важен. Это подводит к вопросу, сколько контекста ИИ действительно может обрабатывать, поскольку разработчики часто сталкиваются с тем, что ассистенты ИИ забывают информацию, переданную ранее в разговоре. Это явление связано с концепцией контекстного окна, являющейся ключевым элементом современных систем ИИ. Прежде чем понимать контекстные окна, необходимо разобраться в концепции токенов — основных единиц текста, обрабатываемых моделями ИИ.Жетоны не эквивалентны словам; это меньшие фрагменты текста, генерируемые токенайзером, который выступает в роли переводчика между человеческим языком и моделью ИИ. Способ разбиения текста на токены варьируется, то есть одно и то же количество символов или слов может привести к разному общему количеству токенов в зависимости от сложности содержимого, например, кода, JSON или URL-адресов. Разработчики должны заботиться о токенах, потому что они существенно влияют на стоимость, задержку, качество отклика и масштабируемость.Каждый запрос ИИ потребляет токены, включая системные инструкции, пользовательские запросы, историю разговоров и полученные данные. При взаимодействии с ИИ приложение часто отправляет большой набор токенов, даже для простого запроса. Каждый новый запрос от ИИ обычно начинается заново, и приложение требует повторной отправки соответствующей истории разговоров для поддержания согласованности. Контекстное окно представляет максимальное количество токенов, которые модель ИИ может рассматривать одновременно для одного ответа. Подобно белой доске, информация в контекстном окне доступна, но пространство ограничено.Современные приложения на базе ИИ создают богатый контекст перед отправкой его в модель, часто включая системные инструкции, историю разговоров, полученные знания и загруженные файлы, делая запрос пользователя небольшой частью всего входа. Большее окно контекста не гарантирует автоматически лучшую производительность ИИ; Оптимизация контекста путём включения релевантной информации и исключения шума гораздо важнее. Проблема «Потерянные посередине» подчёркивает, что информация, глубоко скрытая в очень широком контексте, может получать меньше внимания.Главное, что контекст — это не память; Контекст — это информация, доступная для текущего запроса, а память — это данные, намеренно хранящиеся и повторно вводящиеся приложением в будущие разговоры. Понимание этих различий — ключ к созданию и эффективному взаимодействию с ИИ.