Память и суммаризация
Бот запоминает факты о пользователе и автоматически сжимает длинные диалоги. Как это работает и чем одно отличается от другого.
У бота есть два механизма работы с долгой историей общения: память (явно сохраняемые факты о пользователе) и суммаризация (автоматическое сжатие длинного диалога). Они дополняют друг друга.
Ниже — пример, как память наполняется шаг за шагом по ходу диалога с ботом «Песий агент». После каждого сообщения пользователя бот в фоне обновляет память, и следующая реплика уже учитывает новые факты.
Имя собаки: Бобик
Сколько раз поел: —
Что ел: —
Сколько раз пописал: —
Что было необычного: —
Имя собаки: Бобик
Сколько раз поел: 1
Что ел: сухой корм
Сколько раз пописал: —
Что было необычного: —
Имя собаки: Бобик
Сколько раз поел: 1
Что ел: сухой корм
Сколько раз пописал: 2
Что было необычного: —
Имя собаки: Бобик
Сколько раз поел: 2
Что ел: сухой корм, куриная грудка
Сколько раз пописал: 2
Что было необычного: —
Имя собаки: Бобик
Сколько раз поел: 2
Что ел: сухой корм, куриная грудка
Сколько раз пописал: 2
Что было необычного: чихал в обед (2 раза)
Благодаря этой памяти в следующем разговоре бот уже помнит кличку собаки и подробности:
Память бота
Бот запоминает важную информацию о каждом пользователе между сессиями:
- Имя и предпочтения.
- Историю обращений.
- Прогресс в работе.
Память у каждого пользователя своя, даже если они общаются с одним и тем же ботом.
Промпт памяти
Можно задать промпт памяти — инструкцию, что именно запоминать и в каком формате.
Бот будет запоминать важную информацию из разговоров.
Доступно только с подпиской Minddy PlusПодсказка для модели, что именно сохранять в память и в каком формате.
Пример: бот «Песий агент»
Бот помогает владельцам собак вести дневник питомца.
Системный промпт:
Ты песий агент — ассистент, который помогает владельцам собак
вести дневник питомца. Задавай уточняющие вопросы про еду,
прогулки и самочувствие собаки.
Промпт памяти:
Запоминай информацию о собаке в формате:
------
Имя собаки: <имя>
Сколько раз поела: <число>
Что поела: <что именно>
Сколько раз пописала: <число>
Что было необычного: <что именно>
Промпт памяти задаёт структурированный формат — бот запоминает не всё подряд, а конкретные факты в чётком виде. При следующем обращении бот уже знает кличку собаки и может спросить: «Как сегодня Бобик? Вчера вы говорили, что он плохо ел — стало лучше?»
Запоминать «всё остальное»
Если помимо структурированных данных хочется, чтобы бот запоминал и другие детали, добавьте в конец промпта памяти строку:
Также запоминай другую важную информацию.
Как посмотреть, что бот запомнил
Напишите боту в чат:
«Покажи что у тебя в памяти. Покажи только память и больше ничего»
И он выведет всё, что сохранил о вас. Удобно для проверки, что память работает корректно и запоминается нужное.
Как память работает под капотом
- Хранение. У каждого чата (личного или группового) есть своё поле памяти — до 4 000 символов. Память у каждого пользователя своя, даже если они общаются с одним и тем же ботом.
- Обновление. После каждого ответа бота в фоне запускается отдельный AI-запрос (модель gpt-4o-mini), который анализирует новые сообщения пользователя и обновляет память. Обновление не блокирует ответ — пользователь не ждёт.
- Что видит модель при обновлении — текущую память + все новые сообщения пользователя с момента последней суммаризации. Если вы задали промпт памяти — он тоже передаётся и влияет на то, что модель решит запомнить.
- Подстановка в промпт. Память добавляется в системный промпт бота в секции «ПАМЯТЬ ЧАТА» — модель видит её при каждом ответе и может опираться на сохранённые факты.
- Формат подстановки:
[ваш системный промпт] + ПАМЯТЬ ЧАТА: [содержимое памяти].
Требуется Minddy Plus.
Автоматическая суммаризация диалогов
AI-модели имеют ограниченное окно контекста — они не могут «помнить» бесконечно длинную переписку. Когда диалог становится слишком длинным, бот автоматически суммаризирует старые сообщения: сжимает их в краткое резюме, сохраняя ключевые факты и темы. Новые сообщения остаются в полном виде.
Это происходит прозрачно для пользователя — он не замечает, что старые сообщения были сжаты. Бот продолжает отвечать в контексте всей беседы.
Как суммаризация работает под капотом
- Когда срабатывает — когда в диалоге накопилось 50+ сообщений или ~20 000 токенов (примерная оценка по длине текста). Сработает любое из условий.
- Что суммаризируется — все сообщения кроме последнего: оно остаётся в полном виде, чтобы модель могла на него ответить.
- Что получается — структурированное резюме с ключевыми фактами, текущей темой и контекстом. Предыдущие резюме не теряются: новое создаётся на основе старого + новых сообщений (инкрементальное сжатие).
- Подстановка в промпт — резюме подставляется как первое сообщение в контексте диалога перед остальной историей. Модель видит:
[резюме старых сообщений] → [свежие сообщения] → [последнее сообщение пользователя]. - Модель — gpt-4o-mini (быстрая и дешёвая), основной ответ генерирует основная модель.
Суммаризация работает автоматически
На всех тарифах, без настройки.
Чем память отличается от суммаризации
| Память | Суммаризация | |
|---|---|---|
| Что хранит | Ключевые факты о пользователе (имя, предпочтения, прогресс) | Сжатую историю всего диалога |
| Где в промпте | В системном промпте (видна модели как «знание» о пользователе) | Как первое сообщение в истории диалога |
| Когда обновляется | После каждого ответа бота (в фоне) | Когда диалог становится слишком длинным |
| Управление | Можно настроить промпт памяти | Автоматически, без настройки |
| Тариф | Minddy Plus | Все тарифы |