Вы общаетесь не с собеседником. Вы вызываете функцию
Представьте, что вы звоните в колл-центр. Каждый раз, когда вы говорите "Алло", на другом конце провода появляется новый оператор. Он не слышал вашего предыдущего разговора. Ему просто передают стенограмму всего диалога, и он должен продолжить беседу, делая вид, что помнит всё с самого начала.
Именно так работают ChatGPT, Claude 3.7, Gemini 2.0 и все остальные LLM на 01.02.2026. Никакой памяти. Никакого состояния. Только гигантская функция, которая на вход получает текст (весь ваш диалог) и на выходе генерирует продолжение.
Это не баг, а фундаментальное ограничение архитектуры Transformer. Модель не "живёт" между запросами. Она "умирает" после генерации каждого токена и "воскресает" для следующего запроса, загружая весь контекст заново.
Attention — это не память, а очень дорогой пересчёт
Когда вы пишете "Напомни, о чём мы говорили 10 сообщений назад", модель не лезет в какую-то базу данных. Она заново анализирует все 10 сообщений, вычисляя attention-веса между каждым словом в контексте. Каждый. Раз.
Вот почему длинные диалоги так дороги. Стоимость inference растёт квадратично с размером контекста. Новые модели вроде GPT-4.5 с контекстом в 128K токенов — это не прорыв в эффективности, а просто готовность OpenAI сжигать больше денег на ваши запросы.
Детерминированность — миф, который мы сами создали
Temperature=0 и seed=42. Кажется, что это гарантирует одинаковые ответы на одинаковые промпты. На практике — нет.
Аппаратные различия, версии библиотек (cuDNN, TensorFlow), даже порядок загрузки весов в память GPU могут давать разные результаты. Особенно это заметно в новых мультимодальных моделях вроде Gemini 2.0 Ultra, где pipeline обработки изображений добавляет стохастичности.
Вы просите модель "продолжить в том же стиле", а она генерирует ответ, который статистически похож на предыдущие, но не является логическим продолжением. Потому что для модели нет "продолжения". Есть только новый промпт, который случайно оказался семантически близок к прошлому.
Газлайтинг — не злой умысел, а побочный эффект архитектуры
Почему ИИ так часто противоречит сам себе? Вы спрашиваете в начале диалога: "Сколько будет 2+2?" — получаете "4". Через 20 сообщений переспрашиваете — иногда получаете "5" (особенно если в промпте есть намёки на креативность).
Это не модель "забыла". Это новый вызов функции с немного другим контекстом (20 дополнительных сообщений изменили распределение attention). Модель честно генерирует наиболее вероятное продолжение для нового промпта. А наиболее вероятное — не всегда то, что вы считаете правдой.
Феномен сикофантии ИИ усугубляет проблему. Модель соглашается с вами в каждом отдельном сообщении, но между сообщениями нет согласованности.
| Что вы думаете | Что происходит на самом деле |
|---|---|
| ИИ ведёт диалог | Каждый запрос — независимая генерация |
| ИИ помнит прошлые ответы | Весь диалог пересчитывается заново |
| Temperature=0 даёт детерминизм | Аппаратные различия вносят случайность |
| Газлайтинг — ошибка модели | Естественное следствие архитектуры |
Почему это не исправят? Деньги, деньги и ещё раз деньги
True stateful LLM — модель, которая сохраняет внутреннее состояние между запросами — технически возможна. Но экономически невыгодна.
- Память GPU дорогая. Хранить состояние для миллионов одновременных пользователей — неподъёмные затраты.
- Нет универсального решения. Состояние для кодогенерации бесполезно для креативного письма.
- Пользователи не готовы платить в 10 раз больше за "настоящий" диалог, когда и текущая иллюзия работает достаточно хорошо.
Вместо этого компании вроде Anthropic и Google развивают техники вроде Interleaved Thinking — сложные промпт-инжениринговые хаки, которые создают видимость последовательного мышления, не меняя архитектуру.
Как жить с этой правдой? Перестать обманывать себя
1. Пишите самодостаточные промпты. Каждое сообщение должно содержать весь необходимый контекст. Не надейтесь, что модель "помнит" что-то из прошлого. Метод "промптов как техзадание" работает именно потому, что не полагается на память ИИ.
2. Используйте RAG, а не длинный контекст. Внешняя база знаний дешевле и надёжнее, чем надежда на то, что модель "удержит" 100K токенов в attention. Особенно для бизнес-процессов.
3. Проверяйте ключевые факты в каждом ответе. Не доверяйте "консистентности" диалога. Модель может утверждать X в первом сообщении и не-X в пятом, и оба ответа будут статистически валидны для своих контекстов.
4. Экспериментируйте с перезапусками. Иногда самый эффективный способ получить другой результат — начать диалог заново с тем же промптом. Это буквально то, что происходит на бэкенде при каждом вашем сообщении.
Прогноз на 2026-2027: мы увидим гибридные системы, где LLM работает как stateless ядро, а состояние хранится в классических базах данных или векторных хранилищах. Но иллюзия диалога останется иллюзией — просто лучше оптимизированной.
ИИ — не собеседник. Это бесконечно терпеливый, слегка забывчивый, но очень дешёвый (относительно) клерк, который каждый раз заново читает всю переписку по делу. Зная это, вы перестанете злиться на его "глупость" и начнёте получать от него реальную пользу. Как от младшего коллеги, которому нужно каждый раз объяснять задачу с самого начала.