Проще говоря, session memory - это память текущего разговора или текущей рабочей сессии. Пока пользователь заполняет заявку, настраивает агента, общается с поддержкой или проходит многошаговый сценарий, агент держит временный контекст и не заставляет повторять одно и то же.
Session memory отличается от long-term memory. Долгосрочная память может сохраняться между визитами и использоваться через недели или месяцы. Session memory обычно нужна только здесь и сейчас: пока открыт чат, активна задача, идет оформление заказа или продолжается диалог.
В AI-агентах session memory часто хранит выбранный режим, последние уточнения, временные параметры, промежуточные результаты, список уже заданных вопросов, текущий step workflow и ссылки на вызовы инструментов. Это особенно полезно для чат-виджетов, поддержки, onboarding, CRM-сценариев и multi-step forms.
Важно не путать session memory с полным context window. Модель не обязана видеть всю историю сессии целиком. Хорошая session memory хранит компактную выжимку: что важно для продолжения задачи, какие решения уже приняты и какие данные еще нужны.
Session memory может храниться в браузерной сессии, Redis, базе данных, cookie, server-side session или объекте workflow. Для production лучше выбирать серверное хранилище, если в памяти есть бизнес-данные, статусы заказов, персональные данные или результаты вызовов инструментов.
Главные риски - утечка данных между сессиями, устаревшая память, слишком длинный контекст и сохранение чувствительных данных без необходимости. Поэтому session memory должна быть привязана к session_id или user_id, иметь TTL и очищаться после завершения сценария.
Практичный подход: хранить session memory как структурированный объект. Например: current_goal, current_step, user_choices, collected_fields, pending_questions, tool_results, temporary_constraints. Тогда агенту проще продолжить работу и безопаснее обновлять состояние.
Примеры
- Чат-виджет поддержки помнит в рамках сессии номер заказа, проблему клиента и уже проверенные статусы.
- AI-агент для onboarding запоминает, какие шаги пользователь уже прошел и какие поля еще нужно заполнить.
- В CRM-сценарии агент держит текущий deal_id и выбранное действие, пока пользователь подтверждает обновление.
- Агент по документам помнит загруженный файл и промежуточные выводы до завершения проверки.
- После закрытия чата session memory очищается, чтобы временные данные не попали в следующий диалог.
Где используется
- многошаговый диалог с AI-агентом
- чат-виджет поддержки
- onboarding и настройка продукта
- оформление заявки или заказа
- временное хранение выбора пользователя
- контроль текущего шага workflow
- сжатие истории сессии
- сохранение промежуточных результатов инструментов
- очистка временного контекста после завершения задачи
Связанные термины
Частые вопросы
Что такое session memory простыми словами?
Это временная память AI-агента внутри одной сессии: что пользователь уже сказал, что выбрал и на каком шаге находится задача.
Чем session memory отличается от long-term memory?
Session memory нужна для текущего диалога и обычно очищается после завершения сессии. Long-term memory может сохраняться между сессиями надолго.
Чем session memory отличается от conversation context?
Conversation context - это данные, переданные модели в конкретный запрос. Session memory может храниться отдельно и подставляться в контекст только частично.
Где хранить session memory?
Для прототипа подойдет память процесса или session storage. Для production лучше Redis, PostgreSQL или server-side session с TTL и привязкой к пользователю.
Какие риски есть у session memory?
Смешивание данных разных пользователей, хранение лишних персональных данных, устаревший контекст, слишком длинная история и отсутствие очистки после завершения задачи.