Вопрос с собеседования · AI и LLM

Как реализовать память диалога и долговременную память ассистента?

MiddleLLM в продакшене
Ещё спрашивают так:
  • Как ассистент помнит предыдущие разговоры?
  • Что делать, если история диалога не помещается в контекст?
Коротко

Модель не помнит прошлых запросов — память строит приложение. Короткая — история диалога в контексте: последние сообщения целиком, старые — резюме. Долговременная — извлечённые из диалогов факты о пользователе (предпочтения, данные) в хранилище с поиском, подмешиваемые в новый диалог. Рабочая память агента — заметки и план во внешнем хранилище, а не в растущем контексте.

  • Каждое сообщение истории оплачивается в каждом следующем запросе
  • Кэширование префикса удешевляет неизменную часть истории
  • Неверный факт в памяти портит все будущие ответы — нужны обновление и удаление

А ещё Пользователь должен видеть и удалять то, что ассистент о нём помнит

Подробно

Стратегии истории:

стратегияплюсминус
вся историяничего не теряетсядорого, упирается в контекст
скользящее окнодёшевозабывает начало разговора
резюме старого + окнобалансдетали теряются
поиск по историимасштабируетсясложнее, может не найти

Долговременная память: после диалога модель извлекает факты («предпочитает доставку в пункт выдачи»), они сохраняются с источником и датой; при новом диалоге ищутся релевантные. Конфликты фактов — более новый побеждает или уточнение у пользователя.

Проверка: набор длинных диалогов, где ответ зависит от раннего сообщения, — сравнить стратегии по качеству и токенам.

Что хотят услышать

  • Память — забота приложения, а не модели.
  • Стратегии короткой памяти и их компромиссы.
  • Долговременная память фактами, качество и приватность.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Долговременную память реализуют дообучением модели на диалогах пользователя после каждой сессии, а историю держат в контексте целиком
  • ✓Короткая память — история с резюме старых сообщений, долговременная — извлечённые факты в хранилище с поиском
  • ✗Хранить всю историю всех диалогов в контексте — это бесплатно
  • ✗Долговременную память реализуют дообучением модели после каждого диалога

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования