Команда разработчиков приложения «Я Здоров» обновила архитектуру долгосрочной памяти (LTM) для своего медицинского AI-ассистента. Ранее все данные пользователя хранились в едином JSON-объекте, который целиком передавался в контекст LLM. Это приводило к перегрузке контекста, невозможности отследить историю изменений и путанице между отсутствием данных и их подтвержденным отсутствием.
Новая архитектура разделяет память на 11 предметных категорий, включая лекарства, симптомы, аллергии и семейный анамнез. Процессы чтения и записи теперь разнесены: чтение происходит по запросу для конкретной задачи, а запись — асинхронно, чтобы не увеличивать время ответа. Это позволяет передавать модели только релевантные факты.
Разработчики разделили текущее состояние факта и историю его изменений. При обновлении данных, например, при смене дозировки препарата, система фиксирует новое состояние, сохраняя при этом предыдущие события в истории. Это позволяет ассистенту различать активные и завершенные курсы лечения без удаления информации.
Система использует гибридный подход: LLM отвечает за семантический анализ и извлечение данных, а программный код — за валидацию и критические изменения состояний. Детерминированный код определяет, как именно обновлять память, что исключает ошибки модели при управлении структурой данных.
Данные, сообщенные пользователем, хранятся отдельно от загруженных медицинских документов. При расхождениях между этими источниками модель получает оба факта с указанием их происхождения. Это позволяет ассистенту учитывать неопределенность в ответах и при необходимости предлагать пользователю уточнить информацию.



