Mem0: как дать Claude, Codex и AI-агентам постоянную память между сессиями
Большинство AI-агентов хорошо работает внутри одной сессии, но после перезапуска теряет контекст. Mem0 добавляет отдельный memory layer: агент может сохранять полезные факты, предпочтения, решения и результаты работы, а в следующей сессии извлекать только те воспоминания, которые действительно относятся к текущему запросу.
Mem0 — отдельная память между LLM и вашим приложением
Mem0 не заменяет Claude, GPT, Ollama или другую модель. Он хранит и извлекает память, которую затем можно добавить в prompt основной LLM.
Факты не исчезают после закрытия IDE или завершения agent run.
Поиск возвращает только релевантные memories вместо полного transcript.
Память можно разделять по user, agent, app и run.
LLM, embeddings и vector store можно выбрать самостоятельно.
Зачем вообще нужен memory layer, если можно хранить всю историю чата
Даже при большом context window постоянно отправлять сотни тысяч старых токенов — дорого, медленно и часто ухудшает signal-to-noise.
Mem0 отделяет извлечение памяти от её поиска
При memory.add(...) по умолчанию включён infer=True:
Mem0 пытается выделить из диалога полезные факты, а не просто сохранить весь текст.
При необходимости raw messages можно хранить без inference.
Предпочтения и факты, которые должны следовать за человеком.
Можно разделить разные специализации и роли.
Удобно для изоляции нескольких продуктов.
Краткоживущий scope внутри конкретной задачи.
Быстрый старт Mem0 OSS
pip install mem0ai==2.1.0
По умолчанию OSS library использует OpenAI для LLM и embeddings, local Qdrant для vector storage и SQLite для истории изменений. Для полностью локального варианта ниже заменим LLM и embedder на Ollama.
Самый простой API
from mem0 import Memory
memory = Memory()
memory.add(
"Пользователь предпочитает тёмную тему",
user_id="ivan"
)
results = memory.search(
"Какая тема интерфейса нравится пользователю?",
user_id="ivan"
)
print(results)
Default OSS configuration использует OpenAI LLM и embeddings. Если данные не должны покидать сеть, задайте local providers явно.
Mem0 + Ollama + Qdrant без облачного LLM
Официальные cookbook Mem0 показывают полностью локальную связку: Ollama используется и для memory extraction, и для embeddings, а Qdrant хранит векторы.
1. Запустить Qdrant и скачать модели
docker run -d \
--name qdrant \
-p 6333:6333 \
-v qdrant_storage:/qdrant/storage \
qdrant/qdrant
ollama pull llama3.1:latest
ollama pull nomic-embed-text:latest
2. Настроить Mem0
from mem0 import Memory
OLLAMA_URL = "http://localhost:11434"
memory = Memory.from_config({
"vector_store": {
"provider": "qdrant",
"config": {
"collection_name": "agent_memory",
"host": "localhost",
"port": 6333,
"embedding_model_dims": 768,
},
},
"llm": {
"provider": "ollama",
"config": {
"model": "llama3.1:latest",
"temperature": 0,
"ollama_base_url": OLLAMA_URL,
},
},
"embedder": {
"provider": "ollama",
"config": {
"model": "nomic-embed-text:latest",
"ollama_base_url": OLLAMA_URL,
},
},
})
В официальном примере для nomic-embed-text используется 768.
При смене embedding model проверьте её output dimension.
Add, Search, Get, Update и Delete — память должна быть управляемой
addСохранитьДобавить новые факты или conversation messages.
searchНайтиSemantic search по релевантным memories.
get_allПосмотретьПолучить память конкретного scope.
updateИсправитьОбновить устаревший или неверный факт.
deleteУдалитьУдалить конкретную memory.
historyАудитОтслеживать изменения сохранённой памяти.
Пример: память проекта
memory.add(
[
{
"role": "user",
"content": "В этом проекте используем PostgreSQL, не SQLite."
},
{
"role": "assistant",
"content": "Принято."
}
],
user_id="ivan",
metadata={"project": "my-app"}
)
results = memory.search(
"Какую базу данных использовать?",
user_id="ivan"
)
Если сохранять всё подряд, retrieval постепенно будет подмешивать шум и устаревшие решения. Нужны scopes, metadata и политика удаления.
Mem0 может автоматически переносить контекст между задачами Codex
В актуальной документации есть официальный Mem0 plugin для Codex. Он подключает cloud memory layer, автоматически сохраняет learnings на lifecycle events и извлекает релевантную память на первом prompt следующей сессии.
codex plugin marketplace add mem0ai/mem0
codex plugin add mem0@mem0-plugins
Codex получает релевантный прошлый контекст до начала новой задачи.
Lifecycle hooks фиксируют результаты и решения.
Агент может сам запросить более старый контекст позднее в сессии.
Plugin умеет передавать retrieved memory нативным subagents и записывать их результат.
Для полностью self-hosted Mem0 такой же one-click lifecycle integration пока не является столь же прямой: в issue tracker есть отдельный открытый запрос на self-hosted hooks/MCP flow.
Через MCP агент получает память как обычные tools
Hosted Mem0 MCP предоставляет tools для добавления, поиска, получения, изменения и удаления memories. Для Codex его можно подключить напрямую:
codex mcp add mem0 \
--url https://mcp.mem0.ai/mcp/ \
--bearer-token-env-var MEM0_API_KEY
Есть также официальный open-source mem0-mcp-server,
который оборачивает Mem0 Memory API и может запускаться через Python/Docker.
add_memoryЗаписать фактsearch_memoriesНайти релевантноеget_memoriesПросмотреть списокupdate_memoryИсправить памятьdelete_memoryУдалить фактlist_entitiesПосмотреть scopesMCP даёт tools. Полный plugin дополнительно содержит lifecycle hooks и skills, которые автоматически решают, когда память читать и когда записывать.
Mem0 OSS library, self-hosted server и Mem0 Platform отличаются
from mem0 import Memory
Встраивается прямо в ваш Python/TS код. Вы сами выбираете LLM, embeddings и vector store.
Отдельный сервис на вашей инфраструктуре, с UI/auth/API и собственным persistent backend.
Готовый hosted memory API, integrations, graph memory и production operations.
Актуальная configuration documentation прямо указывает: Graph Memory — встроенная функция Mem0 Platform, а не OSS Python/TypeScript memory stack.
Это важно при чтении обзоров: скриншоты и возможности Platform нельзя автоматически
считать доступными в локальном pip install mem0ai.
Mem0 публикует сильные memory results, но они относятся к конкретному Platform pipeline
Организация Mem0 открыла отдельный repository memory-benchmarks
с evaluation suite для memory-augmented LLM systems.
В текущих опубликованных результатах Mem0 Platform v3 показывает:
Benchmark относится к managed Platform и конкретному v3 memory pipeline. OSS с другой LLM, embedder и retrieval configuration может показать совсем другой результат.
Плюс benchmark оценивает способность системы вернуть нужную память, а не «общую интеллектуальность» агента и не качество вашего business workflow.
Memory store часто содержит более личные данные, чем обычный prompt
Не допускайте retrieval памяти одного пользователя в prompt другого.
Пароли, API keys и recovery codes не должны становиться обычными memories.
Пользователь должен понимать, что система сохранила, и иметь возможность это удалить.
Qdrant/Postgres с memory corpus — такой же чувствительный backend, как основная база приложения.
Local vector DB не делает систему локальной, если extraction LLM и embeddings уходят в cloud.
Агент может сохранить неверный вывод как устойчивый факт.
Например, «используем PostgreSQL» — нормальная project memory. «Продакшен сломан из-за Nginx» — это гипотеза, пока причина не подтверждена.
Память может не только помогать, но и закреплять ошибки
Решение проекта поменялось, но старая memory продолжает всплывать.
LLM может неверно интерпретировать разговор и записать ложный факт.
Нужная память есть, но embedding search её не вернул.
В prompt попадает релевантная по словам, но бесполезная memory.
Долгосрочное хранение персонального контекста требует более строгих правил.
Vector DB, embeddings, retention и audit становятся частью системы.
Для одноразового research-запроса отдельный memory layer может быть лишним. Для постоянного coding-agent, помощника или CRM-agent — уже гораздо интереснее.
Где Mem0 полезнее обычной истории чата
Архитектурные договорённости, conventions и результаты предыдущих задач.
Не задавать одни и те же вопросы при каждом новом обращении.
Цели, предпочтения и прошлые разговоры.
Интересы клиента и прошлые договорённости без полного transcript.
Не повторять заведомо неудачные шаги в следующем run.
Разные agents могут читать память по согласованным scopes.
Mem0: SDK, OSS configuration, Codex integration и benchmark
Python SDK mem0ai 2.1.0 опубликован 18 сентября 2026 года.
Основной repository лицензируется по Apache-2.0.
Mem0 интересен там, где AI должен помнить не «весь чат», а устойчивые факты и решения
Для постоянного coding-agent это особенно логично: сохранять выбранные технологии, conventions, результаты диагностики и архитектурные решения, а в новой сессии подмешивать только релевантные memories.
Но memory layer требует дисциплины: факты стареют, extraction может ошибаться, а автоматическая память без scopes и удаления быстро превращается в источник скрытого мусора. Поэтому Mem0 стоит внедрять вместе с политикой хранения, review и forget/update.
Частые вопросы о Mem0
Что такое Mem0 простыми словами?
Слой долгосрочной памяти для AI-приложений и агентов. Он сохраняет полезные факты и позже возвращает релевантную память по запросу.
Mem0 заменяет vector database?
Нет. Он использует vector store как один из компонентов. Можно выбрать Qdrant, pgvector, Chroma, Redis и другие backends.
Можно ли использовать Mem0 полностью локально?
Да. Официальные cookbooks поддерживают Ollama для LLM и embeddings плюс локальный Qdrant.
Mem0 работает с Codex?
Да. Есть официальный plugin с lifecycle hooks и direct MCP-вариант. Полный plugin сейчас ориентирован на Mem0 Platform.
Можно ли подключить Mem0 к Claude Code?
Да, через MCP/skills и интеграционные механизмы проекта. Для полностью self-hosted автоматического lifecycle flow потребуется больше настройки, чем для cloud Platform.
Чем Mem0 отличается от обычной истории чата?
Он выделяет и ищет конкретные memories, а не заставляет модель каждый раз читать весь прошлый transcript.
Есть ли Graph Memory в open-source Mem0?
На момент проверки актуальная OSS configuration documentation относит Graph Memory к Mem0 Platform, а не к OSS Python/TypeScript stack.
Какая версия актуальна?
На 21 сентября 2026 года актуальный Python SDK — mem0ai 2.1.0.
Нужно дать локальному или coding-agent постоянную память между сессиями?
Можно подобрать схему Mem0 OSS, Ollama, Qdrant, MCP или hosted Platform и определить, какие факты агент имеет право сохранять автоматически.
