Исследователи выяснили, что нейросети теряют точность задолго до заполнения контекстного окна

Маркетинг нейросетей десятый месяц крутится вокруг одной цифры — размера контекстного окна. Миллион токенов, два миллиона, «поместится вся „Война и мир“ за один запрос». Звучит как решение всех проблем с памятью ИИ. На практике всё куда прозаичнее: чем больше текста вы засовываете в модель, тем хуже она с ним работает — даже если до лимита ещё далеко. Это явление уже официально называют «context rot», и оно ломает главный маркетинговый аргумент индустрии.
Что вообще такое токен — и почему это не слово
Модель не читает текст буквами и не понимает его как человек. Сначала любой запрос разбивается на токены — фрагменты, которые могут быть частью слова, целым словом, знаком препинания или даже пробелом. Для английского языка это работает довольно экономно: частые слова укладываются в один токен. А вот русскому языку не повезло — слово «машиностроение» может быть разбито на токены «машино» и «строение», и это ещё простой случай.
На практике разница ощутимая: если для английского текста сотня токенов — это примерно 75 слов, то для русского — заметно меньше, потому что русский текст плотнее: одно слово часто разбивается на 2–4 токена. Отсюда и практический вывод: русскоязычные пользователи платят токенами (а значит, и деньгами, и лимитом контекста) быстрее, чем англоязычные, за тот же смысловой объём текста.
Контекстное окно — это не память, а бюджет внимания
Контекстное окно часто описывают как объём «оперативной памяти» модели. Это удобная, но обманчивая метафора. Точнее будет сравнение с вниманием: у модели есть ограниченный ресурс, который она распределяет между всеми токенами запроса. Anthropic сформулировала это прямо: контекст должен восприниматься как конечный ресурс с убывающей отдачей — у моделей, как и у людей с ограниченной рабочей памятью, есть «бюджет внимания», который тратится при разборе больших объёмов контекста.
Из этого следует неприятный факт, который индустрия долго замалчивала под лозунгом «больше контекста — больше возможностей». Исследовательская команда Chroma протестировала 18 ведущих моделей и обнаружила: каждая без исключения работает хуже по мере роста длины входного текста. Причём это не про переполнение лимита — оно наступает намного раньше. Context rot — это не переполнение контекстного окна: переполнение — это жёсткий отказ при достижении лимита токенов, а деградация начинается задолго до этого — модель на окне в 200 тысяч токенов может заметно проседать уже на 50 тысячах.
Есть и позиционный эффект: модели заметно хуже вспоминают то, что находится в середине длинного текста, чем то, что стоит в начале или конце — этот паттерн исследователи называют «lost in the middle». Модели работают лучше всего, когда релевантная информация находится в самом начале или самом конце контекста, но испытывают трудности, когда та же информация закопана где-то в середине. Так что если вы вставили важный документ где-то посередине огромного промпта — есть неплохой шанс, что модель его просто «не заметит».
Почему это особенно опасно для агентов
Если в обычном чате context rot означает «модель забыла деталь из середины разговора», то в агентных системах ставки выше. ИИ-агент — это модель, которая сама решает, какие инструменты вызвать, какие файлы прочитать и в каком порядке действовать, повторяя цикл до результата. Каждый шаг — поиск, вызов инструмента, чтение файла — добавляет токены в контекст, и агент постепенно погружается в собственный «мусор».
На практике это выглядит буднично и незаметно: агент не выдаёт ошибку, он просто тихо промахивается. Есть характерный пример: агенту сообщают дату завершения проекта, дальше идёт несколько посторонних вопросов, а после просьбы напомнить дату — агент отвечает, что не нашёл релевантной записи в памяти по этому запросу. Факт был в контексте, но затерялся среди шума.
Хуже того — есть данные, что чем длиннее «стаж» агента в рамках одной сессии, тем менее надёжно он замечает проблемы, требующие внимания. Одно из исследований показало: когда LLM использовали как монитор безопасности для автономных агентов, модели пропускали опасные действия в 2–30 раз чаще, если те происходили после 800 тысяч токенов безобидной активности. То есть чем дольше агент работает без «перезагрузки» контекста, тем менее пристально он следит за собственными действиями.
Что с этим реально можно сделать
Хорошая новость: проблема известна, и вокруг неё уже сложилась целая практика — её называют context engineering. Суть простая: не заталкивать в модель всё, что есть, а осознанно решать, что ей действительно нужно видеть прямо сейчас.
- Не путайте заявленный лимит с реальной эффективностью. Модель, у которой заявлен миллион токенов, может надёжно работать лишь с частью этого объёма — остальное превращается в шум.
- Держите важное в начале или конце запроса. Информация, зажатая в середине длинного документа, рискует быть «потерянной» моделью.
- Начинайте новую сессию для новой задачи, а не тащите весь старый диалог — накопленный контекст работает против точности, а не на неё.
- Для длинных документов используйте выжимки и структурирование, а не сырую загрузку всего файла целиком.
Если вы работаете с агентами — правило то же самое, только жёстче: чем дольше агент «крутится» без перезапуска контекста, тем выше риск, что он забудет важное или пропустит проблему.
Вместо вывода
Разговоры про диффузию, токены и агентов легко превращаются в рекламные слоганы: «миллион токенов», «полная автономность», «понимает всё как человек». Реальность прозаичнее и честнее: у моделей есть архитектурные ограничения, которые никуда не исчезают просто потому, что в презентации нарисовали большую цифру. Знание этих ограничений — не повод отказываться от инструмента, а способ использовать его так, чтобы результат не зависел от удачи.
Если хочется на практике почувствовать разницу между аккуратно собранным промптом и «залил всё подряд» — удобно попробовать это на разных моделях сразу, без переключения между десятком вкладок и подписок. В GEMERA AI доступны GPT, Claude и Gemini через один Telegram-бот и веб-кабинет — можно быстро сравнить, как одна и та же модель реагирует на короткий точный запрос и на length-героический промпт, и сделать выводы самостоятельно.