Мы выпустили @redis/vercel-ai-sdk, пакет с открытым исходным кодом, который добавляет Redis Agent Memory в агентов, созданных с помощью Vercel AI SDK.
Большинство агентов начинают каждый разговор с чистого листа. Пользователи вынуждены повторять свои предпочтения, а контекст вчерашнего дня утрачивается. Вы можете прикрутить векторное хранилище и груду вспомогательного кода либо доверить эту проблему управляемому уровню памяти. С этим пакетом всего несколько строк кода на TypeScript обеспечат вашему агенту кратковременную память для сеансов и долговременную личную память.
Что делает Redis Agent Memory
Redis Agent Memory, являющийся частью Redis Iris, представляет собой управляемый уровень памяти для агентов. Он объединяет две вещи: кратковременную память для текущего сеанса и долговременную память, которая сопровождает пользователя в разных сеансах, каналах и агентах.
Вам не нужно ничего курировать вручную. Redis Agent Memory работает в фоновом режиме: он суммирует длинные сеансы, чтобы контекст оставался компактным, извлекает долговечные воспоминания из записываемых вами событий и переносит их в хранилище долговременной памяти. Позже любой разговор может восстановить их с помощью семантического поиска, благодаря чему агент может запомнить, что пользователь предпочитает места у прохода, без необходимости повторять это снова. Вы подготавливаете хранилище в Redis Cloud и взаимодействуете с ним по протоколу HTTP. Данный пакет представляет собой слой AI SDK поверх него.
Интеграция: два пути
Оба подхода происходят из одной серверной фабрики createRedisAgentMemory(...), которая хранит ваше соединение и необязательную модель по умолчанию. Оттуда вы выбираете, насколько большой контроль получает модель.
Вариант 1: Память без изменения вашего агента
Самый простой путь — автоматическая память. Вы настраиваете соединение один раз, а затем оборачиваете свою модель для каждого запроса:
Перед каждым вызовом модели обертка восстанавливает сеанс, извлекает долговременные воспоминания пользователя и внедряет их в виде блока ограниченного контекста. После этого она записывает сообщение пользователя и каждый успешный шаг ассистента.
Вариант 2: Предоставьте модели возможность управлять собственной памятью
Если вам нужен явный контроль, метод memory.tools() возвращает обычный набор инструментов (tool map) AI SDK, который вы передаете вместе с вашей моделью. Модель сама решает, когда искать, сохранять, обновлять или забывать воспоминания, а вы можете предоставить только те инструменты, которые вам нужны. Запись сеансов может управляться агентом или обрабатываться с помощью необязательных хуков жизненного цикла.
Эвристическое правило: выбирайте вариант с автоматической памятью для обеспечения непрерывности без дополнительных подсказок и инструменты, когда вам нужно управление памятью, направляемое моделью. Они могут сосуществовать, но не включайте автоматическую запись и инструменты записи сеансов для одного и того же взаимодействия, иначе события могут дублироваться.
Создано с расчетом на продакшн
Память находится на критическом пути каждого запроса, поэтому мы сделали ее ограниченной и предсказуемой:
- С ограничением по пользователю и сеансу. Воспоминания всегда привязаны к userId, а для восстановления и записи сеанса требуется sessionId. Получайте оба значения из аутентифицированного состояния.
- Ограниченный контекст. По умолчанию обертка извлекает до 5 воспоминаний, ограничивает долговременный контекст 8 000 символов, а восстановленный контекст сеанса — 24 000 символов, а также использует односекундные тайм-ауты на чтение и запись.
- Сбои не нарушают ответы. Ошибки памяти передаются через необязательный обратный вызов onDiagnostic и никогда не заменяют успешный ответ модели. Диагностика никогда не включает текст промптов, памяти или учетных данных.
- Извлеченный контекст помечается как ненадежный и потенциально устаревший, поэтому модель относится к нему как к подсказке, а не к абсолютной истине.
- Запись по принципу «лучших усилий». В Redis Agent Memory нет ключа идемпотентности добавления, поэтому операция записи, у которой истек тайм-аут, все же могла завершиться успешно. Используйте устойчивые к коллизиям идентификаторы сеансов и сериализуйте запросы для каждого сеанса.
Начало работы
Пакет предназначен только для серверной стороны и ESM, а также требует Node.js 22+, AI SDK 7.x и Zod 4.x.
Разверните хранилище в Redis Cloud, затем установите AGENT_MEMORY_URL, AGENT_MEMORY_API_KEY и AGENT_MEMORY_STORE_ID в окружении вашего сервера.
Пошаговое руководство по использованию библиотеки см. в руководстве Создание агента планирования питания с использованием Redis Memory.
Репозиторий на GitHub содержит две готовые к запуску демо-версии: одну для модели с автоматической памятью, а другую для инструментов. Он распространяется под лицензией MIT, и мы будем рады вашим отзывам и вкладу. Расскажите нам, что вы создали.












