Mem0 — слой долговременной памяти для AI-агентов
📂 Исходный код на GitHubОткрытый слой памяти для AI-агентов и приложений: извлекает и сохраняет факты из разговоров, разделяет состояние пользователя, сессии и агента, поддерживает семантический, ключевой и entity-based поиск, а также temporal reasoning. Доступны Python и TypeScript SDK, self-hosted сервер и облачная платформа.
AI-ассистент без памяти каждый новый разговор начинает почти с нуля. Пользователь снова объясняет предпочтения, проект и правила работы, а агент не может связать текущую задачу с тем, что уже обсуждалось. Mem0 добавляет между LLM и приложением отдельный слой долговременной памяти: он извлекает факты из диалогов, сохраняет их и подмешивает релевантные сведения в будущие запросы.
Проект рассчитан не только на чат-ботов. README описывает применение в AI-ассистентах, поддержке клиентов, healthcare, productivity и игровых средах, где контекст должен сохраняться между сессиями. Репозиторий также содержит CLI, Python и TypeScript SDK, self-hosted сервер, облачную платформу и готовые skills для coding-агентов.
Что изменилось в алгоритме памяти
В апреле 2026 года Mem0 представила новый алгоритм. Главное изменение — один проход извлечения, в котором используется только операция добавления. Память накапливается, а не перезаписывается отдельными циклами обновления и удаления. Такой подход сокращает число обращений к LLM и позволяет сосредоточиться на качестве извлечения и поиска.
Ключевые идеи новой версии:
- Single-pass ADD-only extraction — один вызов LLM для добавления новых сведений.
- Agent-generated facts are first-class — факты, подтверждённые самим агентом, получают такой же вес, как сведения о пользователе.
- Entity linking — сущности извлекаются, встраиваются в векторное пространство и связываются между записями для улучшения поиска.
- Multi-signal retrieval — семантический поиск, BM25 по ключевым словам и сопоставление сущностей вычисляются параллельно, после чего результаты объединяются.
- Temporal reasoning — поиск учитывает время, чтобы отличать текущее состояние от прошлых событий и будущих планов.
Результаты бенчмарков
| Бенчмарк | Старый алгоритм | Новый алгоритм | Токены | p50 задержка |
|---|---|---|---|---|
| LoCoMo | 71,4 | 92,5 | 7,0K | 0,88 с |
| LongMemEval | 67,8 | 94,4 | 6,8K | 1,09 с |
| BEAM, 1M токенов | — | 64,1 | 6,7K | 1,00 с |
| BEAM, 10M токенов | — | 48,6 | 6,9K | 1,05 с |
Все тесты используют один production-representative стек моделей, single-pass retrieval с top_200 и без agentic loops. Важная оговорка из README: эти результаты относятся к управляемой платформе Mem0, где есть проприетарные оптимизации. Для open-source SDK можно ожидать направленно похожие улучшения, но не идентичные числа. Подробности миграции опубликованы в guide, а открытый evaluation framework находится в репозитории mem0ai/memory-benchmarks.
Многоуровневая память
Mem0 разделяет состояние на несколько уровней:
- User memory — устойчивые сведения о пользователе: предпочтения, рабочие привычки, постоянные цели.
- Session memory — контекст текущей сессии, который помогает связывать сообщения внутри диалога.
- Agent memory — факты о том, что агент уже сделал, какие решения принял и какой результат получил.
Такое разделение удобно для приложений с несколькими пользователями и агентами. Идентификатор пользователя можно передавать в операции поиска и добавления, не смешивая контекст разных людей. В API это реализовано через фильтры и параметры user_id, а не через ручное хранение истории в приложении.
Mem0 позиционируется как developer-friendly слой: разработчику не нужно самостоятельно связывать LLM, векторную базу, извлечение сущностей, обновление профилей и поиск по памяти. В репозитории есть SDK для Python и Node.js, а также сервер для self-hosted развёртывания.
Быстрый старт через CLI
Самый короткий путь для агента — установить CLI, зарегистрироваться и выполнить несколько команд. CLI позволяет добавлять записи, искать их и работать с памятью непосредственно из терминала.
npm install -g @mem0/cli
mem0 init --agent --agent-caller claude-code
mem0 add "I am using mem0"
mem0 search "am I using mem0"
Для Python-варианта пакет устанавливается через pip install mem0-cli. Владелец аккаунта агента может позже добавить email тем же ключом, поэтому зарегистрированный ключ и сохранённые записи не приходится пересоздавать.
После инициализации доступны команды для работы с конкретным пользователем:
npm install -g @mem0/cli
mem0 init
mem0 add "Prefers dark mode and vim keybindings" --user-id alice
mem0 search "What does Alice prefer?" --user-id alice
Это удобный способ проверить базовый сценарий до подключения SDK к приложению.
Python SDK: поиск и запись памяти
Для прототипа или self-hosted окружения Mem0 публикуется в PyPI:
pip install mem0ai
Если нужны улучшенный hybrid search с BM25 и извлечение сущностей, README рекомендует NLP-вариант установки и модель spaCy:
pip install mem0ai[nlp]
python -m spacy download en_core_web_sm
Базовый сценарий состоит из трёх действий: создать объект Memory, найти релевантные записи для текущего сообщения, а после ответа модели добавить новые сообщения в память.
from openai import OpenAI
from mem0 import Memory
openai_client = OpenAI()
memory = Memory()
def chat_with_memories(message: str, user_id: str = "default_user") -> str:
relevant_memories = memory.search(
query=message,
filters={"user_id": user_id},
top_k=3,
)
memories_str = "\n".join(
f"- {entry['memory']}" for entry in relevant_memories["results"]
)
system_prompt = (
"You are a helpful AI. Answer the question based on query and memories.\n"
f"User Memories:\n{memories_str}"
)
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": message},
]
response = openai_client.chat.completions.create(
model="gpt-5-mini",
messages=messages,
)
assistant_response = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_response})
memory.add(messages, user_id=user_id)
return assistant_response
По умолчанию Mem0 использует gpt-5-mini от OpenAI как LLM и text-embedding-3-small как embedding-модель. Проект поддерживает другие LLM и embeddings; для hybrid search авторы рекомендуют модель уровня Qwen 600M или сопоставимую. Параметры filters и user_id позволяют ограничить поиск контекстом конкретного пользователя.
Для JavaScript и TypeScript установка выполняется через npm install mem0ai.
Три варианта развёртывания
README разделяет продукт на три режима:
| Режим | Для чего подходит | Запуск |
|---|---|---|
| Library | Тестирование и прототипирование | pip install mem0ai или npm install mem0ai |
| Self-Hosted Server | Команды на собственной инфраструктуре | docker compose up |
| Cloud Platform | Продакшен без самостоятельного обслуживания | Регистрация в Mem0 Platform |
Self-hosted server
Для сервера рекомендуется bootstrap-команда:
cd server && make bootstrap
Она поднимает стек и создаёт администратора с первым API-ключом. Альтернативный сценарий запускает Docker Compose, после чего настройка завершается через браузерный мастер:
cd server && docker compose up -d
В self-hosted сборке авторизация включена по умолчанию. Для локальной разработки её можно отключить через AUTH_DISABLED=true, однако README отдельно предупреждает, что такой режим не предназначен для production. Документация по установке: https://docs.mem0.ai/open-source/overview.
Cloud Platform
В облачном варианте разработчик регистрируется в Mem0 Platform, подключает memory layer через SDK и при необходимости переносит данные из OSS с помощью migration guide. Платформа добавляет готовые продвинутые возможности и снимает с команды эксплуатацию self-hosted инфраструктуры.
Skills и интеграции
Репозиторий Mem0 содержит skills, которые устанавливаются через стандарт tools-совместимых coding-агентов:
npx skills add https://github.com/mem0ai/mem0 --skill mem0
npx skills add https://github.com/mem0ai/mem0 --skill mem0-cli
npx skills add https://github.com/mem0ai/mem0 --skill mem0-vercel-ai-sdk
Отдельные pipeline skills помогают встроить память в существующий проект, проверить интеграцию и перенести OSS-приложение на платформу:
npx skills add https://github.com/mem0ai/mem0 --skill mem0-integrate
npx skills add https://github.com/mem0ai/mem0 --skill mem0-test-integration
npx skills add https://github.com/mem0ai/mem0 --skill mem0-oss-to-platform
Первый набор даёт справочные знания о SDK, а pipeline-наборы выполняют более длинные сценарии. Каталог skills доступен по абсолютной ссылке: https://github.com/mem0ai/mem0/tree/main/skills.
Mem0 также показывает интеграции с LangGraph и CrewAI, а в документации и демо описаны сценарии для ChatGPT, browser extension и других AI-инструментов. Полный API Reference находится на https://docs.mem0.ai/api-reference.
Лицензия
Mem0 распространяется по лицензии Apache 2.0. Это open-source проект с Python- и Node.js-пакетами, self-hosted сервером, CLI и интеграциями. Для продакшена важно учитывать, что в README отдельно отмечена разница между результатами managed platform и open-source SDK: инфраструктурные оптимизации платформы не следует автоматически переносить на локальную установку.
Источник: https://github.com/mem0ai/mem0