Почему ИИ забывает, о чём вы говорили, и как это исправить
Знакомая сцена: вы час обсуждали переезд в другой город, а через двадцать сообщений персонаж спрашивает, чем вы вообще занимаетесь. Или называет вас чужим именем. Или заново здоровается, как будто вы только что познакомились.
Это самая частая жалоба на ИИ-собеседников, и она почти никогда не значит, что «нейросеть глупая». Причина техническая, довольно понятная — и с ней можно работать.
Модель не помнит ничего. Совсем
Главное, что стоит уяснить: языковая модель не имеет памяти между запросами. Она не «помнит» вас так, как помнит человек. Каждый раз, когда вы отправляете сообщение, сервис заново собирает всё, что модель должна знать, в один большой текст и отправляет его целиком. Ответ приходит — и модель тут же всё забывает.
То есть память — это не свойство нейросети. Это работа сервиса вокруг неё. И качество памяти в разных чатах отличается радикально, хотя модель внутри может стоять одна и та же.
Почему нельзя просто отправлять всю переписку
Первая мысль: пусть сервис каждый раз шлёт вообще всё, что мы наговорили. Так и делают самые простые боты — и упираются в две стены.
Стена первая — размер. У любой модели есть предел объёма текста за один запрос. Переписка на пару месяцев в него не влезает физически.
Стена вторая — внимание. Она интереснее. Даже когда текст влезает, модель хуже видит то, что лежит в середине длинного полотна. Начало и конец она держит цепко, а середину «замыливает». Поэтому чат, куда механически свалили тысячу сообщений, помнит хуже, чем чат с тремя сотнями, но разложенными по-умному.
Как устроена нормальная память
Хороший сервис не хранит переписку одним куском. Он раскладывает её на слои, и каждый решает свою задачу.
- Последние сообщения — дословно. Ближайшие несколько десятков реплик уходят как есть, слово в слово. Это то, что держит связность разговора прямо сейчас: интонацию, недосказанность, шутку из предыдущего абзаца.
- Пересказ старого. Всё, что вышло за пределы дословного окна, сжимается в досье: кто вы друг другу, что происходило, чем закончилось. Слова теряются, суть остаётся.
- Поиск по смыслу. Когда вы упоминаете что-то из глубокого прошлого, сервис находит те самые старые реплики по смыслу — не по совпадению слов — и подкладывает их дословно. Вы сказали «помнишь тот вечер на крыше», и нужный кусок всплывает, хотя он был четыреста сообщений назад.
- Факты о вас. Отдельно копится список: как вас зовут, кем работаете, чего боитесь, что обещали. Это самый надёжный слой — он не растворяется при пересказе.
Именно четвёртый слой отвечает за ощущение, что вас знают. И именно его чаще всего нет в простых ботах.
Проверьте: он правда забыл?
Это неочевидный, но важный момент. Мы не раз ловили ситуацию, когда пользователь жаловался на «сломанную память», а нужная реплика на самом деле лежала в запросе — дословно, в двадцати строках от конца. Модель её просто не использовала.
Отличить одно от другого можно простым тестом. Спросите напрямую: «Ты помнишь, как меня зовут?» Если персонаж отвечает верно, но в разговоре всё равно ведёт себя так, будто не знает вас, — это не память. Это невнимательность модели, и лечится она другими средствами: инструкциями персонажу, температурой генерации, формулировкой вашего сообщения.
А вот если он честно отвечает «не знаю» — вот это уже провал памяти.
Шесть приёмов, которые помогают прямо сейчас
Пока разработчики чинят своё, кое-что можно сделать со своей стороны.
1. Важное — в описание персонажа, а не в чат. Всё, что должно жить вечно (ваше имя, обстоятельства, правила мира), лучше вписать в карточку героя. Описание уходит в запрос всегда и никогда не выпадает из окна.
2. Не бойтесь напоминать. Фраза «напомню, я тебе рассказывал про сестру» — не костыль, а нормальный ход. Так и в живом разговоре делают.
3. Начинайте новую линию — новым чатом. Если история завершилась и вы хотите другой сюжет, чистый чат работает лучше, чем попытка развернуть старый. Меньше мусора — острее внимание.
4. Пишите содержательно. Реплики из одного слова дают модели нечего запоминать. Абзац с деталями — даёт.
5. Проговаривайте вслух то, что важно. Если событие должно остаться в истории («мы поссорились из-за этого»), скажите это явно. Пересказ сохранит то, что было названо, и потеряет то, что только подразумевалось.
6. Не растягивайте один чат на всё. Отдельный персонаж — отдельная линия. Пять параллельных историй в одном окне запутают любую систему памяти.
Как это сделано в Noxie
Все четыре слоя работают одновременно. Дословное окно расширяется вместе с уровнем подписки, досье пересобирается автоматически по мере роста переписки, поиск по смыслу подтягивает старые реплики точной цитатой, а факты о вас живут отдельным списком и переживают любые пересказы.
Отдельно мы следим за противоречиями: если вы сначала сказали, что любите кофе, а через месяц — что перешли на чай, старый факт гасится, а не спорит с новым. Иначе персонаж начинает шизофренически помнить обе версии.
Попробовать, как это ощущается в разговоре →
А если вам кажется, что дело всё-таки не в памяти, а в том, что персонаж отвечает однообразно, — это отдельная болезнь со своими причинами. Разобрали её в статье «ИИ повторяется: семь причин и что делать».
Читайте также
- ИИ повторяется и отвечает одинаково: 7 причин и что делать
- Контекст и токены простыми словами: почему длинные чаты ведут себя иначе
- Отношения с ИИ на дистанции: что происходит через месяц, три и полгода
- Как сделать ИИ-персонажа реалистичным: внешность, характер, память