Независимый исследователь Михаил Сальников опубликовал на 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-Instruct | 94% | 0% | −94 пп |
| MiMo-v2-Flash | 96% | 8% | −88 пп |
| GLM-4.7-FlashX | 90% | 56% | −34 пп |
| Kimi k2.5 | 98% | 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) и агентским задачам. Разрыв между маркетинговой картиной и реальным поведением модели при анализе длинных документов оказывается существенным.
Практическое следствие для разработчиков: если задача или ключевой фрагмент кода находится в середине большого файла, а вокруг него — похожие функции или примеры, модель с высокой вероятностью ответит неверно — не потому что не знает решения, а потому что «смотрит не туда». Простой обходной путь — дублировать ключевой вопрос или фрагмент в конец промпта. Системное решение пока остаётся за разработчиками моделей.
