Почему ИИ-персонажи забывают свою личность
Вы тратите два часа на создание персонажа. Спустя тридцать реплик персонаж забывает свое имя. Она начинает вести себя как обычный ассистент.
Большинство людей думают, что у ИИ плохая память. Это заблуждение.
Проблема в контекстном окне.
Чат-модели не имеют состояния (stateless). Каждый раз, когда вы отправляете сообщение, приложение отправляет системный промпт, детали персонажа и историю вашего недавнего чата обратно модели.
То, что вы называете памятью, — это просто история сообщений, остающаяся внутри этого окна ввода.
Когда чат становится слишком длинным, старые сообщения выпадают из окна. Детали из 12-й реплики исчезают, чтобы освободить место для 41-й. Модель не забывает. Приложение просто перестает показывать ей эту информацию.
Увеличение контекстного окна — это не решение.
Большие окна создают две проблемы:
- Стоимость и скорость. Удвоение размера окна значительно увеличивает потребность в вычислительных ресурсах. Приложения часто ограничивают окно, чтобы ответы оставались быстрыми и дешевыми.
- Деградация середины (Middle degradation). Исследования показывают, что модели хорошо находят факты в начале или в конце длинного текста, но упускают факты, запрятанные в середине.
Лучшие приложения не полагаются на «сырой» размер окна. Они используют два конкретных метода:
- Рекурсивная суммаризация (Recursive summarization): приложение превращает старые сообщения в краткое резюме. Это позволяет сохранять ключевые факты, не занимая много места.
- Извлечение (Retrieval): приложение сохраняет старые сообщения в базе данных. Оно извлекает только нужные факты, когда они вам требуются. Именно так работают лорбуки (lorebooks).
Разница между хорошим и плохим приложением заключается в архитектуре. Одно использует слой памяти. Другое — лишь тонкую оболочку над «сырым» окном.
Если ваш персонаж теряет индивидуальность, не используйте более крупную модель. Измените структуру. Суммируйте старые реплики. Извлекайте то, что важно.
Относитесь к контекстному окну как к кэшу, а не как к жесткому диску.
Дополнительное сообщество для обучения: https://t.me/GyaanSetuAi