Почему ИИ забывает и путается в длинном диалоге: контекстное окно простыми словами

15 мин. чтения

Контекстное окно — это максимальный объём текста (в токенах), который языковая модель может «держать в голове» за один запрос. Важно сразу уложить в голове одну мысль: это не память модели, которая копится со временем, а разовый бюджет на каждое обращение. Модель без состояния (stateless): между запросами она ничего не помнит, и всё, что она «знает» о вашем диалоге прямо сейчас, — это то, что уместилось в текущее окно.

И вот неожиданное: модель начинает путаться и «тупеть» задолго до того, как окно физически заполнилось. Причина — не в том, что «память кончилась», а в том, что качество внимания модели тает по мере роста контекста. Насколько это ощутимо, видно из одного факта: на тесте поиска фактов в миллионном контексте модель Claude Opus 4.6 набрала 76%, а Sonnet 4.5 на том же тесте — всего 18,5% (по данным Anthropic, март 2026). То есть «заявленный размер окна» и «объём, которым модель реально надёжно пользуется» — это два разных числа. Разберёмся, почему так, что такое context rot и «потерянная середина», работает ли «правило 40%» и что делать на практике, чтобы ИИ не «тупел» в длинном диалоге.

Простыми словами: фонарь с фиксированным запасом света

Представьте фонарь, у которого фиксированный запас света. Направьте его узким лучом — пятно яркое, каждая деталь в нём видна чётко. Расширьте луч на всю комнату — света ровно столько же, но размазан он тонким слоем, и разглядеть в дальнем углу нужную мелочь уже трудно.

Контекстное окно работает похоже. Чем больше вы в него набрасываете, тем «тусклее» внимание модели к каждому отдельному куску. Формально всё ещё «помещается», но модель начинает терять детали — как глаз теряет мелочь в размазанном свете. Поэтому длинный, захламлённый диалог часто работает хуже короткого и сфокусированного, даже на одной и той же модели.

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

Как это работает

Чтобы понять механизм, нужны три кусочка: токены, context rot и «потерянная середина».

Токены — единица измерения окна

Нейросеть видит текст не буквами и не словами, а токенами — кусочками слов. Одно английское слово — это часто один токен, а вот русское слово почти всегда разбивается на несколько. Практический вывод для нас: русский текст занимает примерно вдвое больше токенов, чем такой же по смыслу английский. Значит, в одно и то же окно русского текста влезает заметно меньше. Проще говоря: если статья на английском укладывается в окно с запасом, её русский перевод может уже упереться в лимит. Это стоит держать в уме, когда прикидываете, сколько «поместится» и во сколько это обойдётся.

Context rot — «загнивание контекста»

Главный механизм. В июле 2025 исследователи Chroma протестировали 18 моделей и показали: по мере роста числа токенов в контексте способность модели точно находить и использовать нужную информацию падает — причём неравномерно и даже на простых задачах. Anthropic независимо признаёт тот же эффект в своём инженерном блоге (сентябрь 2025). Контринтуитивная деталь из отчёта Chroma: деградация проявляется, даже когда нужный факт лежит в контексте один и сформулирован прямо, без ловушек. То есть проблема не в «сложности вопроса», а в самом объёме — модели тяжелее работать в длинном контексте как таковом.

Почему так? Упрощённо: механизм внимания в моделях устроен так, что каждый токен «сверяется» со всеми остальными. Чем длиннее контекст, тем больше этих сверок — нагрузка растёт не линейно, а примерно как квадрат длины. Внимание модели — ограниченный бюджет, и чем шире его размазывают по контексту, тем меньше достаётся каждому фрагменту. Грубо говоря, если удвоить длину контекста, объём этих сверок вырастает примерно вчетверо — поэтому длинный контекст обходится непропорционально дорого и по вниманию, и по времени ответа. Это и есть та «тусклость луча» из аналогии, только на уровне математики.

Lost in the middle — «потерянная середина»

Второй, отдельный эффект (его часто путают с первым). Ещё в 2023 году исследователи из Стэнфорда и Беркли (Liu et al., позже опубликовано в TACL 2024) обнаружили: если нужный факт лежит в середине длинного контекста, модель находит его хуже, чем если он в начале или в конце. Кривая точности получается U-образной: края помнятся лучше, серединка «проваливается». Практический смысл: важное лучше ставить в начало или в конец запроса, а не топить в середине простыни текста. Это же работает и в длинном диалоге: инструкцию, которую модель должна держать в фокусе, полезно повторить ближе к концу, а не рассчитывать, что она «запомнила» её из первого сообщения десять реплик назад.

Правило 40%: откуда оно и работает ли

Вы могли встретить совет «держи заполнение контекста примерно до 40%». Идея здравая, но единого «закона 40%» не существует, и это не официальная позиция Anthropic: она вообще не называет конкретный процент, а описывает деградацию качества как плавный градиент, а не резкий обрыв (Anthropic Engineering).

«Правило 40%» — это community-эвристика, и у разных практиков цифры разные.

Источник / практикРекомендуемый порог
Блог «You’re Using 40% of Your AI» (март 2026)~40% (и сам автор оговаривается: «это не точные числа»)
Разбор уровня Senior (Habr)40–50%
Материал про память ИИ-агентов (Habr)норма до 50–60%, проблемы с 60–70%
Практический курс по ИИ-агентамтриггер принудительного сжатия ~80%

Почему цифры так расходятся? Потому что «правильный» порог зависит от задачи (простой вопрос модель вытащит и из забитого окна, сложный — нет), от конкретной модели (у одних деградация мягче, у других резче) и от того, насколько «чистый» контент лежит в окне. Единого магического числа тут в принципе быть не может — отсюда и разнобой в советах.

Что из этого следует. Не воспринимайте «40%» как магическое число — воспринимайте как принцип: не набивайте окно под завязку. Порог у каждой задачи и модели свой, но направление одно — чем чище и короче контекст, тем надёжнее модель. Проще держать в голове ориентир «примерно до половины окна», а точную границу нащупать на практике.

Зачем это знать практически

Понимание механизма даёт три ощутимые выгоды.

Вы экономите деньги и время. Длинный контекст — это не только риск деградации, но и прямые издержки: у ряда моделей сверх определённого порога токенов действует повышенный тариф, а время ответа (латентность) растёт быстрее, чем линейно, — та самая квадратичная нагрузка. Простой пример: если каждый запрос тащит за собой всю историю длинного диалога, вы платите за эти токены снова и снова на каждом шаге — и ждёте ответа дольше. Свежий короткий диалог по той же задаче обходится в разы дешевле. Короче контекст — дешевле и быстрее.

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

Вы умеете чистить контекст. В Claude Code для этого есть команды: /compact — сжать историю в краткое резюме, сохранив суть, и /clear — полностью очистить контекст под свежую задачу. По сути это ручное управление тем самым бюджетом внимания. А в целом за то, чтобы подавать модели только нужное, отвечает обвязка (harness) — то, как устроен агент вокруг модели; управление контекстом — одна из её главных задач.

На практике это складывается в несколько простых привычек: под новую задачу — новый диалог, а не бесконечная лента; подавайте модели только то, что относится к делу, а не «весь проект на всякий случай»; большой документ дробите и обсуждайте по частям; заметили, что модель начала повторяться и забывать, — не уговаривайте её, а сожмите или очистите контекст. Эти привычки экономят и токены, и время, и часто работают лучше, чем переход на более дорогую модель.

Ограничения и слабые места

Важно понимать границы самого понятия «большое окно» — иначе легко переоценить возможности модели.

  • Большой размер не равен надёжности. Заявленный вендором объём и объём, которым модель реально пользуется без потери качества, — разные числа. Не стройте работу на допущении, что модель одинаково хорошо «держит в голове» весь миллион токенов.
  • Длинный контекст — это деньги и время. Повышенные тарифы за токены сверх порога и квадратично растущая латентность делают привычку «пихать всё в окно» дорогой.
  • Управление контекстом не отменяет ошибок модели. Даже идеально чистое окно не спасёт от галлюцинаций: контекст влияет на то, что модель видит, но не на то, ошибается она или нет.
  • Маркетинговым цифрам окна нельзя верить на слово. Реальную полезную ёмкость показывают независимые тесты (вроде поиска фактов в длинном контексте), а не пресс-релизы с рекордными числами.

Частые заблуждения

  • «Окно побольше — значит, модель умнее по всему объёму». Нет. Заявленный размер окна и объём, которым модель реально надёжно пользуется, — разные вещи. Показательный пример: на тесте поиска фактов (по данным Anthropic) Opus 4.6 держит 76% в миллионном контексте, а Sonnet 4.5 — 18,5% на том же тесте. Тот же эффект у конкурентов: по собственной модель-карте Google, Gemini 3 Pro на этом типе теста даёт около 77% при 128 тыс. токенов, но проседает примерно до 26% на полном миллионе. И там, и там это вендорские цифры о своих же моделях, не независимый тест, — но направление они показывают одинаково. Большое окно — приглашение, а не гарантия качества по всей длине. Здоровый скепсис к цифрам окна не помешает: летом 2026 в соцсетях разошёлся пост про «окно на 12 миллионов токенов, в 52 раза мощнее конкурентов». Даже если такое окно физически существует, из разобранного выше следует главное — большой заявленный размер сам по себе ничего не гарантирует; важно, каким объёмом модель реально пользуется без потери качества.
  • «Контекстное окно — это память ИИ». Не совсем. Память — это то, что сохраняется между сессиями (и её обеспечивает обвязка отдельными механизмами). Окно — разовый рабочий буфер на один запрос; закрыли диалог — оно обнулилось.
  • «Если факт влез в окно, модель его точно учтёт». Не обязательно. Из-за context rot и «потерянной середины» факт может физически быть в контексте, но модель его «не увидит» — особенно если он в середине длинного текста среди множества других.
  • «Чтобы модель не забывала, надо просто скормить ей весь проект целиком». Обычно наоборот: чем больше лишнего в окне, тем хуже. Полезнее подавать только релевантные куски.

Связанные понятия

Короткий словарик по теме:

  • Токен — минимальный кусочек текста, которым оперирует модель; в русском одно слово — обычно несколько токенов.
  • Context rot — постепенное падение качества ответов по мере роста объёма контекста, даже до его физического заполнения.
  • Lost in the middle — эффект, при котором модель хуже помнит информацию из середины длинного контекста, чем из начала и конца.
  • Компакция (compaction) — сжатие истории диалога в короткое резюме, чтобы освободить окно, не потеряв суть.
  • Обвязка (harness) — инфраструктура вокруг модели, которая в том числе управляет контекстом; подробный разбор — в статье про отличие Claude Code от чата.

FAQ

Что такое контекстное окно простыми словами? Это максимальный объём текста (в токенах), который модель удерживает за один запрос. Не память, а разовый рабочий буфер: между запросами модель ничего не помнит сама по себе. Всё, что она учитывает прямо сейчас, — это то, что уместилось в текущее окно.

Почему ИИ «тупеет» в длинном диалоге? Из-за эффекта context rot: чем больше токенов в контексте, тем хуже модель находит и использует нужное — качество внимания «размазывается» по объёму. Плюс эффект «потерянной середины»: факты в середине длинного контекста помнятся хуже. Поэтому проблемы начинаются ещё до того, как окно физически заполнится. Проще говоря, дело не в том, что «памяти не хватило», а в том, что вниманию модели тяжело работать в большом объёме.

Сколько токенов помнит ИИ? Зависит от модели. На 10 июля 2026 у Claude Opus 4.8, Sonnet 5 и Fable 5 окно — 1 млн токенов, у Haiku 4.5 — 200 тыс. (у Fable 5 при этом ответ ограничен 128 тыс. токенов). У конкурентов сопоставимо: GPT-5.5 — около 1,05 млн. Но помните: «помещается» не равно «надёжно используется» — реально полезный объём обычно меньше заявленного. Практический ориентир — рассчитывать не на весь заявленный размер, а на его комфортную часть, и не набивать окно до предела.

Правда ли, что надо держать контекст до 40%? «Правило 40%» — не строгий закон и не официальная рекомендация Anthropic, а популярная эвристика; у разных практиков цифры от 40% до 80%. Полезнее понимать принцип: не набивайте окно под завязку, держите контекст чистым, а точный порог нащупайте под свою задачу. Ориентир «примерно до половины окна» проще запомнить, и он ближе к тому, что советует большинство практиков.

Как очистить контекст в Claude Code? Командой /clear — полностью очистить окно под новую задачу, или /compact — сжать историю в резюме, сохранив главное. Если замечаете, что модель начала забывать и повторяться, это сигнал сделать одно из двух.

Как понять, что пора начинать новый диалог? По поведению модели: она повторяет извинения, забывает детали из недавних сообщений, путает уже обсуждённое, отвечает всё более общо и «водянисто». Это признаки, что окно замусорилось. Надёжнее не «дожимать» тот же диалог уговорами, а начать свежий под конкретную задачу или сжать историю командой /compact.

Курс «Claude Code с нуля до продакшена» · модуль «Понять основы». Полная программа и два маршрута обучения — на странице курса.

Предыдущий урок: Что такое MCP простыми словами

Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.