← Курс по Mastra · Урок 4

Урок 4 · ~8 минут

Память: четыре способа помнить пользователя

Одна идея этого урока: «память» – это не одна вещь, а четыре разных механизма. Для каждого продукта нужен свой набор.

Почему это вообще проблема

Нейросеть сама по себе не помнит ничего между запросами. Всё, что она «знает» о клиенте, надо каждый раз передавать в запрос – а место в контексте ограничено и стоит денег. Память в Mastra – это умные способы решать, что именно и в каком виде подкладывать модели.

Четыре механизма

1. История сообщений (lastMessages)

Последние N реплик диалога. Самое простое: «о чём мы говорили только что». Как оперативная память разговора.

2. Рабочая память (working memory)

Структурированная анкета о пользователе, которую агент сам заполняет и обновляет: имя, цели, предпочтения, тариф. Вы задаёте шаблон анкеты – агент ведёт её. Переживает любые паузы: клиент вернулся через месяц, а бот помнит, что тот на курсе «Нейросети для бизнеса».

3. Семантический поиск (semantic recall)

Поиск по смыслу во всех прошлых разговорах. Клиент спросил про оплату – система нашла 3 похожих фрагмента из прошлых бесед и подложила их модели. Как «поиск по архиву переписки», только по смыслу, а не по словам.

4. Наблюдательная память (observational memory)

Фоновый агент-«секретарь» сжимает длинную историю в плотный конспект. Контекст остаётся маленьким, а суть многомесячного общения сохраняется.

Скрытая цена Наблюдательная память работает через фоновые вызовы нейросети – они тратят токены незаметно для вас. Включайте её только там, где действительно есть долгие отношения с пользователем, и следите за расходами через observability (урок 6).

Как выбрать набор

Всё хранится в обычной базе (например, LibSQL или PostgreSQL – который уже стоит на ваших серверах), а память включается настройками, без самописной логики.

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

1. Бот должен помнить тариф и цель студента даже через полгода. Какой механизм?

2. В чём риск наблюдательной памяти?

💬 Спросите Claude Code: «какой набор памяти нужен боту GildiyaChat?» – и обсудите его ответ.