# Гниение контекста: почему модель тупеет после двадцатого сообщения

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

## Что происходит на самом деле

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

Часто люди говорят, что это модель тупит или что это какая-то проблема конкретного сервиса. Но при этом не знают, из-за чего это происходит и как на самом деле это исправить.

Исследование показывает, что модель начинает путаться ещё больше, если основные данные находятся в середине контекстного окна.

карточка 1 — метка «сообщений до первых сбоев» / значение «20» / капшен «дальше начинаются противоречия и торможение»; карточка 2 — метка «падение точности в середине диалога» / значение «30%» / капшен «по сравнению с данными в начале»; карточка 3 — метка «приёмов, чтобы этого не было» / значение «3» / капшен «переход в новый чат, начало диалога, выбор модели». Ключевая — #2

## Токены не решают

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

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

Смотри. У Claude — 200 тысяч токенов. У ChatGPT — в районе 400 тысяч. У Gemini — миллион.

И при этом в моей работе ChatGPT спокойно вывозит очень долгие диалоги, а Gemini выкидывает ошибки: не видит картинку — это реальный случай, скриншот, который ты прикреплял, — зависает, перестаёт отвечать на банальные сообщения.

Как будто бы контекстное окно должно помогать и делать диалог лучше. На самом деле не всё так однозначно.

строки «Показатель → Значение»: Claude → 200 тысяч токенов — самое маленькое окно, но честное; ChatGPT → около 400 тысяч, вывозит долгие диалоги; Gemini → миллион токенов, но теряет картинки и зависает; Вывод → размер окна не определяет качество работы

## Начало помнит, середина теряется

В 2024 году провели исследование, из которого получилась характерная кривая.

Выяснилось: точность ответов максимальная, когда данные в начале диалога. Нормальная точность — когда данные в конце. А вот если твои данные в середине, точность падает на 30%.

Так, например, модель того времени буквально работала хуже, когда нужны были данные оттуда, где контекст ещё остаётся. Например, найти информацию в середине тридцати присланных файлов. Но при этом, если бы мы вообще убрали контекст и она перестала бы что-то помнить, — даже так она работала лучше.

По сути, внимание модели — это сравнительно скудный ресурс. Банальная математика: сначала она помнит всё, потом окно забивается, и искать нужную информацию становится всё сложнее.

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

## Три модели гниют по-разному

Так называемое гниение контекста — когда чат со временем перестаёт работать — у каждой нейросети выглядит по-разному. Расскажу на личных примерах: я пользуюсь всеми тремя.

У Gemini это выглядит максимально стрёмно. Когда память сгнивает и диалог превышен — а это в среднем 40-80 сообщений, всё зависит от объёма загруженных данных, — он просто начинает путаться. Самые большие сбои: перестаёт принимать картинки, вообще их не видит, делает вид, что их не существует, и просто перестаёт отвечать на вопросы. Я пишу, что у меня сегодня по плану на завтрак — программа питания у меня в документе, я его отправляю, — а он говорит: не знаю, если честно.

У Claude ситуация иначе. Это одна из самых послушных нейросетей, объясню почему. Когда контекст у него сгнивает — а сгнивает он минимум раза в три быстрее, чем у ChatGPT, и минимум раза в два быстрее, чем у Gemini, — Claude абсолютно честно показывает тебе окно. Он пакует все данные, которые были в предыдущем контексте, и сам себе отправляет сводку. Таким образом на следующий отрезок у тебя остаётся почти всё окно, но он примерно помнит всё в виде сводки и продолжает работать без лагов и зависаний.

Интереснее с ChatGPT. Он, в отличие от Gemini, не начнёт тупить и говорить «я не знаю», путаться в показаниях почти никогда не будет. Но когда ты очень-очень долго с ним общаешься, он начинает безумно тормозить — ощущение, что что-то забилось и пора переходить в новый чат.

карточка 1 — метка «Gemini» / значение «путается и молчит» / капшен «перестаёт видеть картинки, не отвечает на простое»; карточка 2 — метка «Claude» / значение «предупреждает честно» / капшен «пакует сводку сам и работает дальше без лагов»; карточка 3 — метка «ChatGPT» / значение «тормозит, но не врёт» / капшен «в показаниях почти никогда не путается». Ключевая — #2

## Приём первый: переход в новый диалог

Когда чат становится слишком большим, самое время переходить в другой. Это бывает достаточно больно: ты можешь долго готовить какой-нибудь сценарий, а он зависает на середине, и всё надо переносить.

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

На самом деле всё делается максимально просто.

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

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

И третье, наверное, самое важное. Не парься с формулировками — просто напиши ему: дай переходный запрос для другого диалога. И он всё перенесёт сам. С таким переходным запросом нейросеть не будет тормозить никогда: ты один раз заметил, перешёл в новый диалог — и всё летает.

- 01 «Заметить момент» — метрика «не ждать, пока начнёт врать» — чат стал большим, начались тормоза
- 02 «Попросить переходный запрос» — метрика «модель переносит контекст сама» — «дай переходный запрос для другого диалога»
- 03 «Постоянная часть в проекте» — метрика «не переносится вручную каждый раз» — мастер-запрос и файлы, нужные всегда
- 04 «Новый диалог» — метрика «всё летает, мучиться не нужно» — роль, контекст и файлы сразу в начале

## Приём второй: загружай всё сразу

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

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

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

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

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

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

врезка `// Правило`: текст «Тут даже, наверное, самое важное не запрос, а контекст, который ты загружаешь по своей задаче. Нужно исследование — загрузи сразу все файлы. Не по очереди и не раз в час.»

## Приём третий: разные модели под разные задачи

Последнее, что нужно понимать: каждая нейросеть годится для своих задач идеально. Сейчас уже не существует единой нейросети, которой можно пользоваться универсально.

Мне лично больше всего подходит Claude — и то всё равно. Я оплачиваю подписку и на Perplexity, и на Gemini, и на ChatGPT, и на Claude. Просто на Claude у меня старшая подписка, а на все остальные — стандартная.

Почему я так делаю? Потому что в зависимости от задачи разная нейронка подходит лучше всего. А у меня полдня — это работа с нейронками.

Разберём на конкретном примере. У ChatGPT есть три модели. Автоматический выбор я никогда не беру: он, как правило, выбирает не самую лучшую модель для конкретной задачи.

Быстрая — для простых задач, не требующих большого контекста. В течение дня узнать факт, посчитать пример, сделать аналитику таблицы, где только математика и думать не надо. Её хватит на 30-40 сообщений без больших файлов, зато она будет работать быстрее.

Думающая модель будет забирать твоё время. Она будет думать, даже если ты спросишь что-то простое, — может уйти в размышления на десять минут. И она же этим загрузит свой контекст, потому что будет помнить источники и всё, что делала. То есть с каждым диалогом, даже с простыми задачами, она будет забиваться.

Значит ли это, что думающую модель использовать нельзя? Нет, она как раз для сложных задач. Просто сложных задач среднестатистический человек делает не так много.

- «~~нужно выбрать одну нейросеть и работать только в ней~~» → Значит ли это, что думающую модель использовать нельзя?
- «~~автоматический выбор модели сам подберёт лучшую~~» → Думающая модель будет забирать твоё время.
- «~~думающая модель всегда даёт результат лучше~~» → Быстрая — для простых задач, не требующих большого контекста.

## Как я распределяю задачи

С Gemini я вообще не работаю над задачами с большим контекстом, потому что он его теряет. В какой-то момент перестают загружаться фотографии. И самое главное: он может потерять контекст до того, как я попросил переходный запрос. А раз переходного запроса нет, приходится копировать самому. Мне такое не нравится.

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

А Claude я как раз использую для больших задач, потому что у него честное окно контекста. Если контекст заканчивается, он тебе об этом говорит. И не просто говорит — сам делает переходный запрос и оставляет тебя внутри того же диалога, который ты можешь вести хоть до самого конца.

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

строки «Показатель → Значение»: Быстрые вопросы в течение дня → модель, где контекст не важен, зато отвечает мгновенно; Большие задачи и разработка → модель с честным окном и переходным запросом; Долгие диалоги без больших файлов → модель, которая не путается, но со временем тормозит; Простая арифметика и факты → быстрая модель, хватит на 30-40 сообщений; Сложная задача → думающая модель — но её забивает собственный поиск; Автоматический выбор → не брать: подбирает не лучшее

## Три приёма против гниения

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

Теперь ты сможешь работать с моделями более честно: понимать их контекстное окно и понимать, когда стоит перейти в новый диалог.

- 01 «Переход в новый диалог» — метрика «постоянная часть живёт в проекте» — попросить переходный запрос
- 02 «Начало диалога» — метрика «главное в начало, а не в середину» — весь контекст и файлы сразу
- 03 «Выбор модели» — метрика «автоматический выбор не брать» — под задачу, а не «одна на всё»

## Три возражения про контекст

«Возьму модель с самым большим окном, и проблемы не будет». У Claude окно самое маленькое из трёх, а долгие задачи он держит лучше всех. У модели с миллионом токенов диалог сыпется на 40-80 сообщениях. Размер окна не определяет качество.

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

«Если положить данные в середину, ничего страшного не случится». Случится: точность по ним падает на 30%. Именно поэтому весь контекст загружается сразу в начало, а не по одному файлу раз в час.

## Что здесь мой личный опыт

Про поведение конкретных моделей я говорю по своему опыту. Безусловно, в комментариях кто-то возразит — но я рассказываю то, с чем сталкиваюсь сам, работая с нейронками полдня.

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

И ещё: скорость гниения зависит не только от модели, но и от того, сколько данных ты туда загрузил. Диапазон 40-80 сообщений — это среднее, а не гарантия.

врезка `// Честно`: текст «Сложных задач среднестатистический человек делает не так много. Половина проблем с «тупящей» нейросетью — это думающая модель, запущенная там, где хватило бы быстрой.»

## Вспомни диалог, который ты бросил

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

Один вопрос напоследок. Ответь себе одним предложением: какую задачу ты не доделал, потому что чат начал тормозить и ты его бросил? Назови её конкретно — вернись туда и попроси переходный запрос. Я читаю.

20 — сообщений · 30% — потери в середине · 40-80 — сообщений до сбоя · 3 — приёма

---

Источник: https://localhost:3000/m/gnienie-konteksta-pochemu-model-tupeet-posle-dvadcatogo-soobscheniya
