К концу длинного разговора модель теряет условия задачи, противоречит сама себе и заново спрашивает то, что вы уже говорили дважды. Это не поломка, а устройство её памяти.
Я собирал техническое задание в одном чате часа два. Описал продукт, аудиторию, ограничения, бюджет, сроки, желаемый тон. В конце попросил свести всё в документ и получил бодрый текст, в котором бюджет вырос втрое, а половина ограничений куда-то делась. На вопрос, откуда взялась цифра, ассистент вежливо согласился, что ошибся, и выдал новую. Тоже неправильную.
У модели нет памяти вообще
Начать придётся с неприятного. Между двумя вашими сообщениями модель не помнит ничего. Совсем. Она не хранит ваш диалог, не узнаёт вас и не продолжает вчерашнюю мысль.
Иллюзию памяти создаёт интерфейс. При каждом новом вопросе он молча отправляет модели всю переписку целиком, с самого первого сообщения, и та каждый раз читает её заново, будто человек, которому дали стенограмму чужого разговора и попросили дописать следующую реплику. Ощущение непрерывности возникает у вас, а не у неё.
Отсюда и ограничение. Стенограмма не может быть бесконечной. У каждой модели есть предел, который называют контекстным окном и меряют в токенах, то есть кусочках текста примерно по три или четыре символа. Когда переписка перестаёт помещаться в этот предел, самое старое начинает выпадать. Бюджет, названный в начале разговора, просто перестаёт существовать.
Русскому языку тут не повезло особенно. Токенизаторы разрабатывались с прицелом на английский, кириллица режется мельче, и один и тот же по смыслу текст на русском съедает заметно больше токенов. На практике это значит, что русскоязычный диалог упирается в потолок раньше английского при одинаковых заявленных лимитах.
Есть и эффект, который удивляет даже тех, кто про окно знает. Даже когда всё помещается, модель хуже всего замечает то, что лежит в середине длинного контекста. Начало и конец она держит цепко, а середину подвирает. Так что «я же написал это в двадцатом сообщении» не аргумент, особенно если сообщений уже сорок.
Что с этим делать
Правило первое и самое простое. Не ведите всё в одном бесконечном чате. Один чат на одну задачу, и не жалейте создавать новые. Привычка годами копить историю в одном диалоге работает против вас, хотя выглядит аккуратной.
Второе. Раз в десяток сообщений просите модель свести договорённости в короткую сводку. Получившийся кусок текста и есть ваша настоящая память. Его можно вставить первым сообщением в новый чат, и разговор продолжится уже без хвоста из мусора.
Третье, самое полезное. Держите условия задачи в одном месте, а не размазывайте по репликам. Карточка на десять строк с продуктом, аудиторией, ограничениями и цифрами, вставленная в начало, работает надёжнее, чем те же сведения, выданные по частям в течение двух часов.
Четвёртое. Файл лучше пересказа. Если данные живут в таблице или документе, приложите их, а не переписывайте своими словами, вы всё равно перескажете хуже.
Пятое. Там, где задача повторяется, контекст стоит вынести из переписки в настройки. Кастомные инструкции есть почти везде, проекты в Claude и пространства в Perplexity придуманы ровно для этого, а в продуктах со сценариями вроде sphere.su условия задачи заданы формой, и терять их попросту негде. Разница чувствуется сразу, потому что вы перестаёте каждый раз пересказывать одно и то же.
И маленькое наблюдение напоследок. Чем длиннее диалог, тем сильнее хочется верить, что модель уже всё про вашу задачу поняла. Это самая дорогая иллюзия в работе с ассистентами, потому что именно в этот момент вы перестаёте перепроверять. У меня после истории с бюджетом завелось правило. Всё, что уйдёт в документ, проговаривается заново в последнем сообщении, каким бы очевидным оно ни казалось час назад.