Mem0

Универсальный слой памяти для агентов: SDK подключается к агенту (LangChain/CrewAI/AutoGen), сам извлекает факты из диалога и хранит их в векторной БД. Ключевое отличие от RAG: RAG хранит тексты, Mem0 хранит факты, извлечённые LLM, — с разрешением конфликтов и дедупликацией. В 2026 память стала самостоятельным архитектурным компонентом со своими бенчмарками.

Суть

«Затолкать всю историю в контекст и надеяться, что модель уследит» — мёртвая парадигма (Agent Memory). Mem0 на каждый диалог вызывает LLM с инструкцией «извлеки факты о пользователе в JSON» и кладёт в хранилище именно факты, а не сырой текст.

Mem0 vs RAG

  • RAG: нарежет диалог на чанки, заэмбедит вместе с «I'm», «Got it», «Also» и забудет; зальёшь документ дважды → дубль в индексе («у документа нет жизни»).
  • Mem0: хранит факты с «жизнью» —
    • дедуп: «user is vegetarian» ≈ «user doesn't eat meat» (similarity > 0.85) → merge в одну запись;
    • конфликт: январь «vegetarian» → май «started eating chicken» → LLM помечает старый факт outdated, новый актуальным (или хранит оба с timestamp, отдавая свежий при retrieve).
  • Это поиск по личной истории конкретного пользователя (метаданные user_id в фильтре — обязательный паттерн), а не по всей корпоративной базе.

Mem0 в мультиагентных системах

В single-agent Mem0 — это «помни пользователя между сессиями». В MAS (например, crew {Researcher, Writer, Critic} в CrewAI) Mem0 становится слоем координации: по умолчанию между задачами передаётся только output предыдущей (context=[task1]), а общий слой памяти меняет архитектуру команды. Подключается через memory=True + memory_config со scope по user_id. Запись в память в проде делают асинхронной (async_mode=True), чтобы не блокировать ответ.

  • Scopes: User / Agent / Session / Org.
  • Entity Memory (в CrewAI через ChromaDB): извлечённые сущности — люди, места, концепции.
  • MemSearch — узкоспециализированный аналог для кодинг-агентов (Claude Code, Codex): source of truth — markdown-файлы под Git, Milvus как теневой индекс.

Бенчмарки (LoCoMo, LongMemEval, BEAM)

В 2026 это стандарт сравнения архитектур памяти. Алгоритм Mem0: LoCoMo 92.5, LongMemEval 94.4, при ~6 900 токенах/запрос; прирост +29.6 на temporal reasoning, +23.1 на multi-hop. Против full-context: −90% токенов, −91% latency. Открытые проблемы: cross-session identity, temporal abstraction at scale, memory staleness.

⚠️ Цифры бенчмарков и «лучшие алгоритмы памяти» быстро меняются — сверяй перед использованием.

Связано с

  • Agent Memory — общая модель памяти агента (4 вида, pointers, bi-temporal); Mem0 — конкретная реализация long-term
  • Multi Agent Systems — Mem0 как слой координации команды
  • CrewAI — memory_config с провайдером mem0
  • RAG — чем Mem0 принципиально отличается (факты vs тексты)

Открытые вопросы

  • когда хватает entity memory CrewAI, а когда нужен внешний Mem0
  • как тестировать качество извлечения фактов на своём домене