Главная / Словарь / Контекстное окно нейросети
Контекстное окно нейросети
Контекстное окно - это объём текста, который модель держит перед глазами за один запрос, измеряемый в токенах. Внутрь помещается всё сразу: системная инструкция, история диалога, приложенные документы и сам ответ. Как только сумма превышает лимит, лишнее вытесняется или запрос отклоняется, поэтому окно определяет не столько сообразительность модели, сколько то, какого размера задачу ей вообще можно поручить.
Что входит в контекст модели?
Четыре вещи, и о последней забывают чаще всего. Системная инструкция задаёт роль и правила. История диалога накапливается с каждой репликой и растёт незаметно. Приложенные данные - документы, выгрузки, куски базы знаний. И ответ модели тоже занимает место в том же окне, поэтому при заполненном под завязку входе на длинный ответ места уже не остаётся. В автоматизации из этого следует простое правило: считать бюджет окна заранее, отдельно на инструкцию, отдельно на данные и отдельно на ответ.
Решает ли большое окно проблему длинных документов?
Не полностью. Заявленный миллион токенов означает, что текст поместится, но не означает, что модель одинаково хорошо видит его целиком. На практике внимание распределяется неравномерно: начало и конец контекста модель использует заметно лучше, чем середину, и нужный факт, оказавшийся в середине стостраничного документа, она может просто не найти. Отсюда и вывод, который расходится с интуицией: увеличение окна снижает необходимость нарезать документы, но не отменяет её.
Как работать с ограничением окна?
Не набивать окно всем, что есть, а класть в него только то, что относится к вопросу. Стандартный приём - поиск по базе с подстановкой найденных фрагментов в промпт вместо загрузки всей базы. Второй приём - сжимать историю диалога: хранить не все реплики подряд, а краткое изложение предыдущих шагов плюс несколько последних сообщений целиком. Третий - разделять работу на шаги с промежуточным результатом в строгом формате, чтобы следующему вызову передавалась структура на несколько строк, а не вся переписка.