Главная / Сравнение / Mem0

AI Council и Mem0: что умеет каждый

Сравнение возможностей по коду и документации обоих проектов.

Коротко

AI Council — self-hosted платформа для команды разработчиков. Она сама разбирает репозитории в граф кода: стек, структуру, зависимости и циклы, вызовы, данные, архитектуру, DDD, паттерны, стиль, смеллы и качество по ISO 25010. Над графом лежит база знаний проекта — решения, заметки, диаграммы и журналы изменений; каждая запись привязана к месту в коде и к ветке и приходит агенту, когда он трогает нужный файл. Отдельно живут конвенции: правила трёх областей — к сущностям кода, к путям и ко всему проекту — с уровнями MUST/SHOULD, состояниями и проверкой перед правкой и по диффу. Вокруг этого собраны ревью с публикацией в MR, тикеты, задачи и компании с ролями и лицензией. Статический анализ кода модель не использует, но без модели остаётся только он: ревью, ревью знаний, AI-чат и рабочие пространства идут через хостовый воркер, бридж и вендорский CLI/OAuth. Модель живёт на хосте, а не в стеке Council.

Работать с Council можно двумя способами. На машине разработчика Claude Code подключается к нему через MCP и хуки: правила проекта приходят к каждому сообщению, контекст файла — на Read/Edit/Bash, а в конце — чек-лист. В рабочем пространстве задача идёт на VM в изолированном sysbox-контейнере, живёт днями и ведётся человеком из веб-интерфейса: от анализа и диффа до коммита, push и MR.

Mem0 — слой памяти для AI-приложений и агентов. Он берёт сообщения, одним вызовом LLM извлекает из них факты, предпочтения и процедуры, складывает их в векторное хранилище со скоупом user_id/agent_id/run_id, а потом ищет гибридно: семантика + BM25 + буст по сущностям. Есть Python- и TypeScript-SDK, два CLI, self-hosted FastAPI-сервер с pgvector и Next.js-дашбордом, плагины для Claude Code, Cursor, Codex, Kimi, Antigravity, OpenCode, OpenClaw, Pi и DeepSeek, интеграции Vercel AI SDK, n8n, Zapier, Hermes и Strands. Записи можно скоупить, задавать им срок жизни, обновлять и удалять; процедурная память оформлена отдельным типом. Hosted Platform добавляет то, чего нет в OSS: нативный граф памяти, затухание, temporal reasoning, Dream-консолидацию, профили, вебхуки, экспорт, batch, app_id, организации и проекты. OSS эти возможности явно отвергает ошибкой. Apache-2.0.

Это слой памяти, а не понимания кода. Mem0 хранит то, что агент узнал о пользователе, проекте или ходе работы; Council хранит знания о коде, привязанные к позициям, и авторитетные правила команды. Пересечение — доставка памяти агенту через хуки и MCP и гибридный поиск.

1. Понимание кода

AI Council Mem0
Кто читает код Council сам: разбирает репозитории и строит граф. Модель при анализе не вызывается Никто: Mem0 не анализирует код. Он извлекает память из сообщений LLM-вызовом и сущности spaCy; графа кода, слоёв и метрик нет. Плагины кодинг-агентов дополнительно собирают эпизод сессии: прочитанные и изменённые файлы, команды, поиски, ветку и SHA — но это метаданные работы, а не структура кода
Когда При создании проекта, при push в main (опрос), по кнопке, ночью; после правки файла агентом пересчитываются файл и зависимые В момент add или flush из плагина; поиск — в момент search и инъекции в промпт. Фонового анализа кода нет; Dream на Platform — фоновая консолидация памяти, а не кода
Что извлекает Слои L0–L10: стек, структура, зависимости и циклы, метрики и вызовы, данные (ORM, DDL), архитектура и запрещённые зависимости, паттерны, стиль, DDD, связь файлов по правкам, смеллы, качество ISO 25010, диаграммы Память: текст факта, предпочтения или процедуры, attributed_to, хэш, lemmatized-текст, скоуп, срок жизни, метаданные; сущности PROPER/QUOTED/TOPIC/IDENTIFIER в sidecar-коллекцию. Эпизод кодинг-сессии: задача, выводы, результаты сабагентов, инструменты, файлы, команды, provenance (repo, branch, SHA)
Чего нет — Графа кода, зависимостей, архитектуры, DDD, паттернов, стиля, смеллов, ISO 25010, диаграмм. «Граф памяти» Platform — это co-occurrence сущностей, а не типизированные связи и не граф кода
Языки Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ — с полным разбором слоёв Не применимо: память язык-агностична. Плагины работают с любым репозиторием, который читает агент
Несколько репозиториев Проект из нескольких репозиториев с общим графом Плагины скоупят память по app_id/project_id, вычисленному из git-remote; общего графа между репозиториями нет
История Рёбра версионируются после каждого прогона; architecture_as_of — архитектура на дату История памяти — SQLite history (ADD/UPDATE/DELETE); истории кода и архитектуры нет
Поиск Поиск по смыслу и regex, find_usages, find_path, граф зависимостей, похожие реализации; ask_question — выдержки из базы без пересказа моделью Гибрид: семантические кандидаты с over-fetch max(4k, 60), BM25-буст с сигмоидой, буст по сущностям; threshold применяется к семантическому score до смешивания. BM25 и сущности не добавляют кандидатов. Без spaCy и fastembed — только семантика. Графовых запросов нет

2. Знания и правила

AI Council Mem0
База знаний Решения, заметки, диаграммы Mermaid, журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл Память: факты, предпочтения, процедуры, эпизоды кодинг-сессий. Скоупы user_id/agent_id/run_id, на Platform ещё app_id. Записи не привязаны к позициям в коде; связь с кодом — только метаданные плагина (repo, dirs, branch, SHA)
Актуальность Запись держит место в коде на своей ветке и уходит на перепроверку, когда меняется код под ней, сама запись, появляется похожая или ветку сливают. Ревьюер обязан привести цитату; итог — пометка OSS: expiration_date скрывает запись из search и get_all после даты; дедуп по MD5 в окне top-10; извлечение только добавляет и не переписывает старое. Platform: затухание 0.3–1.5× (opt-in), Dream (supersede/merge всегда, synthesis — Pro+), temporal reasoning. Проверки «соответствует ли запись коду» нет
Ветки Знания и граф хранятся по веткам; агент видит свою ветку, родителя и слитое; при слиянии запись переезжает Плагины фиксируют ветку и SHA в метаданных и скоупят по repo/app_id; версионирования знаний по веткам и слияния нет
Правила Конвенции трёх областей: к сущностям кода, к путям (действуют и на ещё не созданный файл), ко всему проекту. MUST/SHOULD, состояния «черновик», «отставлено», «удалено». Проверка перед правкой и по диффу Движка конвенций нет. Есть custom_instructions и agent_custom_instructions — текст, который подмешивается в промпт извлечения, категории и project/personal instructions плагинов. Уровней MUST/SHOULD, привязки к сущностям и путям, проверки диффа нет
Как доходит до агента Хуки Claude Code: правила проекта к каждому сообщению, широкий канал перед действием, контекст файла на Read/Edit/Bash, чек-лист в конце; гейт «сначала база» Нативные плагины: хуки SessionStart, UserPromptSubmit (на первом промпте — до 5 памятей), PostToolUse/PostToolUseFailure, Stop, PreCompact, SessionEnd; всё fail-open. MCP — один read-only search_memories в Python-плагинах. Запись идёт фоном и ничего не блокирует; гейта «сначала база» нет
MCP Сервер: около 60 инструментов, профили, режимы, XML с бюджетом Python-плагины: 1 инструмент search_memories. TS-хосты богаче: OpenCode — 10 инструментов, OpenClaw и Pi — 6, DeepSeek — 2. Плюс REST API, CLI и SDK
Перенос Экспорт и импорт знаний пакетом, копирование между проектами В OSS экспорта нет. На Platform — schema-driven export, batch и webhooks. Плагины держат локальный evidence.sqlite3 и flush на Platform; пакета знаний нет

3. Требования и задачи

AI Council Mem0
Требования Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент —
Тикеты Jira, GitHub Issues, Redmine: чтение, разбор в знания, совет по тикету из графа —
Работа на своей машине Агент — Claude Code разработчика; Council подаёт контекст и правила через MCP и хуки; ревью локального диффа, разбор диффа, проверка диффа на правила Это основной режим: плагины для Claude Code, Cursor, Codex, Kimi, Antigravity, OpenCode, OpenClaw, Pi и DeepSeek; библиотека в процессе приложения; MCP
Рабочее пространство Задачи на VM в sysbox-контейнере, живут днями; человек ведёт из чата; наставник; дифф → коммит → push → MR Задач и рабочего пространства нет: только память и захват сессии
PR Ревью с публикацией в MR (GitHub, GitLab, Bitbucket) —
Процесс Машина состояний задачи: создана → анализ → в работе → MR → закрыта; содержимое шага задаёт человек Процесса задачи нет. Есть петля capture → flush → extract → search/inject; на Platform add асинхронный (event_id и polling). Dream — фоновая консолидация памяти, а не задача

4. Проверка и модели

AI Council Mem0
Code review Отдельный сервис: смотрит изменившееся, вердикт по каждому файлу, второй проход, публикация в MR без дублей; ревью знаний отдельно ИИ-ревью кода нет. Плагины записывают неудачные инструменты и команды как свидетельства, сервер — request_logs. Ревью памяти нет; неодобренных правил нет
Модели Модель обязательна: на хосте два процесса через OAuth вендора: AI-чат и шесть фоновых задач (ревью, ревью знаний, разбор тикетов и др.). Без модели остаётся только статический анализ кода. Своего LLM нет: нужен ключ провайдера. Извлечение — 1 вызов LLM на add; эмбеддинги — провайдер; опционально реранкер. 18 LLM, 11 эмбеддеров, 25 хранилищ, 5 реранкеров; по умолчанию OpenAI gpt-5-mini и text-embedding-3-small, локальный Qdrant в Python и in-memory в TS. Self-hosted образ несёт только OpenAI/Anthropic/Gemini (LLM) и OpenAI/Gemini (эмбеддер)
Агенты Claude Code (хуки, MCP); MCP доступен любому клиенту 5 нативных плагинов, portable-плагин и 4 TS-хоста; интеграции Vercel AI SDK, n8n, Zapier, Hermes, Strands; SDK, CLI, REST
Оценка Телеметрия каждого вызова MCP и хука; повторный поиск агента — признак плохого первого ответа Тесты: pytest, jest/vitest; один обязательный CI Gate. Прогон не выполнялся — зависимости не установлены. Публичного бенчмарка памяти в базе нет. Метрики кода Council: maintainability 0.75; из 7 fitness-функций проходят 2; 36 god classes, 905 long methods, 5 циклов, покрытие типов 0.52
Гарантии Гейты тестов, ревью, конвенции Один обязательный CI Gate, релизный роутер по префиксу тега, PR-гейт «принятый issue», vouch, CLA; регрессионный тест сначала. 15 классов исключений и явные режимы деградации

5. Платформа

AI Council Mem0
Пользователи Компании → участники → роли (можно на проект) → права. API-ключи компании. Данные разделены: запрос без компании отвергается. Лицензия и лимиты мест Platform: организации, проекты и участники, app_id. OSS: один локальный конфиг. Self-hosted: пользователи и API-ключи, но память single-tenant — любой валидный ключ читает любую память. Ролей на проект, лицензии и мест в OSS нет
Интерфейс Около 50 страниц: код, граф, ветки, качество, правила, ревью, знания, тикеты, задачи, MCP Live, администрирование, System Health Python- и TS-SDK, два CLI (mem0-cli на Typer и @mem0/cli на Commander), плагины агентов, дашборд Next.js (requests, memories, entities, API keys, configuration, settings; analytics, categories, export и webhooks — locked-заглушки), REST и OpenAI-совместимый прокси
Мониторинг Телеметрия каждого вызова MCP и хука без PII; около 22 правил Prometheus с тестами; System Health, трассировка PostHog включён по умолчанию (MEM0_TELEMETRY=false выключает), request_logs и X-Request-ID, логи плагинов, статусы flush; Prometheus и System Health нет
Самовосстановление Сверка Temporal с базой, уборка осиротевших данных, удаление проекта пачками, ночной бэкап и проверка восстановления, ретенция телеметрии Карантин битого SQLite плагина, повтор flush (до 5 попыток), повтор вставки по одной, guard от повторного батча в delete_all, single-use refresh JTI. У сервера нет откатa конфига; ночного бэкапа и проверки восстановления нет
Хранилище Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis OSS: векторное хранилище — источник истины, SQLite history/messages, sidecar {collection}_entities. Server: pgvector и PostgreSQL mem0_app. Platform: managed
Изоляция Sysbox-контейнер на задачу, одноразовые учётные данные для push, ревьюер знаний только на чтение, проверка прав в одном шлюзе, защита от SSRF OSS: процесс приложения, песочницы нет. Плагины: локальный evidence store, fail-open. Server: JWT и API-ключи, но авторизация памяти single-tenant; org/project — только Platform
Поставка Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки pip mem0ai, npm mem0ai, Docker Compose сервера, плагины, CLI, Platform SaaS; Apache-2.0
Лицензия Закрытая Apache-2.0 (OSS); Platform закрыта

Вывод

Mem0 — слой памяти, а не понимания кода. Он хорошо делает то, чего у Council нет как отдельного продукта: универсальную память для приложений и агентов со скоупами, сроками жизни, гибридным поиском и готовыми плагинами для девяти агентских хостов. Council делает другое: сам разбирает код, держит знания, привязанные к позициям, авторитетные конвенции, ревью и задачи. Пересечение — доставка памяти агенту через хуки и MCP и гибридный поиск; понятия истины разные: Council проверяет запись против кода, Mem0 — против срока жизни и консолидации (на Platform) или никак (в OSS).

Где сильнее Mem0:

  • универсальная память: факты, предпочтения, процедуры и эпизоды — для любого приложения, не только кода;
  • скоупы user_id/agent_id/run_id (на Platform ещё app_id) с защитой метаданных от подмены скоупа;
  • ADD-only извлечение одним вызовом LLM: дешевле и быстрее двухфазного;
  • гибридный поиск semantic + BM25 + entity boost с explain, порогом и опциональным реранком;
  • срок жизни записи (expiration_date) и на Platform — затухание, temporal reasoning, Dream-консолидация, профили, вебхуки, экспорт, batch;
  • провайдерская независимость: 18 LLM, 11 эмбеддеров, 25 векторных хранилищ, 5 реранкеров;
  • готовые плагины для Claude Code, Cursor, Codex, Kimi, Antigravity, OpenCode, OpenClaw, Pi, DeepSeek и интеграции Vercel AI SDK, n8n, Zapier, Hermes, Strands;
  • self-hosted сервер с дашбордом и API-ключами; Apache-2.0.

Где сильнее Council:

  • понимает код, а не только память о нём. Граф L0–L10: стек, структура, зависимости и циклы, вызовы, данные, архитектура и запрещённые зависимости, паттерны, стиль, DDD, co-change, смеллы, ISO 25010, диаграммы; статический анализ модель не вызывает. Mem0 хранит факты и эпизоды, но не строит граф кода.
  • знания привязаны к позиции в коде и к ветке. Запись живёт на ветке, приходит агенту при касании файла, уходит на перепроверку при изменении кода под ней; ревьюер обязан привести цитату. У Mem0 скоупы, expiration и консолидация, но нет привязки к коду и проверки против кода.
  • конвенции — авторитетные правила с проверкой. Три области (сущности, пути, проект), MUST/SHOULD, состояния, проверка перед правкой и по диффу; хуки доставляют правила к каждому сообщению и контекст файла на Read/Edit/Bash; гейт «сначала база» блокирует чтение кода до обращения к базе. Mem0 подмешивает воспоминания, но не правила команды.
  • ревью кода и знаний — сервис. Вердикт по каждому файлу, второй проход, публикация в MR без дублей; отдельное ревью знаний с цитатой и калибровкой. Mem0 не ревьюит код.
  • задачи на VM, тикеты, MR, команда. Задача в sysbox-контейнере живёт дни, человек ведёт из UI: анализ → дифф → коммит → push → MR; тикеты, трассировка требований, компании/роли/лицензия. Mem0 — библиотека/сервис памяти, этого слоя у него нет.
  • общий граф на несколько репозиториев и история архитектуры. architecture_as_of, версионирование рёбер, SonarQube; ask_question отдаёт выдержки с FQN, а не пересказ моделью. Mem0 хранит память, но не архитектуру проекта.
  • наблюдаемость и самовосстановление. Телеметрия каждого вызова MCP и хука без PII, около 22 правил Prometheus, System Health, трассировка; сверка Temporal с базой, уборка осиротевших данных, бэкап с проверкой восстановления. Для библиотеки памяти это не нужно; для командной платформы — обязательный слой.
  • статический анализ не тратит токены модели. Mem0 извлекает память вызовом LLM; Council разбирает код без модели, а модель использует только для ревью, чата и рабочего пространства — через хостовый воркер/бридж/вендорский CLI/OAuth, не ключом в стеке.

Могут ли работать вместе. Да, и это разные слои. Mem0 хранит память о пользователе, проекте и ходе сессии; Council — знания о коде и правила команды. Оба работают через хуки Claude Code и MCP, поэтому могут жить в одной сессии. Пересечение — инъекция контекста на первом промпте и перед инструментом: Mem0 подмешивает воспоминания, Council — правила и знания по файлу. Автоматической интеграции нет; практическая связка — Mem0 как память предпочтений и эпизодов, Council как источник истины о коде.

Сравните на своём проекте

На живом демо покажем работу платформы на реальном проекте, а не шаблонную презентацию.