TL;DR
Модели плохо работают с информацией в середине длинного контекста. ChatGPT-5-mini проваливается ровно на 50% глубины — точность падает с 100% до 80%. Claude-4.5-haiku показывает классический U-образный провал: начало и конец работают хорошо, середина (20-60% контекста) проваливается до 50% точности для логического вывода. Gemini-2.5-flash и Deepseek-v3.2-chat держатся стабильно на всех позициях.
Эффективная длина контекста значительно меньше максимальной. ChatGPT-5-mini работает стабильно до ~100к токенов, потом резко деградирует — хотя заявленный лимит 272к. При максимальной загрузке точность падает с 96% до 89% для извлечения фактов. Claude начинает терять стабильность уже после 100к токенов. Только Gemini-2.5-flash (1М токенов) и Deepseek-v3.2-chat (128к) держат производительность до самого лимита. Длинный контекст ≠ работающий контекст.
"Don't Make It Up" снижает галлюцинации, но убивает точность извлечения и вывода. У ChatGPT-5-mini этот промпт на максимальной длине роняет точность с 89% до 72% для фактов и с 88% до 68% для логического вывода — модель начинает отказываться отвечать даже когда информация есть. Это safety tax (цена безопасности). Deepseek и Gemini почти не страдают: падение 1-2%, зато галлюцинации снижаются на 5-7%.
Ключевые находки для практики
1. Позиционные эффекты: куда класть важное
Lost in the middle — не миф, а архитектурная особенность некоторых моделей:
- ChatGPT-5-mini: провал ровно на 50% глубины контекста
- Claude-4.5-haiku: U-образная кривая — середина (20-60%) проваливается
- Gemini-2.5-flash и Deepseek-v3.2-chat: стабильны на всех позициях
Практический вывод: Если работаешь с ChatGPT или Claude — не клади критическую информацию в середину длинного промпта. Размещай в начале или конце.
2. Эффективная длина vs максимальная длина
Модели принимают больше токенов, чем могут эффективно использовать:
| Модель | Max токены | Стабильна до | Падение на максимуме |
|---|---|---|---|
| ChatGPT-5-mini | 272k | ~100k | 89% → 72% (с "Don't Make It Up") |
| Claude-4.5-haiku | 175k | ~100k | 78% → 68% |
| Gemini-2.5-flash | 1M | 1M | стабильна |
| Deepseek-v3.2-chat | 128k | 128k | стабильна |
Практический вывод: Если используешь ChatGPT или Claude для длинных документов — не загружай до предела. Лучше разбить на части или выбрать Gemini/Deepseek для задач с реально длинными контекстами.
3. Safety tax: цена "Don't Make It Up"
Промпт "Не выдумывай, если не знаешь" снижает галлюцинации, но вызывает избыточный отказ (модель не отвечает, даже когда информация есть):
ChatGPT-5-mini (на максимальной длине): - Извлечение фактов: 89% → 72% (-17%) - Логический вывод: 88% → 68% (-20%) - Галлюцинации: 73% → 90% (+17% верности)
Deepseek-v3.2-chat: - Извлечение фактов: 99% → 97% (-2%) - Логический вывод: 92% → 94% (+2%) - Галлюцинации: 84% → 87% (+3% верности)
Практический вывод: - Для ChatGPT/Claude: используй "Don't Make It Up" только если критична верность, готов потерять 15-20% правильных ответов - Для Deepseek/Gemini: можно использовать смело, trade-off минимален
4. Распределение информации важнее длины
Исследователи тестировали разные распределения фактов по контексту (нормальное, экспоненциальное, равномерное). Модели страдают не от длины контекста, а от разреженности фактов.
Когда 10 фактов разбросаны по 200к токенов — даже сильные модели начинают пропускать. Когда те же факты сконцентрированы в одном блоке — извлечение почти идеальное.
Практический вывод: Если вставляешь в промпт длинный документ, группируй релевантную информацию — не полагайся на способность модели найти иголку в стоге сена. Либо предварительно извлеки нужные куски (вручную или через отдельный запрос), либо используй RAG.
Пример применения
Задача: Извлечь ключевые тезисы из длинного транскрипта подкаста
У тебя есть 2-часовой транскрипт подкаста "Ещенепознер" с Олегом Тиньковым (условно, ~150к токенов). Нужно извлечь все конкретные советы по бизнесу, которые Тиньков упомянул в разговоре.
❌ Плохой подход (теряем информацию):
Вот транскрипт подкаста. Найди все советы по бизнесу.
[весь транскрипт 150к токенов]
Проблемы: - Советы разбросаны по всему тексту - Модель может пропустить факты в середине (lost in the middle) - ChatGPT на такой длине начнёт деградировать
✅ Хороший подход (используем находки исследования):
Вариант 1: Структурированная экстракция в два шага
Шаг 1. Прочитай транскрипт и найди ВСЕ фрагменты, где Олег Тиньков даёт советы по бизнесу, делится опытом или критикует чужие подходы.
Выпиши номера минут где это происходит в формате:
- 05:23 — про найм
- 12:45 — про конкурентов
...
Если не уверен — лучше включи. Не пропускай ничего.
[транскрипт с таймкодами]
Шаг 2. Вот список фрагментов где есть советы. Извлеки из транскрипта ВСЕ эти фрагменты и сформулируй советы в формате:
**Тезис:** [короткая формулировка]
**Цитата:** [что сказал Тиньков дословно]
**Таймкод:** [минуты]
[список из шага 1]
[транскрипт]
Вариант 2: Если модель Deepseek/Gemini — можно в один промпт
Ты — аналитик, который изучает бизнес-мышление успешных предпринимателей.
Задача: Извлечь ВСЕ советы по бизнесу из транскрипта.
Критически важно:
1. НЕ ПРОПУСКАЙ советы из середины разговора — читай весь текст внимательно
2. Включай конкретные действия, принципы, критику чужих подходов
3. Если совет неявный — извлекай логически из контекста
Формат вывода:
**[Таймкод]** — **[Короткий тезис]**
Цитата: "..."
Контекст: [зачем это нужно / к чему относится]
[транскрипт]
Результат:
При двухшаговом подходе или использовании Deepseek/Gemini ты получишь полный список советов с цитатами и таймкодами. При использовании ChatGPT/Claude на длинном транскрипте без структурирования — высокий риск пропустить советы из середины разговора (участок 20-60% длины).
Почему это работает
LLM используют механизм внимания (attention), который распределяет "когнитивные ресурсы" по токенам. В длинных контекстах внимание разбавляется — каждый токен получает меньше веса.
Архитектурная особенность: модели тренировали на текстах, где важная информация обычно в начале (введение) или конце (выводы). Середина — это развитие, детали, переходы. Поэтому паттерн внимания смещён к краям контекста. Это не баг, это результат обучения на реальных текстах.
"Don't Make It Up" работает как порог уверенности. Модель генерирует ответ с вероятностью. Если добавить "не выдумывай" — порог растёт. Но у моделей типа ChatGPT этот порог становится слишком высоким: модель отказывается отвечать даже когда информация есть, но не в топ-позициях внимания (середина контекста, разбросанные факты).
Deepseek и Gemini лучше калиброваны: их порог уверенности точнее отражает реальное наличие информации. ChatGPT и Claude более консервативны — safety tax выше.
Рычаги управления:
- Позиция информации → Размести критическое в начале или конце
- Длина контекста → Не загружай до лимита, оставь запас 30-40%
- Использование anti-hallucination → Включай только если верность критична, понимая trade-off
- Выбор модели → Для длинных контекстов: Deepseek/Gemini. Для коротких: ChatGPT/Claude достаточно
- Структурирование информации → Группируй релевантное, не разбрасывай факты по всему тексту
Рекомендации по структуре длинных промптов
Основываясь на находках исследования, вот универсальный шаблон для работы с длинным контекстом:
{чёткая инструкция — что извлечь / проанализировать}
{критические ограничения и требования — если есть}
{формат вывода — структурированный}
ВАЖНО: {если нужна полнота — явно укажи "читай весь документ, не пропускай середину"}
{если критична верность — добавь: "Если информации нет — так и скажи. Не выдумывай."}
---
{ДОКУМЕНТ / КОНТЕКСТ}
---
{повтор ключевых инструкций — для recency bias}
Ключевые принципы:
Sandwich-структура: инструкция ДО документа + повтор ПОСЛЕ
- Recency bias: модель лучше помнит последнее
- Primacy bias: модель лучше помнит первое
- Используй оба
Визуальные разделители:
---,===,###между секциями- Помогает модели различить инструкцию и данные
- Особенно важно для длинных контекстов
Явные указания на полноту:
- "Читай ВЕСЬ документ внимательно"
- "НЕ ПРОПУСКАЙ информацию из середины"
- Это калибрует внимание модели
Структурированный вывод:
- Таблицы, списки, нумерация
- Проще проверить полноту
- Сложнее для модели пропустить элемент
Anti-hallucination — выборочно:
- Добавляй только если критична верность
- Понимай что потеряешь 5-20% точности (зависит от модели)
- Для Deepseek/Gemini trade-off минимален
Выбор модели под задачу
Основываясь на результатах исследования:
Для задач с длинными контекстами (100k+ токенов):
✅ Gemini-2.5-flash: - Стабильна до 1М токенов - Минимальный safety tax - Нет positional bias - Лучший выбор для: анализ больших документов, длинные транскрипты, множественные файлы
✅ Deepseek-v3.2-chat: - Стабильна до 128к токенов - Отличная калибровка anti-hallucination - Нет positional bias - Лучший выбор для: задачи где важна и полнота, и верность
Для задач с умеренными контекстами (до 50k токенов):
✅ ChatGPT-5-mini: - Отлично работает до 100к - Но высокий safety tax - Провал на 50% глубины - Используй когда: контекст короткий, информация в начале/конце, верность не критична
⚠️ Claude-4.5-haiku: - U-образный провал (lost in the middle) - Деградация после 100к - Используй с осторожностью: только для коротких контекстов с информацией в начале/конце
Ограничения
⚠️ Специфика исследования: Тестировали на литературном нарративе (романы Бальзака). Структурированные документы (таблицы, код, JSON) могут вести себя иначе — там паттерны внимания могут быть другими.
⚠️ Модели обновляются: Результаты для конкретных версий (GPT-5-mini, Claude-4.5-haiku, etc). Следующие версии могут улучшить обработку длинных контекстов. Принципы остаются, но конкретные цифры могут измениться.
⚠️ Не тестировали RAG: Исследование про чистый длинный контекст. Для реальных задач с очень длинными документами RAG (Retrieval-Augmented Generation) может быть эффективнее — сначала найти релевантные куски, потом анализировать. Но это требует настройки системы, не работает "из коробки" в чате.
⚠️ Safety tax зависит от задачи: Падение точности при "Don't Make It Up" сильнее проявляется на максимальной длине контекста и при разбросанных фактах. На коротких промптах с компактной информацией эффект слабее.
Как исследовали
Команда провела расширенный needle-in-a-haystack тест (иголка в стоге сена), но гораздо сложнее стандартной версии. Взяли 38 романов Бальзака (~2М токенов) как "стог сена" — это связный нарратив, сложнее чем случайный текст. Внедряли 30 фактов-"иголок" и задавали вопросы.
Два протокола:
Uniform sweep: 200 тестов на модель — варьировали длину контекста (10-100% от максимума модели) и позицию факта (10-100% глубины). Это дало карту провалов: где именно модель теряет информацию.
Probabilistic distributions: 18 тестов на модель — раскидывали 10 фактов по контексту согласно 9 статистическим распределениям (нормальное, экспоненциальное, etc). Это симулировало реальные документы, где информация не в одном месте.
Каждый тест прогоняли в двух режимах промптинга: - Standard: "Ответь на вопросы по тексту" - Anti-Hallucination: + "Не выдумывай, если не знаешь — скажи что не знаешь"
Измеряли три метрики: - Literal Extraction — модель нашла факт "как есть" - Logical Inference — модель сделала вывод из нескольких фактов - Faithfulness — модель не выдумала (100% = нет галлюцинаций)
Все модели тестировали с одинаковыми гиперпараметрами (temperature=0, top_p=1.0) для воспроизводимости. Ответы проверял независимый LLM-судья по чёткому ключу.
Почему результаты получились такими:
Обнаружили три паттерна провала:
U-shaped memory (Claude): Архитектура внимания смещена к краям контекста — так модели обучались на реальных текстах, где важное обычно в начале/конце.
50%-cliff (ChatGPT): Специфическая уязвимость ровно на половине контекста — возможно артефакт архитектуры или обучения.
Conservative failure (все модели с anti-hallucination): "Don't Make It Up" повышает порог уверенности. Если факт в середине контекста (низкий вес внимания) → модель не уверена → отказывается отвечать. У ChatGPT/Claude этот порог слишком высокий, у Deepseek/Gemini — калиброван лучше.
Удивительно: Длина контекста сама по себе не главная проблема. Gemini держит 1М токенов, Deepseek — 128к. Проблема в распределении внимания по этой длине. Когда факты разбросаны — даже короткий контекст вредит, когда сгруппированы — длинный не мешает.
Инсайт для практики: Не спрашивай "поддерживает ли модель N токенов", спрашивай "при какой длине она стабильно извлекает информацию с позиций 20-60%". Это и есть эффективная длина.
Ресурсы
Not All Needles Are Found: How Fact Distribution and "Don't Make It Up" Prompts Shape Literal Extraction, Logical Inference, and Hallucination Risks in Long-Context LLMs
Амирали Эбрахимзаде (University of Michigan), Сейед М. Салили (Independent Researcher)
Исследование тестировало Gemini-2.5-flash, ChatGPT-5-mini, Claude-4.5-haiku, Deepseek-v3.2-chat на расширенном needle-in-a-haystack бенчмарке с корпусом из романов Оноре де Бальзака.
