GEO

Context Rot

Context rot (гниение контекста) - это постепенное снижение точности LLM, следования инструкциям и достоверности цитирований по мере удлинения входного контекста. Даже при контекстных окнах, достигающих 1 млн токенов, практически пригодная точность падает задолго до этого предела - разница между 32k, 128k и 1M гораздо меньше, чем подразумевает маркетинг.

Context rot (гниение контекста) - это постепенное снижение точности LLM, следования инструкциям и достоверности цитирований по мере удлинения входного контекста. Даже при контекстных окнах, достигающих 1 млн токенов, практически пригодная точность падает задолго до этого предела - разница между 32k, 128k и 1M гораздо меньше, чем подразумевает маркетинг.

Почему это важно

Бенчмарки рекламируют окна в миллион токенов, но эмпирические исследования начиная с 2025 года рисуют иную картину - оценки от Chroma, Anthropic и Databricks последовательно показывают, что одна и та же модель падает с 95% точности на 8k до примерно 60% на 64k в идентичных задачах. В генерации с дополнением извлечением (RAG) сброс сразу 30 фрагментов обычно задействует только первые и последние несколько, игнорируя середину (lost-in-the-middle), а модель может даже утверждать, что "сверилась" с контентом, который на самом деле никогда не использовала. Context rot - крупнейшая скрытая ловушка в дизайне систем GEO и RAG, и она прямо противоречит интуиции, что "больше контекста = лучше ответы".

Симптомы

Игнорирование информации из середины: критически важные факты, помещённые в середину контекста, не попадают в ответ, тогда как контент в начале и конце сохраняется.

Дрейф инструкций: директивы системного промпта начинают игнорироваться после длинного сообщения пользователя - тон, формат и запреты все утекают.

Галлюцинация цитирований: модель говорит "согласно пятому абзацу выше...", но такого абзаца не существует, или контент взят из другого документа.

Обвал удержания: в многоходовых диалогах ранний контекст фактически забывается. После 4-5 ходов модель теряет нить предыдущих договорённостей.

Выпадение вызовов инструментов: инструменты, определённые в длинных контекстах, используются реже или вызываются с неверными аргументами.

Почему это происходит

Разбавление внимания: каждый токен должен внимать каждому другому токену, поэтому сигнал на токен слабеет по мере удлинения последовательности.

Ограничения позиционного кодирования: за пределами обученной длины позиционная информация теряет смысл. RoPE и ALiBi помогают, но не решают проблему полностью.

Распределение обучающих данных: большинство документов, увиденных в ходе обучения, короткие. Окно в 1 млн токенов не означает, что модель обучалась на документах в 1 млн токенов.

Ограничения "иголки в стоге сена": простые задачи поиска проходят даже на длинном контексте, но рассуждения, синтез и интеграция множества фактов деградируют гораздо быстрее.

Значение для GEO

Answer engine извлекают, разбивают на фрагменты и синтезируют, складывая извлечённые фрагменты в контекст LLM для генерации ответа. Context rot означает:

Доминируют фрагменты с верхних позиций: если ваш фрагмент не попадает в топ-1-3 после переранжирования, он фактически не цитируется, хотя и "находится в контексте".

Побеждают короткие, самодостаточные фрагменты: более длинные фрагменты разбавляют внимание. Оптимум - 100-300 слов.

Важны прямые ответы в начале: первый абзац, отвечающий на вопрос, сохраняется независимо от того, где он находится в контексте.

Достоверность цитирований требует проверки: ответы могут галлюцинировать цитирования, выглядящие обоснованными; необходимы постобработочные проверки.

Стратегии смягчения

Сжатие контекста: не сбрасывайте сырые документы в контекст - используйте суммаризацию с учётом запроса, чтобы извлечь только релевантные части.

Агрессивное переранжирование: извлеките 30-50 кандидатов, переранжируйте до топ-5-10, затем поместите их в контекст.

Размещайте критическую информацию осознанно: помещайте самые важные фрагменты в начало или конец (избегайте середины).

Иерархический синтез: в стиле map-reduce - синтезируйте подгруппы фрагментов, затем синтезируйте сводки.

Установите бюджет контекста: осознанно ограничьте контекст, скажем, 8k токенами и оптимизируйте в его рамках.

Автоматизированная оценка RAG: проверяйте фактическое соответствие между ответами и исходными фрагментами через LLM-as-judge или сходство эмбеддингов.

Распространённые заблуждения

"Больше контекста всегда лучше": рекламируемое окно ≠ пригодное окно. Надёжный практический предел - примерно 10-30% от заявленной ёмкости.

"Прохождение теста с иголкой в стоге сена означает, что длинный контекст работает": поиск одного факта прост. Рассуждения по множеству фактов рушатся гораздо раньше.

"Дообучение это исправит": дообучение несколько помогает, но структурные ограничения остаются. Дизайн системы - более эффективный обходной путь.

"Новые модели это решили": по состоянию на 2026 год даже передовые модели всё ещё измеримо деградируют после 32k-64k токенов.

Типичные ошибки

Сброс всех результатов извлечения в контекст: вставка топ-30 фрагментов в сыром виде гарантирует lost-in-the-middle.

Размещение системного промпта в конце: системные инструкции, помещённые после длинного сообщения пользователя, игнорируются. Помещайте их в начало.

Доверие маркетингу контекстного окна: реклама 1 млн токенов не означает 1 млн пригодных токенов.

Пропуск валидации RAG: если планка - "выглядит обоснованно", галлюцинации накапливаются.

Единообразные размеры фрагментов: нарезка всех документов на одинаковую длину ломает смысл. Используйте семантическое разбиение.

Источники: