Особенности длинного контекста

Особенности длинного контекста

Современные модели имеют контекстные окна от 32 000 до 200 000+ токенов — это десятки и сотни страниц текста. Казалось бы, можно загрузить целый роман и попросить модель проанализировать его. Но на практике качество ответа падает с ростом объёма данных. В этом уроке разберём, почему и что с этим делать.

Проблема «потерянного в середине»

Модели неравномерно распределяют внимание по длинному тексту. Эксперименты показывают:

Внимание модели
    ↑
    │ ╲
    │  ╲               
    │   ╲______________
    │                  
    └──────────────────→ Позиция в тексте
    начало  середина  конец

Модель лучше всего «видит» начало и конец текста. Середина — «слепое пятно». Если важная инструкция оказалась в середине длинного промпта — модель может её пропустить.

Что это значит для тебя: ключевые инструкции — в начало промпта. Важные данные — в начало или в самый конец (перед запросом).

Проблема «размывания инструкций»

Когда данных в промпте намного больше, чем инструкций, модель «тонет» в данных. Инструкция из 50 слов теряется на фоне документа из 5 000 слов.

Плохо:

Проанализируй документ. Найди все упоминания сроков, сумм и ответственных лиц.
[50 страниц текста]

Инструкция — 12 слов. Документ — 5 000+ слов. Модель может забыть, что нужно искать.

Хорошо:

<instruction>
## ЗАДАЧА
Найди в документе ниже ВСЕ упоминания:
1. Сроков (даты, периоды).
2. Денежных сумм (числа с валютой).
3. Ответственных лиц (имена + должность).

## ФОРМАТ ОТВЕТА
Для каждого найденного элемента укажи:
- Тип (срок/сумма/лицо).
- Значение.
- Контекст (предложение, в котором встретилось).

## ПРОВЕРЬ СЕБЯ
Перед ответом убедись, что ты проверил ВЕСЬ документ, а не только начало.
</instruction>

<document>
[50 страниц текста]
</document>

Инструкция стала заметнее за счёт структуры и расположения ДО данных.

Проблема «забывания начала»

В длинном диалоге старые сообщения постепенно «вытесняются» из контекстного окна. Инструкции, которые ты дал в первом сообщении, через 20 реплик могут исчезнуть.

Решение: периодически напоминай модели ключевые инструкции. Или начни новый чат с теми же инструкциями, но без истории.

Когда длинный контекст работает хорошо

Длинный контекст НЕ всегда проблема. Он отлично работает для:

  • Поиск конкретного факта: «В каком году был подписан этот договор?» — модель найдёт дату даже в 100-страничном документе.
  • Суммаризация: «Сделай краткое содержание этого документа» — модель справляется, потому что задача простая.
  • Ответы на вопросы по тексту: если вопрос конкретный, модель найдёт ответ.

Длинный контекст начинает подводить, когда задача требует УДЕРЖАНИЯ и СРАВНЕНИЯ информации из разных частей текста. Например: «Сравни арендную плату из раздела 3 и дополнительные платежи из раздела 7».

Стратегии работы с длинным контекстом

СтратегияСутьКогда применять
СтруктурироватьРазбить документ на секции с заголовкамиВсегда, когда можешь редактировать промпт
ПриоритезироватьКлючевое — в начало и конецИнструкции и важнейшие данные
ДекомпозироватьРазбить документ на части, анализировать по очередиДокумент > 50% контекстного окна
Перезапустить диалогНовый чат с инструкциями, но без историиДлинный диалог, модель «забыла» начало

Проверь себя

Ты даёшь модели трудовой договор на 30 страниц и просишь проверить 10 условий. Как организуешь промпт?

Ответ: инструкцию с 10 условиями — в начало, перед документом. Каждое условие — отдельный пункт списка. Документ — после инструкции с XML-тегом <document>. Если 30 страниц близко к лимиту контекстного окна — разбить на разделы и проверять по 3–4 условия за раз.

Итог

  • Модель лучше видит начало и конец текста; середина — слепое пятно.
  • Инструкции размещай ДО данных — так модель их не «забудет».
  • Структурируй промпт: заголовки, теги, секции — чтобы инструкции были заметнее данных.
  • Длинный контекст хорош для поиска и суммаризации, плох для сравнения информации из разных частей.
  • Если данные не помещаются — декомпозируй: разбей документ на части.

Что дальше

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

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике