Как реализовать память диалога и долговременную память ассистента?
- Как ассистент помнит предыдущие разговоры?
- Что делать, если история диалога не помещается в контекст?
Модель не помнит прошлых запросов — память строит приложение. Короткая — история диалога в контексте: последние сообщения целиком, старые — резюме. Долговременная — извлечённые из диалогов факты о пользователе (предпочтения, данные) в хранилище с поиском, подмешиваемые в новый диалог. Рабочая память агента — заметки и план во внешнем хранилище, а не в растущем контексте.
- Каждое сообщение истории оплачивается в каждом следующем запросе
- Кэширование префикса удешевляет неизменную часть истории
- Неверный факт в памяти портит все будущие ответы — нужны обновление и удаление
А ещё Пользователь должен видеть и удалять то, что ассистент о нём помнит
Подробно
Стратегии истории:
| стратегия | плюс | минус |
|---|---|---|
| вся история | ничего не теряется | дорого, упирается в контекст |
| скользящее окно | дёшево | забывает начало разговора |
| резюме старого + окно | баланс | детали теряются |
| поиск по истории | масштабируется | сложнее, может не найти |
Долговременная память: после диалога модель извлекает факты («предпочитает доставку в пункт выдачи»), они сохраняются с источником и датой; при новом диалоге ищутся релевантные. Конфликты фактов — более новый побеждает или уточнение у пользователя.
Проверка: набор длинных диалогов, где ответ зависит от раннего сообщения, — сравнить стратегии по качеству и токенам.
Что хотят услышать
- Память — забота приложения, а не модели.
- Стратегии короткой памяти и их компромиссы.
- Долговременная память фактами, качество и приватность.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Долговременную память реализуют дообучением модели на диалогах пользователя после каждой сессии, а историю держат в контексте целиком
- ✓Короткая память — история с резюме старых сообщений, долговременная — извлечённые факты в хранилище с поиском
- ✗Хранить всю историю всех диалогов в контексте — это бесплатно
- ✗Долговременную память реализуют дообучением модели после каждого диалога
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.