3,583 papers
arXiv:2602.17183 72 19 фев. 2026 г. FREE

Три правила длинного контекста: как LLM теряет ответы на ваших глазах

КЛЮЧЕВАЯ СУТЬ
80% точности превращается в 42% — одним убранным списком вариантов ответа. Claude Sonnet, Llama 405B, GPT — все падают на 15-35 пунктов когда исчезают варианты A/B/C/D. Это не конкретная модель плохая — IBM протестировали всех, результат один. Три принципа из этого исследования позволяют перестать кормить модель подсказками и получать ответы основанные на реальном разборе текста. Варианты ответа — не помощь для модели, а её костыль: открытый вопрос в конце промпта плюс только релевантные разделы — и точность держится даже на 128 тысячах токенов.
Адаптировать под запрос

TL;DR

Исследователи из IBM обнаружили три системных слабости всех современных LLM при работе с длинными текстами и кодом. Первая и главная: модели не понимают — они угадывают. Когда есть варианты ответа, модель сопоставляет слова из вопроса с вариантами и выбирает похожий. Уберите варианты — точность падает на 15–35 пунктов у всех моделей без исключения. Claude Sonnet: 80% с вариантами → 42% без. Llama 405B: 76% → 32%. Это не конкретная модель плохая — это системное свойство.

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

Три практических вывода: тестируйте AI без вариантов ответа — получите честную картину. Кладите критически важное в конец длинного контекста. Убирайте лишнее из промпта — каждый нерелевантный абзац вредит точности.


🔬

Схема метода

Это не техника, а три принципа работы с LLM, вытекающих из исследования:

ПРИНЦИП 1: Проверка понимания
Вместо: "Какой ответ верный? A/B/C/D"
Использовать: "Ответь своими словами" → выявляет реальное понимание

ПРИНЦИП 2: Позиция критических данных
Вместо: важная инструкция → [длинный контекст]
Использовать: [длинный контекст] → важная инструкция в конце

ПРИНЦИП 3: Чистота контекста
Вместо: весь документ целиком
Использовать: только релевантные разделы → убрать шум

Все три принципа применяются в обычном чате, без дополнительных инструментов.


🚀

Пример применения

Задача: Вы попросили ChatGPT проверить договор аренды офиса на Павелецкой — 15 страниц. Хотите знать: можно ли досрочно расторгнуть без штрафа? Обычно вставляете весь текст и спрашиваете "Что по поводу расторжения?". Модель что-то отвечает — но вы не уверены, что она действительно разобралась, а не нашла ближайший абзац со словом "расторжение".

Промпт (все три принципа вместе):

Вот договор аренды. Прочитай его.

[ТЕКСТ ДОГОВОРА — только разделы про расторжение, штрафы, 
уведомления. Остальные разделы про оплату мебели, ТО лифтов 
и т.д. — не вставляй]

---

После текста договора — мой вопрос:

Объясни своими словами: при каких конкретных условиях 
арендатор может расторгнуть договор досрочно без штрафных 
санкций? Какой срок уведомления нужен? 
Не угадывай — если в договоре этого нет явно, скажи что не нашёл.

Результат:

Модель даст конкретный ответ на основе только релевантных разделов. Фраза "не угадывай — скажи если не нашёл" блокирует галлюцинацию вместо признания незнания. Критический вопрос стоит в конце — после всего контекста, в зоне лучшего внимания. Открытый вопрос вместо "да/нет" вскрывает реальное понимание — если модель начинает мямлить или придумывать условия которых нет, вы сразу видите.


🧠

Почему это работает

Слабость LLM: у модели нет "понимания" в человеческом смысле. Она генерирует следующий токен на основе паттернов. Когда есть варианты ответа A/B/C/D, задача резко упрощается: найди в вариантах слова, которые встречаются рядом с вопросом в тексте. Это распознавание по совпадению, а не рассуждение.

Почему рецентность работает: трансформерная архитектура (механизм внимания, на котором построены все GPT/Claude/Gemini) физически ближе к токенам в конце последовательности при генерации ответа. Информация в начале длинного контекста "дальше" — модель не "забывает" её, но обрабатывает с меньшим весом. Разрыв особенно заметен при 128k+ токенах.

Почему чистота контекста критична: нерелевантный текст создаёт ложные паттерны. Если в договоре есть раздел про "штрафы за порчу мебели", модель может связать слово "штраф" с вопросом о расторжении и выдать неверный ответ. Модель не фильтрует релевантность — она обрабатывает всё. Ваш выбор что вставить — это фактически инструкция модели на что обращать внимание.

Рычаги управления: - "Не угадывай — скажи если не нашёл" → блокирует галлюцинацию, обязывает к честности - Вопрос в конце промпта → максимальная близость к зоне генерации - Открытая формулировка вместо вариантов → честный тест реального понимания - Только релевантные разделы → убираем шум, снижаем риск ложных паттернов


📋

Шаблон промпта

📌

Принцип 1: Проверка понимания без вариантов

{контекст или документ}

---

На основе текста выше: {вопрос в открытой форме}

Если ответ явно не указан в тексте — так и скажи, 
не додумывай.

Плейсхолдеры: - {контекст} — только релевантные части документа, не весь текст - {вопрос в открытой форме} — "объясни как", "при каких условиях", "что именно написано про" — не "да или нет", не варианты


📌

Принцип 2: Позиция критической инструкции

{длинный контекст / документ / фон задачи}

---

[ГЛАВНАЯ ЗАДАЧА — читай внимательно]

{критически важная инструкция или вопрос}

Фокус именно на: {ключевой аспект}

Плейсхолдеры: - {длинный контекст} — всё вспомогательное идёт первым - {критически важная инструкция} — главное всегда в конце


📌

Принцип 3: Очистка контекста перед основным вопросом

Вот {тип документа}. Перед ответом на вопрос — 
выдели только те части, которые касаются {тема}. 
Остальное игнорируй.

{полный текст документа}

---

Теперь на основе только релевантных частей: {вопрос}

Плейсхолдеры: - {тип документа} — договор, отчёт, техническое задание - {тема} — конкретный аспект который важен - {вопрос} — открытый вопрос в конце

🚀 Быстрый старт — вставь в чат:

Вот три принципа работы с длинным контекстом от IBM Research.
Адаптируй их под мою задачу: [твоя задача с длинным документом].
Задавай вопросы если нужно уточнить контекст.

[вставить шаблон выше]

LLM спросит какой документ, какой вопрос, какие разделы релевантны — потому что без этого не сможет правильно применить принцип очистки контекста и расположить инструкцию.


⚠️

Ограничения

⚠️ Короткие задачи: Все три принципа дают эффект только при длинном контексте (от ~10-15 тысяч токенов). На коротких промптах позиция инструкции и чистота контекста почти не влияют — модель и так обрабатывает всё.

⚠️ Не заменяет понимание структуры документа: Принцип "убери лишнее" требует что вы сами понимаете что релевантно. Если не знаете — попросите модель сначала выделить разделы по теме, потом отвечать.

⚠️ Gemini держится лучше других: При открытых вопросах на длинных контекстах Gemini 2.5 Pro/Flash стабильно превосходит GPT-4o и Claude. Если длинный контекст — критична задача, выбор модели имеет значение.

⚠️ Рецентность не абсолютна: Это тенденция, не закон. Хорошо структурированный промпт с явными маркерами ([ГЛАВНАЯ ЗАДАЧА]) частично компенсирует позиционный эффект.


🔍

Как исследовали

IBM Research взяли бенчмарк для длинного кода LongCodeBench (Python) и расширили его двумя языками — Java (из реальных open-source репозиториев: Kafka, Elasticsearch, Cassandra) и COBOL (из медицинской системы CMS и внутренней системы IBM). Итого: сотни вопросов, контексты от 32k до 1M токенов, 10+ моделей.

Главная идея эксперимента была простой и жёсткой: задать один и тот же вопрос с вариантами ответа И без вариантов — и сравнить результаты. Параллельно перемешивали порядок вариантов (чтобы проверить: модель понимает или запомнила "правильный обычно второй"?) и вставляли нерелевантный код в разные позиции контекста — в начало, середину, конец.

Результат удивил масштабом разрыва. Ожидали эффект — но не 30-60 пунктов на COBOL. Оказалось, высокие результаты с вариантами — частично иллюзия: модели эксплуатируют лексические совпадения между вопросом и вариантами, а не понимают код. Особенно жёстко это вскрылось на COBOL: 98% с вариантами → 32-62% без. Это не падение — это обрушение. Вероятно, потому что COBOL мало представлен в обучающих данных, и "настоящего" понимания у моделей меньше, чем кажется по тестам с вариантами.


💡

Адаптации и экстраполяции

📌

🔧 Самопроверка AI через "открытый вопрос" после получения ответа

Если получили ответ от AI и не уверены в его качестве — не спрашивайте "ты уверен?". Попросите объяснить без опоры на ваши слова:

Объясни своими словами, без повторения моего вопроса: 
почему именно такой ответ? Что конкретно в тексте 
это подтверждает — процитируй фрагмент.

Если модель угадала по паттерну — она не сможет нормально процитировать. Это быстрый "детектор галлюцинации" на основе принципа recognition-generation gap.


📌

🔧 Техника "сначала карта, потом ответ" для очень длинных документов

Вместо того чтобы самому решать что релевантно — двухшаговый подход:

Шаг 1 (отдельный запрос):

Вот {документ}. Выдели все разделы, которые касаются {тема}.
Дай только заголовки разделов и первое предложение каждого.

Шаг 2 (следующий запрос):

Вот только релевантные разделы: {вставить выбранное}.
Теперь ответь: {вопрос}

Модель сама убирает шум на первом шаге — вы работаете с чистым контекстом на втором.


🔗

Ресурсы

Название работы: Robustness and Reasoning Fidelity of Large Language Models in Long-Context Code Question Answering

Датасет: huggingface.co/datasets/mjkishan/LongContextCodeQA

Авторы: Kishan Maharaj, Nandakishore Menon, Ashita Saxena, Srikanth Tamilselvam

Организация: IBM Research

Связанные работы: LongCodeBench (Rando et al., 2025), LongCodeU (Li et al., 2025), Needle-in-a-Haystack evaluation (Gregory, 2023)


📋 Дайджест исследования

Ключевая суть

80% точности превращается в 42% — одним убранным списком вариантов ответа. Claude Sonnet, Llama 405B, GPT — все падают на 15-35 пунктов когда исчезают варианты A/B/C/D. Это не конкретная модель плохая — IBM протестировали всех, результат один. Три принципа из этого исследования позволяют перестать кормить модель подсказками и получать ответы основанные на реальном разборе текста. Варианты ответа — не помощь для модели, а её костыль: открытый вопрос в конце промпта плюс только релевантные разделы — и точность держится даже на 128 тысячах токенов.

Принцип работы

Кажется логичным: дай модели варианты — сузишь задачу, поможешь. На деле модель берёт варианты как шпаргалку. Не читает текст → ищет совпадения между вопросом и вариантами → угадывает. Убери варианты — придётся работать честно. То же с позицией важного факта. Длинный промпт → ключевая информация → вопрос: модель 'не замечает' информацию. Переставь её в конец — видит. Это не магия, а архитектура трансформера: механизм внимания физически ближе к хвосту контекста при генерации ответа. Третье правило: нерелевантный текст не игнорируется — он создаёт ложные паттерны. Раздел про штрафы за мебель в договоре может смешаться со штрафами за расторжение. Мусор в промпте — это не нейтрально, это помеха.

Почему работает

У модели нет понимания в человеческом смысле. Она генерирует следующее слово на основе паттернов. Когда есть варианты A/B/C/D — задача резко упрощается: найди в вариантах слова которые встречаются рядом с вопросом. Распознавание по совпадению, не рассуждение. Поэтому 80% с вариантами и 42% без — это два разных режима работы. Ваш выбор что вставить в промпт — это фактически приоритеты для модели. Она обрабатывает всё что получает. Чем больше нерелевантного, тем выше шанс что ответит на похожий вопрос вместо нужного.

Когда применять

Работа с длинными документами от 10-15 тысяч токенов — анализ договоров, проверка кода, разбор технических заданий, обзор отчётов. Особенно когда нужна точность, а не 'какой-то ответ'. Хотите честно протестировать понимание модели — тоже сюда: уберите варианты и попросите объяснить своими словами. НЕ подходит для коротких задач: на 2-3 страницах позиция вопроса и чистота контекста меняют мало — там модель и так охватывает всё.

Мини-рецепт

1. Уберите варианты ответа: Вместо выбери из A/B/C/D спрашивайте объясни своими словами или при каких условиях. Открытый вопрос ломает возможность угадывать по совпадению слов.
2. Главный вопрос — в конец: Сначала весь контекст, потом вопрос. Добавьте маркер [ГЛАВНЫЙ ВОПРОС] перед ним — это частично компенсирует позиционный эффект даже без перестановки.
3. Вырежьте нерелевантное вручную: Не вставляйте документ целиком. Только разделы по теме вопроса. Каждый лишний абзац — потенциальный источник ложного паттерна.
4. Добавьте честный выход: В конце вопроса пишите: Если ответ явно не указан в тексте — так и скажи, не додумывай. Без этого модель скорее выдаст галлюцинацию, чем признает незнание.

Примеры

[ПЛОХО] : Прочитай договор аренды. Можно ли расторгнуть досрочно? A) в любое время, B) только через суд, C) с уведомлением за 30 дней, D) нельзя. Выбери верный.
[ХОРОШО] : [Только разделы договора про расторжение, штрафы и уведомления] --- [ГЛАВНЫЙ ВОПРОС] При каких конкретных условиях арендатор может расторгнуть договор досрочно без штрафных санкций? Какой срок уведомления нужен? Объясни своими словами. Если в договоре этого нет явно — скажи что не нашёл, не додумывай.
Источник: Robustness and Reasoning Fidelity of Large Language Models in Long-Context Code Question Answering
ArXiv ID: 2602.17183 | Сгенерировано: 2026-02-20 10:39

Проблемы LLM

ПроблемаСутьКак обойти
Варианты ответа скрывают реальное непониманиеДаёшь модели вопрос с вариантами А/Б/В/Г. Она сопоставляет слова из вопроса со словами в вариантах. Находит похожее и выбирает. Это не понимание — это совпадение по паттерну. Убери варианты — точность падает на 15–35 пунктов у всех моделей без исключения. Значит: тестируешь А/Б/В/Г — получаешь завышенную картину способностейЗадавай открытые вопросы вместо вариантов. "Объясни своими словами", "при каких условиях", "что именно написано про". Открытый вопрос вскрывает реальное понимание — если modель не знает, начнёт мямлить или придумывать
Информация в начале длинного контекста теряетсяКладёшь важную инструкцию в начало, потом длинный текст, потом вопрос. Модель хуже использует то что было в начале. Чем длиннее контекст — тем сильнее эффект. На 128к+ токенах разрыв особенно заметен. При этом ты сделал всё правильно логически — контекст, потом вопрос. Но модель обрабатывает конец последовательности с большим весомКлади главное в конец. Сначала весь длинный контекст или документ. Потом — критически важный вопрос или инструкция. Добавь явный маркер: [ГЛАВНЫЙ ВОПРОС] перед инструкцией

Методы

МетодСуть
Предварительная очистка контекстаПеред основным вопросом попроси модель выделить только нужные части. Вот [тип документа]. Выдели только разделы про [тема]. Остальное игнорируй. [документ] --- Теперь на основе только этих разделов: [вопрос]. Или сделай это сам — вставляй только нужные разделы, не весь документ. Почему работает: модель не фильтрует релевантность сама. Нерелевантный текст — это тоже сигнал. Он создаёт ложные связи. Договор про аренду содержит раздел про штрафы за мебель — модель может связать слово "штраф" с вопросом про расторжение и ошибиться. Когда применять: длинный документ с несколькими темами, нужен конкретный аспект. Когда не нужно: короткий документ до 3–5 страниц, весь текст по теме

Тезисы

ТезисКомментарий
Что вставляешь в контекст — то и даёшь модели в приоритетМодель обрабатывает всё что в контексте как сигнал. Она не умеет сама решать что важно, а что шум. Нерелевантный абзац создаёт ложные паттерны так же как релевантный создаёт правильные. Значит: выбор что вставить — это фактически инструкция на что обращать внимание. Применяй: перед тем как вставить документ, спроси себя "каждый блок тут помогает ответить на вопрос?" Если нет — убери
📖 Простыми словами

Robustness and Reasoning Fidelity ofLargeLanguageModelsin Long-Context Code Question Answering

arXiv: 2602.17183

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

Это как если бы ты пришел к врачу с толстой папкой анализов, а он, вместо того чтобы изучить динамику показателей, просто открыл случайную страницу, увидел там слово «холестерин» и выписал таблетки, потому что в вопросе ты упомянул сердце. Формально ответ по теме, но врач даже не пытался понять, как одно связано с другим. Исследование IBM доказало: стоит убрать из вопроса варианты ответа (A, B, C), и «интеллект» топовых моделей вроде Claude 3.5 Sonnet или Llama 3 схлопывается вдвое. Они не рассуждают, они просто угадывают по шаблону.

В цифрах это выглядит как полный провал: точность Claude Sonnet падает с 80% до жалких 42%, а мощная Llama 405B летит вниз с 76% до 32%, как только ей перестают давать подсказки в виде вариантов ответа. Главный метод, который здесь вскрыли — сопоставление по сходству. Модель видит в вопросе переменную user_id и в варианте ответа user_id, соединяет их линией и говорит: «Готово!». Если вариантов нет, модель теряется, начинает галлюцинировать или просто несет чушь, потому что логическая связность в длинном контексте — это миф.

Этот принцип универсален и касается не только программистов. Если ты просишь AI проанализировать длинный отчет, юридический документ или лог сервера, помни: модель — это инструмент поиска паттернов, а не эксперт-аналитик. Она отлично находит иголку в стоге сена, если ты опишешь, как выглядит иголка, но она абсолютно бессильна, если нужно объяснить, как эта иголка там оказалась и что с ней делать дальше. SEO-логика здесь побеждает здравый смысл: чем больше совпадений слов, тем выше шанс, что модель «ткнет пальцем» именно туда.

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

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с