Mem0 — слой долговременной памяти для AI-агентов

· 3 мин чтения
memory ai-agents context-management rag llm
📂 Исходный код на GitHub

Открытый слой памяти для AI-агентов и приложений: извлекает и сохраняет факты из разговоров, разделяет состояние пользователя, сессии и агента, поддерживает семантический, ключевой и entity-based поиск, а также temporal reasoning. Доступны Python и TypeScript SDK, self-hosted сервер и облачная платформа.

Mem0 — слой долговременной памяти для AI-агентов

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