Миллион токенов контекста: как не утонуть в нём — на примере Nova Premier
Большое окно — не бесплатное. Показываем, как строить запросы к моделям с миллионным контекстом на длинных документах, чтобы платить за контекст осознанно.
Никита Барсуков
Миллион токенов контекста: как не утонуть в нём
С окном в 1M токенов, как у Nova Premier от Amazon, хочется закинуть весь корпус и спрашивать. Так делать почти никогда не стоит. Большой контекст включают под задачу, а не по умолчанию: у него есть цена и свои ловушки.
Nova Premier в каталоге Yenisei нет. Модели с окном около миллиона токенов у нас такие: Yenisei Max (yenisei-max), DeepSeek V4 Pro (deepseek-pro), Kimi K3 (kimi-k3), GLM 5.3 (glm-5.3), Llama 4 Scout (llama-4-scout). Всё ниже относится к любой из них.
Что такое миллион на самом деле
Миллион токенов — это грубо 700–750 тысяч слов, то есть увесистая книга или пара сотен PDF-страниц. Модель может держать это в одном запросе, но есть три оговорки:
- Вы платите за каждый входной токен. Забили окно под завязку на каждом вызове — получили счёт, пропорциональный этому объёму, помноженный на число запросов.
- Внимание не идеально. Даже у хороших моделей факт, спрятанный в середине огромного полотна, находится хуже, чем тот же факт в начале или в конце.
- Задержка растёт. Чем больше вход, тем дольше ждать первого токена.
Когда большое окно оправдано
- Разовый анализ целого документа, где связи размазаны по всему тексту: договор с перекрёстными ссылками на пункты, длинный технический отчёт, кодовая база модуля.
- Разбор с картинками: текст плюс схемы и скриншоты в одном контексте — для этого нужна модель с изображениями на входе, например Yenisei Max или Kimi K3.
- Задачи «найди все упоминания X и сведи», где заранее непонятно, где именно лежит нужное.
Когда лучше RAG
Если у вас база знаний, по которой идут сотни однотипных вопросов, набивать миллион токенов в каждый запрос — расточительство. Дешевле и точнее собрать RAG: разбить корпус на куски, проиндексировать эмбеддингами (BGE-M3, bge-m3), доставать в контекст только релевантное. Тогда в модель уходит не миллион токенов, а пять-десять тысяч по делу.
from openai import OpenAIclient = OpenAI( base_url="https://api.yenisei.ru/v1", api_key="YENISEI_KEY",)resp = client.chat.completions.create( model="deepseek-pro", messages=[ {"role": "system", "content": "Отвечай строго по приложенным фрагментам. Если ответа нет — так и скажи."}, {"role": "user", "content": f"Вопрос: {question}\n\nФрагменты:\n{retrieved_chunks}"}, ],)print(resp.choices[0].message.content)Практические приёмы
- Важное — по краям. Инструкцию и ключевой вопрос ставьте в начало и повторяйте в конце. Балласт — в середину.
- Просите ссылки на источник. «Укажи, из какого фрагмента взят факт» резко снижает выдумывание.
- Не повторяйте неизменное. Если системный промпт и справочник одинаковы между запросами, подумайте, нужны ли они целиком в каждом вызове.
- Измеряйте. Прогоните свою задачу на 50K и на 500K контекста и сравните качество. Часто разница меньше, чем разница в счёте.
Итог
Миллионное окно нужно для задач, где контекст физически не режется на части без потери смысла. Всё остальное дешевле и надёжнее решается связкой «эмбеддинги + аккуратная выборка + модель поменьше». Большое окно держите в резерве, а не включайте по привычке.