Проблема: AI-агенты забывают всё между сессиями
У большинства AI-агентов есть фундаментальная проблема: они ничего не помнят между разговорами. Пользователь объяснял свои предпочтения 10 раз — агент снова спрашивает. Именно это решает Mem0.
Репозиторий mem0ai/mem0 набрал 52 000+ звёзд на GitHub. По бенчмаркам 2026 года Mem0 превосходит встроенную память OpenAI на 26% по точности воспроизведения релевантного контекста.
Три типа памяти в Mem0
- Семантическая: факты и предпочтения — "Алексей предпочитает ответы на Python, без лишних деталей"
- Эпизодическая: история событий — "3 июня Алексей просил помочь с задачей X"
- Процедурная: правила работы — "всегда проверять наличие тестов перед коммитом"
Технически: векторная база (Qdrant/Chroma) + граф (Neo4j) + key-value (Redis).
Установка и базовый пример
pip install mem0ai
from mem0 import Memory
m = Memory()
# Добавить воспоминание
m.add("Предпочитаю краткие ответы на Python", user_id="alexey")
m.add("Работаю в финтех, интересует автоматизация отчётности", user_id="alexey")
# Поиск релевантной памяти
memories = m.search("как автоматизировать отчёт", user_id="alexey")
# [{"memory": "Работает в финтех, автоматизация отчётности", "score": 0.95},
# {"memory": "Предпочитает Python, кратко", "score": 0.78}]
# Получить всю память пользователя
all_memories = m.get_all(user_id="alexey")
Интеграция с n8n
Mem0 предоставляет REST API. В n8n используйте HTTP Request ноду:
// Сохранить воспоминание:
// POST https://api.mem0.ai/v1/memories/
// Body: {"messages": [{"role": "user", "content": "..."}], "user_id": "alexey"}
// Поиск перед вызовом LLM:
// POST https://api.mem0.ai/v1/memories/search/
// Body: {"query": "текущий запрос", "user_id": "alexey"}
Схема воркфлоу n8n: Webhook → GET память пользователя → добавить в системный промпт → LLM нода → ответ → UPDATE память.
Кейс: персонализированный customer support
Без Mem0: клиент каждый раз объясняет свою ситуацию заново.
С Mem0:
- Клиент идентифицируется по email
- Агент загружает его память: прошлые обращения, предпочтения
- Отвечает с контекстом: "Вы обращались 15 мая, тогда помогло X, давайте проверим..."
- После разговора обновляет память
Self-hosted vs Mem0 Cloud
| Параметр | Mem0 Cloud | Self-hosted |
|---|---|---|
| Настройка | pip install + API key | Docker + Qdrant + Redis |
| Данные | На серверах Mem0 | На вашем сервере |
| Масштаб | До миллионов пользователей | Зависит от сервера |
| ФЗ-152 | Нет (серверы вне РФ) | Да |
Часто задаваемые вопросы
Зачем Mem0 если есть context window у LLM?
Context window ограничен и дорог — нельзя передавать всю историю пользователя за месяцы в каждый запрос. Mem0 хранит память семантически: при новом запросе извлекает только топ-5–10 релевантных воспоминаний из тысяч. Дешевле и точнее.
Как Mem0 хранит данные?
Три хранилища: векторная база (Qdrant, Chroma, Pinecone) для семантического поиска, граф (Neo4j) для связей между воспоминаниями, key-value (Redis) для быстрых фактов. В self-hosted можно настроить любые поддерживаемые бэкенды.
Как подключить Mem0 к n8n?
Через HTTP Request ноду: POST /v1/memories/ для сохранения, POST /v1/memories/search/ для поиска. Возвращает JSON с воспоминаниями и score. Добавляйте релевантную память в системный промпт перед вызовом LLM-ноды.