1 миллион токенов — и что дальше? Гонка контекстных окон уже не про размер, а про то, что с ним делать
1 миллион токенов — и что дальше? Гонка контекстных окон уже не про размер, а про то, что с ним делать
13 марта Anthropic сделал 1M контекст в Opus 4.6 доступным всем — без бета-заголовков, без наценки, без ограничений по тарифу. Запрос на 900K токенов стоит столько же за токен, сколько запрос на 9K. Это не эксперимент — это новая норма.
И вот вопрос, который повис в воздухе: а что теперь? Миллион — это потолок или ступенька? Куда катится гонка контекстных окон и почему самое большое окно — далеко не самое полезное?
TL;DR: 1M токенов стал commodity — он есть у Claude, Gemini, GPT. Meta заявляет 10M в Llama 4 Scout, Magic.dev — 100M. Но реальная битва уже не за размер окна, а за quality of context: context rot убивает точность на длинных сессиях, а context engineering — набор техник правильного заполнения окна — становится ключевым навыком для разработчиков в 2026 году.
Текущий расклад: у кого сколько
Полгода назад 200K токенов казались роскошью. Сейчас миллион — это минимальная ставка для tier-1 моделей:
- Claude Opus 4.6 — 1M токенов, $5/$25 за миллион (input/output), 78.3% на MRCR v2 — лучший результат среди frontier-моделей на этой длине
- Gemini 2.5 Pro — 1M токенов, стабильный GA
- GPT-5.4 — 1M токенов
- Llama 4 Scout — заявлено 10M токенов (open-source, MoE 17B×16E)
- Magic.dev LTM-2-Mini — заявлено 100M токенов
На бумаге впечатляет. Но бумага — терпеливый материал.
10M и 100M — маркетинг или реальность?
Llama 4 Scout: 10M на бумаге, 256K на практике
Meta представила Llama 4 Scout с контекстным окном в 10 миллионов токенов. Звучит как прорыв — но дьявол в деталях.
Модель обучена и файнтюнится на 256K контексте. 10M достигается через iRoPE (interleaved Rotary Position Embeddings) — архитектурный трюк, который позволяет экстраполировать позиционные кодировки за пределы обучающей длины. Meta показала стабильные NLL (negative log-likelihoods) на 10M токенах кода и прохождение needle-in-a-haystack тестов.
Но NLL и needle-in-a-haystack — это не рабочие задачи. Одно дело найти иголку в стоге сена, другое — построить из этого сена дом. На реальных задачах вроде кодинга, где нужно рассуждать о связях между разными частями контекста, качество предсказуемо деградирует после 256K. Независимых бенчмарков на полные 10M пока нет.
Magic.dev LTM-2-Mini: 100M через новую архитектуру
Magic.dev пошли радикальнее — вместо трансформерной attention они используют собственную архитектуру Long-Term Memory. По их заявлениям, на 100M токенах LTM-2-Mini в 1000 раз дешевле по compute на декодирование, чем attention в Llama 3.1 405B. Для сравнения: чтобы просто хранить KV-cache на 100M токенов для Llama 405B, нужно 638 GPU H100 на одного пользователя. LTM укладывается в долю одного GPU.
Но модель не публичная, доступна только через waitlist, и единственный бенчмарк — их собственный HashHop, специально разработанный для тестирования длинных контекстов. По заявлению Magic.dev, модель заточена исключительно под кодинг — но независимых замеров пока нет.
Почему больше ≠ лучше: context rot
Вот ключевое число, которое объясняет всё: MRCR v2 (Multi-turn Retrieval and Compositional Reasoning) на 1M токенах:
- Opus 4.6 — 78.3%
- Sonnet 4.5 — 18.5%
Четырёхкратная разница на одной и той же длине контекста. Это означает, что даже среди моделей одного вендора качество работы с длинным контекстом отличается радикально. Модель может принять миллион токенов — но это не значит, что она использует их с пользой.
Это явление называют context rot — деградация качества по мере роста контекста. Механизм простой: attention — это конечный ресурс. Каждый добавленный токен размывает внимание модели на все остальные. На коротких контекстах это незаметно, но на 500K+ начинает проявляться: модель "забывает" решения из начала сессии, повторяет уже отвергнутые подходы, теряет нюансы.
Исследование "Context Length Alone Hurts" показывает, что на кодинг-задачах полный коллапс производительности может наступить уже на 30K токенов — если контекст забит нерелевантным шумом. А RULER-бенчмарк фиксирует 50-65% эффективной утилизации окна для большинства моделей.
Auto-compact: лекарство хуже болезни?
Claude Code борется с context rot через auto-compaction — когда контекст приближается к лимиту, ранние сообщения сжимаются в саммари. Звучит разумно, работает — спорно.
Проблема: compaction — это lossy compression рабочей памяти. 50-строчное обсуждение архитектуры превращается в одно предложение. 20-минутный дебаг теста — в "fixed test issues". Агент теряет почему за решениями и оставляет только поверхностное что.
С 1M контекстом auto-compact срабатывает реже — но когда срабатывает, потери масштабнее, потому что к этому моменту в контексте накопилось больше важного. Opus 4.6 улучшил compaction — теперь он сохраняет архитектурные решения и нерешённые проблемы, а не просто делает naive summary. Но это всё ещё компромисс.
Workaround: запускать /compact руками до того, как auto-compact сработает сам, с явными инструкциями что сохранить:
/compact preserve file paths I modified, current test failures, and the auth refactoring plan
Или настроить порог через переменную окружения:
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=85
Context engineering: новый навык 2026 года
Если prompt engineering — это "как задать правильный вопрос", то context engineering — это "как создать правильную среду, в которой модель принимает решения". И это значительно сложнее.
Anthropic, Manus и Martin Fowler выпустили подробные гайды, и вот что из них следует на практике:
1. KV-cache hit rate — главная метрика
У Manus соотношение input/output токенов — примерно 100:1. Кешированные токены стоят $0.30 за миллион, некешированные — $3.00. Десятикратная разница. Если ваш prompt нестабилен (меняется порядок ключей в JSON, добавляются/удаляются инструменты), кеш инвалидируется, и каждый запрос стоит как первый.
Конкретно: стабильный префикс промпта, append-only контекст (не редактировать предыдущие действия), детерминистическая сериализация, session-based routing для кеш-консистентности.
2. Файловая система вместо контекста
Вместо того чтобы набивать контекст всем подряд, используйте файлы как "внешнюю память". В контексте храните только ссылки — пути к файлам, URL, запросы. Полный контент подгружайте по требованию. Именно так работает Claude Code с его CLAUDE.md, memory-файлами и todo-списками.
3. Todo-recitation: борьба с дрейфом
На длинных задачах (50+ tool-вызовов) агент теряет фокус — забывает изначальную цель и начинает "дрифтить". Manus решает это через непрерывное обновление todo.md — файл с текущими задачами, который пересоздаётся каждые N шагов и попадает в свежую часть контекста, где attention максимален.
4. Ошибки — часть контекста
Контринтуитивный приём: не убирайте ошибки из контекста. Неудачная попытка со стек-трейсом помогает модели обновить свои "верования" о том, что не работает. Это один из самых чётких индикаторов настоящего агентного поведения — и он бесплатно повышает качество.
Подводные камни
1M токенов ≠ бесплатно. Запрос на 900K input-токенов к Opus 4.6 стоит $4.50. Если агент делает 10 таких запросов за сессию — это $45 только на вход. С thinking-токенами ($25/M output) итоговая сессия легко уходит за $100. Adaptive reasoning с уровнями low/medium/high/max помогает — но только если вы осознанно переключаете effort level, а не оставляете high по умолчанию на всё.
Latency масштабируется нелинейно. Первый response на 1M контексте ощутимо медленнее, чем на 200K. Prefill фаза (обработка всего input перед генерацией) растёт квадратично с длиной в vanilla attention. Prompt caching смягчает это при повторных запросах, но первый "холодный" запрос будет долгим.
10M и 100M — не для вашего ноутбука. Llama 4 Scout на 10M контексте требует инфраструктуры, которой нет у 99% разработчиков. Magic.dev вообще не дают доступ к модели. Эти числа интересны как research direction, но не как инструмент на завтра.
Альтернативы тому, чтобы впихнуть всё в контекст
-
RAG (Retrieval-Augmented Generation) — вместо загрузки всего кодбейса в контекст, индексируйте его и подгружайте только релевантные фрагменты. Дешевле, предсказуемее, но требует инфраструктуры (vector DB, embedding pipeline). Хорошо работает для "поиск по кодбейзу", плохо — для "пойми архитектуру целиком"
-
Sub-agents — координатор раздаёт задачи специализированным агентам, каждый работает в своём маленьком контексте и возвращает сжатый результат (1-2K токенов). Claude Code уже так делает через Agent Teams. Overhead на координацию, но контекст каждого агента чистый и сфокусированный
-
Structured notes + memory — агент ведёт файлы с заметками (NOTES.md, plan.md, memory/), которые переживают compaction и даже перезапуск сессии. Не замена длинного контекста, а дополнение — для информации, которая должна жить дольше одной сессии
Вердикт
1M токенов в Opus 4.6 — это не революция, а коммодитизация. Миллион есть у всех, и сам по себе он ничего не решает. 10M и 100M — технологическое preview, не рабочий инструмент.
Настоящий сдвиг — в том, что context engineering становится навыком уровня "знание Git или SQL" для разработчиков, работающих с AI-агентами. Кто умеет управлять контекстом — экономит в 10 раз на API, получает стабильные результаты на длинных задачах и не теряет важное при compaction. Кто не умеет — платит больше за худший результат.
Если вы работаете с Claude Code, Cursor или любым другим AI-агентом — вкладывайтесь не в "как запихнуть больше токенов", а в "как запихнуть правильные токены".
Как попробовать
- Проверьте, что у вас 1M контекст: в Claude Code выполните
/model— должен быть Opus 4.6 (1M context). Max, Team и Enterprise планы получают его автоматически - Настройте auto-compact:
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=85в вашем.zshrc— compaction сработает позже, сохранив больше контекста - Попробуйте ручной compact с инструкциями: после долгой сессии выполните
/compact preserve architecture decisions, modified files, and current task plan - Прочитайте гайд Anthropic по context engineering: anthropic.com/engineering/effective-context-engineering-for-ai-agents — конкретные техники с примерами
- Посмотрите подход Manus: manus.im/blog/Context-Engineering-for-AI-Agents — KV-cache оптимизация, todo-recitation, error-in-context