Независимый исследователь Михаил Сальников опубликовал на Habr разбор бенчмарка Context Rot Evaluation (CRE) — работы, которая системно измерила, как позиция задачи внутри длинного документа влияет на качество рассуждений языковых моделей. Речь не о поиске конкретного факта в тексте, а о способности решать математические задачи (GSM8K) и научные тесты (ARC-Challenge), когда они окружены «шумом» из похожих примеров.

Проблема «потери середины» при поиске фактов была описана ещё в 2023 году в работе Liu et al. «Lost in the Middle». Но CRE впервые показал то же явление применительно к логике и рассуждениям — и масштаб оказался значительнее. Авторы протестировали 9 моделей в два раунда: сначала Qwen 2.5-7B-Instruct, MiMo-v2-Flash, GLM-4.7-FlashX, DeepSeek-V3.2 и Kimi k2.5, затем их преемников — DeepSeek-V4-Pro, MiMo-V2.5-Pro, Kimi-K2.6 и GLM-5.1. Каждую модель проверяли на трёх длинах контекста (8K, 32K, 64K токенов) и трёх типах «наполнителя» вокруг задачи.

МодельТочность в концеТочность в серединеПадение
Qwen 2.5-7B-Instruct94%0%−94 пп
MiMo-v2-Flash96%8%−88 пп
GLM-4.7-FlashX90%56%−34 пп
Kimi k2.598%92%−6 пп
DeepSeek-V3.2 (reasoning)98%98%0 пп

Результаты на 64K-контексте с наполнителем из обучающих примеров с решениями оказались показательными. MiMo-v2-Flash набирал 96% точности, когда задача стояла в конце документа, и всего 8% — когда в середине. Qwen 2.5-7B падал с 94% до 0%. На коротком контексте (8K) тот же MiMo терял лишь 12 процентных пунктов — деградация нарастает нелинейно по мере роста контекста. Исключением выглядел DeepSeek-V3.2 в режиме reasoning: на шуме из готовых решений он удерживал нулевое падение на всех длинах контекста. Однако на шуме из вопросов без ответов (questions_only_v2) он тоже проваливался — как и все остальные участники теста.

76% ошибок в середине контекста — галлюцинации: модель выдаёт ответ из окружающего «шума», а не из условия задачи.

Авторы идентифицировали основной механизм сбоя: filler-answer interference, или «помеха от ответов». Когда рядом с задачей в тексте находятся решения других похожих примеров, модель не просто «не видит» условие — она галлюцинирует, подставляя чужой ответ. Статистика: 76% ошибок в середине контекста связаны именно с этим эффектом, тогда как в конце документа таких ошибок лишь 22%. Модель буквально переключается на ближайший похожий пример и выдаёт его результат как свой.

Чтобы отделить позиционную уязвимость от незнания материала, исследователи провели тест middle_dup: задачу из середины дублировали в конец контекста. На 8K точность всех девяти моделей возвращалась к норме в пределах ±4 процентных пунктов. На 64K восстановление было лишь частичным — Qwen и GLM-4.7-FlashX всё равно показывали результат на 10–12 пунктов хуже базового. Вывод прямой: модель способна решить задачу, но активирует нужную логику только тогда, когда вопрос находится в «зоне комфорта» — финальных строках контекста.

Отдельный блок исследования посвящён аудиту официальных отчётов (Model Cards) четырёх лабораторий: DeepSeek, Xiaomi, Moonshot и Zhipu. Из 28 ключевых ячеек в витринных таблицах ровно ни одна не содержала данных тестов позиционной устойчивости — NIAH, RULER или LongBench. Ещё в четырёх ячейках подобные тесты встречались, но были спрятаны в ablation-разделы и проводились на уменьшенных 9B-версиях моделей. При этом 20 из 28 ячеек демонстрировали результаты по кодингу (SWE-Bench) и агентским задачам. Разрыв между маркетинговой картиной и реальным поведением модели при анализе длинных документов оказывается существенным.

Практическое следствие для разработчиков: если задача или ключевой фрагмент кода находится в середине большого файла, а вокруг него — похожие функции или примеры, модель с высокой вероятностью ответит неверно — не потому что не знает решения, а потому что «смотрит не туда». Простой обходной путь — дублировать ключевой вопрос или фрагмент в конец промпта. Системное решение пока остаётся за разработчиками моделей.