Ещё недавно ассистент «забывал» начало длинного диалога уже через пару страниц переписки. Сегодня контекстные окна выросли на порядки — счёт идёт на сотни тысяч и даже миллионы токенов. Звучит впечатляюще, но что это значит на практике и стоит ли гнаться за самым большим окном?
Разберём, что такое токены и контекстное окно, что реально даёт миллион токенов, где у больших окон скрытые ограничения и почему длинный контекст не отменяет нормальную память.
#Что такое токены и контекстное окно
Токен — это кусочек текста, которым оперирует модель. Это не буква и не слово целиком, а что-то среднее: часть слова, короткое слово или знак препинания. Для русского текста грубая прикидка — примерно 2–3 токена на слово; для английского ближе к 1,3. Точное соотношение зависит от модели и токенизатора.
Контекстное окно — это максимальный объём токенов, который модель «видит» одновременно: ваш запрос, история диалога, приложенные документы и сам ответ. Всё, что выходит за границу окна, модель просто не учитывает — для неё этого не существует.
Грубый ориентир, чтобы почувствовать масштаб:
| Объём | Примерно в токенах |
|---|---|
| Страница текста | ~500–800 |
| Большая статья | ~3 000–5 000 |
| Толстая книга | ~150 000–250 000 |
| Окно в 1 млн | несколько книг сразу |
#Что даёт миллион токенов
Большое окно снимает целый класс неудобств. Раньше длинный документ приходилось резать на куски и скармливать по частям, теряя связи между ними. С миллионом токенов многое помещается целиком.
Где это особенно заметно:
- Работа с большими документами. Договор, техзадание, диссертация — можно загрузить целиком и задавать вопросы по всему тексту сразу.
- Анализ кодовой базы. Десятки файлов проекта помещаются в одно окно, и модель видит связи между модулями, а не отдельный фрагмент.
- Длинные диалоги. Многочасовая сессия не обрезается по ходу — ранние детали остаются доступны.
- Сравнение источников. Несколько отчётов или версий документа можно держать рядом и сопоставлять.
Главная ценность простая: меньше ручной нарезки и меньше риск, что важная деталь выпала за край окна.
#Ограничение «потерянного в середине»
Большое окно — не гарантия, что модель одинаково хорошо использует весь его объём. Известен эффект «lost in the middle»: информация в начале и в конце контекста воспринимается надёжнее, чем то, что лежит в середине длинного текста.
Поместить миллион токенов в окно — не то же самое, что заставить модель одинаково внимательно прочитать каждый из них.
Из этого следуют практические выводы:
- Ключевые инструкции и важные данные лучше ставить в начало или в конец запроса.
- Не стоит полагаться, что нужный факт «где-то в середине» 800-тысячного документа точно всплывёт.
- Чем плотнее набито окно нерелевантным текстом, тем выше шанс, что модель отвлечётся на лишнее.
И более общий вывод, который стоит усвоить до покупки чего-либо: заявленный размер окна — это предел, на котором модель не падает, а не длина, на которой она удерживает факты. Разрыв между двумя цифрами бывает кратным, и измерить его на своей модели можно самому — методика в разборе заявленного контекста против полезного.
Плюс чисто прикладные ограничения: чем больше токенов на входе, тем выше задержка ответа и стоимость обработки. Забивать окно «про запас» — не всегда разумно.
#Когда большой контекст не заменяет память и RAG
Здесь важная развилка. Контекстное окно — это краткосрочная рабочая память: всё в нём живёт только в рамках одного запроса. Закрыли сессию — содержимое окна исчезло. Поэтому большое окно не делает ассистента «помнящим вас».
Долгосрочная память — это отдельный механизм: факты о вас и ваших проектах сохраняются между сессиями и подтягиваются в нужный момент. Как именно это устроено, разбирали в статье про то, как работает память ИИ. Отдельный слой — версионирование фактов, когда память помнит не только текущее значение, но и то, что оно менялось: механика в статье про чат с памятью и bi-temporal факты.
Связанный подход — RAG (retrieval-augmented generation): вместо того чтобы заталкивать в окно всю базу знаний, система находит только релевантные фрагменты и подаёт их модели. Это часто эффективнее, чем грубая сила большого окна:
- дешевле — обрабатывается меньше токенов;
- точнее — меньше шума и меньше эффекта «потерянного в середине»;
- масштабируемее — база знаний может быть в сотни раз больше любого окна.
Большое окно и RAG не конкурируют, а дополняют друг друга. И ни то, ни другое не отменяет потребности в персональной памяти — это и есть одно из ключевых свойств личного ИИ.
#Локально или в облаке
Размер окна по-разному отзывается в двух сценариях. У облачных моделей окна обычно крупнее, но каждый загруженный токен — это данные, ушедшие на сторону провайдера, плюс плата за объём.
Локальные модели чаще скромнее по размеру окна и упираются в память видеокарты: длинный контекст требует много VRAM, причём растёт это отдельно от веса самой модели. Считается это по формуле из двух слагаемых — вес модели плюс кэш под контекст, — и она разобрана в статье сколько нужно VRAM для локальной LLM. Зато при локальном запуске текст не уходит наружу — при условии, что и приложение, и модель развёрнуты на вашей машине. Компромиссы между двумя подходами подробно разобраны в материале про локальную модель против облака.
На практике разумная стратегия — не «всё в окно», а гибрид: чувствительное держать локально, тяжёлый разовый анализ больших документов отдавать в облако осознанно.
#Частые вопросы
#Почему модель с окном на 128 тысяч токенов «забывает» середину документа?
Потому что размер окна и внимание к его содержимому — разные вещи. Информация в начале и в конце контекста используется надёжнее, чем в середине, и на длинных текстах это заметно. Практический приём — класть инструкции и ключевые данные по краям, а не в глубину.
#Сколько VRAM нужно, чтобы поднять контекст локально?
Отдельно от веса модели контекст занимает кэш, который растёт с длиной окна, числом слоёв и разрядностью хранения. Поэтому увеличение контекста иногда стоит дороже, чем переход на модель побольше. Считайте по формуле, а не по обещаниям карточки модели.
#Можно ли увеличить контекст квантизацией?
Квантизация уменьшает вес самой модели и освобождает память, часть которой можно отдать под контекст. Отдельно квантуется и кэш контекста — это второй рычаг. Где проходит точка перелома по качеству, разобрано в статье про квантизацию Q4, Q5 и Q8.
#Что дешевле — большое окно или RAG?
При регулярной работе с одной и той же базой знаний RAG дешевле почти всегда: вы обрабатываете сотни релевантных токенов вместо сотен тысяч. Большое окно выигрывает на разовых задачах, где документ нужно прочитать целиком и связи между удалёнными частями важны. Это не конкуренция, а разные режимы.
#Заменяет ли миллион токенов персональную память?
Нет, и это самое частое заблуждение. Содержимое окна исчезает вместе с сессией, а память должна переживать перезапуск и накапливаться месяцами. Даже если вы каждый раз будете загружать всю историю в окно, вы заплатите за это токенами и потерей внимания модели к деталям.
#Как посчитать, сколько токенов в моём документе?
Грубая прикидка для русского текста — 2–3 токена на слово, для английского около 1,3. Для точной цифры нужен токенизатор конкретной модели, потому что у разных моделей разбиение отличается, особенно на кириллице. Для планирования хватает грубой оценки с запасом в полтора раза.
#Вывод
Миллион токенов — это мощный инструмент, а не волшебная кнопка. Большое окно избавляет от ручной нарезки документов и помогает видеть картину целиком, но не гарантирует идеального внимания ко всему объёму и не заменяет долгосрочную память. Если вы разово разбираете большой документ — берите модель с большим окном и кладите главное по краям. Если вы работаете с одной базой знаний постоянно — стройте RAG. А если нужно, чтобы ассистент помнил вас между сессиями, ни то ни другое не поможет: нужна отдельная память.