Контекстное окно
Контекстное окно — фундаментальное ограничение работы с LLM. Модель не имеет долгосрочной памяти: всё, что она знает о текущем разговоре, должно лежать внутри окна.
Из чего состоит контекст
- Системный промпт — общие инструкции и роль модели.
- История диалога — все предыдущие сообщения, если речь о чате.
- Дополнительные документы — выдержки из базы знаний, переданные через RAG.
- Сам запрос пользователя.
- В режиме генерации — постепенно добавляемый ответ модели.
Что происходит, когда контекст переполнен
- API возвращает ошибку, и приходится резать ввод.
- В чатах самые старые сообщения «выпадают» из памяти и модель начинает их забывать.
- Скорость и стоимость растут нелинейно: обработка длинного контекста заметно дороже, чем короткого.
Когда применять и когда нет
Применять
- Когда выбираете модель под задачу: длинный документ или длинная история диалога — это про большое окно
- Когда проектируете чат-бот или агент: важно понимать, как и что вы будете «забывать»
- Когда оцениваете стоимость продукта на больших объёмах текста
Не применять
- Простые короткие запросы — для них окно почти никогда не становится узким местом
Примеры применения
Юридическая команда хочет, чтобы модель проверила длинный договор и нашла противоречия с регламентом компании. Если регламент и договор вместе занимают 200 тысяч токенов, нужно либо использовать модель с большим окном, либо построить пайплайн с RAG: разбить документы на куски, отдавать модели только релевантные фрагменты, а сводный анализ собирать в несколько шагов.
Часто задаваемые вопросы
Нет, если ваше приложение явно не подаёт прошлые сообщения снова. У самой модели нет долгосрочной памяти — она помнит ровно то, что лежит в текущем контекстном окне. Сервисы вроде ChatGPT поддерживают видимость памяти за счёт того, что хранят историю и подкладывают её к каждому запросу.
В сложных задачах это не противопоставление, а сочетание. Большое окно даёт модели возможность одновременно «видеть» больше материала, RAG — способ выбирать релевантные куски. Часто лучший результат даёт средний размер окна плюс хорошо настроенный поиск, чем тупо «загрузить всё».