Context Window (Окно контекста)
Определение
Окно контекста — максимальное число токенов, доступных модели в одном запросе с учётом инструкций, истории, данных, вызовов инструментов и обычно генерируемого ответа. Точный способ подсчёта зависит от API.
🧠 Аналогия с RAM
Полезная, но ограниченная аналогия — рабочая область запроса. Наличие текста в окне не означает, что модель одинаково хорошо использует каждый его фрагмент. Данные за пределами текущего запроса доступны только через историю, внешнее хранилище или повторную передачу.
📉 Проблемы и ограничения
- Lost in the Middle: качество извлечения может зависеть от позиции факта в длинном контексте. Эффект различается между моделями, задачами и форматами промпта.
- Стоимость и скорость: Чем больше токенов отправляется в контекст, тем дороже обходится запрос и тем дольше модель генерирует ответ.
- Полезный контекст не равен максимальному: лишние фрагменты могут отвлекать модель задолго до достижения технического лимита.
Размер окна нельзя надёжно переводить в «число книг»: токенизация, язык, код, изображения и служебный контекст сильно меняют вместимость. Проверяй лимит конкретной модели в документации провайдера.
🛠 Контекст на практике
При работе с базой знаний размер окна определяет, сколько заметок ты можешь «скормить» модели за раз:
- Малое окно: Приходится использовать RAG (Retrieval-Augmented Generation), чтобы выбирать только самые важные куски.
- Большое окно: позволяет передать больше материала, но для поиска по большой базе RAG или предварительный отбор часто дешевле и точнее.
Связанные концепции
- Token — единица измерения контекста.
- Управление длинным контекстом — стратегии работы с большими объёмами.
- RAG (Retrieval-Augmented Generation) — способ расширить «память» модели за пределы её окна.
- Context Engineering — отбор и организация содержимого окна.
- Reasoning Tokens — дополнительный бюджет, который некоторые API учитывают отдельно.
- Multimodality — изображения и аудио тоже занимают доступный бюджет.