MemClaw

Обзор MemClaw: коллективная память для флотов AI-агентов

Как 300+ агентов eToro делятся знаниями через MemClaw — и почему это меняет правила игры для multi-agent архитектур

🔗 MemClaw
📝 1577 words

Что такое MemClaw

MemClaw — это инфраструктурный слой коллективной памяти для флотов AI-агентов, решающий фундаментальную проблему координации знаний в мультиагентных системах. В отличие от традиционных решений, где каждый агент оперирует изолированным контекстом (RAG-пайплайн или локальный кэш LLM), MemClaw предоставляет управляемое, разделяемое и самообучающееся хранилище семантических фактов, доступное всем экземплярам флота. Продукт ориентирован на инженеров, разрабатывающих production-grade мультиагентные системы (от 10 до 10 000+ агентов), где критична консистентность данных, версионирование памяти и автоматическое разрешение конфликтов при параллельной записи.

Ключевое УТП — механизм governed memory: каждое изменение в коллективной памяти проходит через политики доступа (RBAC/ABAC), временные метки и автоматическую дедупликацию на основе эмбеддингов. Это превращает память из простого векторного хранилища в полноценную систему управления знаниями с гарантиями ACID-транзакций для агентных операций. Стек технологий: Python 3.10+ (core), Rust (высоконагруженный слой записи), Redis Streams (брокер событий), PostgreSQL + pgvector (персистентный слой). Распространяется по лицензии Apache 2.0 с дополнительными enterprise-модулями под коммерческой лицензией.

Архитектура и принцип работы

Внутренняя архитектура MemClaw построена по принципу трёхуровневого конвейера: Ingestion Layer (приём данных от агентов) → Governance Layer (валидация, дедупликация, политики) → Storage Layer (векторное + графовое хранение). Каждый агент флота подключается через SDK (Python/TypeScript) и отправляет факты в формате структурированных чанков: {agent_id, timestamp, payload: str, embedding: vector, ttl: int, access_policy: str}. Ingestion Layer использует асинхронную очередь на базе Redis Streams с гарантией exactly-once delivery — критично для сценариев, где два агента одновременно фиксируют противоречивые данные (например, разная цена товара на двух страницах).

Воркфлоу обработки запроса: агент отправляет запрос в MemClaw → Governance Layer проверяет права доступа агента к запрашиваемому сегменту памяти → выполняется гибридный поиск (векторный по эмбеддингу + графовый по связям между фактами) → результат проходит через ранжирующий фильтр (re-ranking на основе cross-encoder) → возвращается топ-K фактов с метаданными (источник, время создания, уровень доверия). Критическая особенность — self-improving механизм: если агент подтверждает релевантность факта (explicit feedback) или использует его в генерации ответа (implicit feedback), MemClaw повышает его вес в индексе; при получении противоречащих данных запускается процесс разрешения конфликтов через голосование агентов или ручную модерацию.

Ключевые возможности

1. Управляемая коллективная память с RBAC/ABAC
Каждый факт привязывается к политике доступа: агенты из группы «парсеры» могут только писать, агенты из группы «аналитики» — читать и подтверждать, администраторы — удалять. Политики определяются на уровне флота и наследуются дочерними агентами. Это позволяет строить иерархические системы памяти, где, например, агенты первого уровня собирают сырые данные, второго — верифицируют, третьего — генерируют отчёты.

2. Автоматическая дедупликация и разрешение конфликтов
При записи нового факта MemClaw вычисляет cosine similarity его эмбеддинга с существующими. Если сходство >0.92 (порог настраивается), запускается механизм слияния: сравниваются временные метки и уровень доверия (confidence score). Конфликтующие факты не удаляются, а помечаются как «pending resolution» и отправляются в очередь на модерацию. Это предотвращает «галлюцинации дублирования» в мультиагентных системах.

3. Self-improving ранжирование на основе обратной связи
MemClaw поддерживает матрицу обратной связи: каждый раз, когда агент использует факт из памяти, система фиксирует это как implicit positive signal. Если агент явно оценивает факт (лайк/дизлайк) — как explicit signal. На основе этих данных пересчитывается weight факта в индексе (формула: new_weight = old_weight * 0.9 + feedback_score * 0.1). Через 1000+ итераций наиболее релевантные факты получают приоритет при поиске.

4. Гибридный поиск: векторный + графовый
Помимо стандартного ANN-поиска по эмбеддингам (HNSW-индекс в pgvector), MemClaw строит граф связей между фактами на основе co-occurrence в запросах агентов. Если два факта часто запрашиваются вместе, между ними создаётся ребро с весом, пропорциональным частоте. При поиске выполняется beam search по графу: сначала находятся топ-10 векторных кандидатов, затем из них выбираются 3 с наибольшим количеством связей с другими релевантными фактами.

5. Версионирование памяти с возможностью отката
Каждое изменение (запись, удаление, обновление веса) фиксируется в журнале транзакций. MemClaw хранит до 100 последних версий состояния памяти (настраивается). Это позволяет откатить флот к предыдущему состоянию, если после обновления памяти агенты начали генерировать некорректные ответы. Версионирование реализовано через паттерн Event Sourcing: все мутации — это события, которые можно воспроизвести заново.

6. TTL-управление с автоматической архивацией
Каждый факт имеет time-to-live (по умолчанию 7 дней). По истечении TTL факт не удаляется, а перемещается в «холодное» хранилище (S3-совместимое объектное хранилище) с пониженным приоритетом поиска. Если агент запрашивает факт из холодного хранилища, он возвращается с пометкой stale: true и временем архивации. Это позволяет балансировать между актуальностью данных и стоимостью хранения.

7. Интеграция с любыми LLM-провайдерами через универсальный адаптер
MemClaw не привязан к конкретному эмбеддеру или LLM. SDK поддерживает кастомные функции эмбеддинга: можно передать свой энкодер (например, intfloat/multilingual-e5-large) или использовать встроенный (all-MiniLM-L6-v2). Для генерации ответов агенты могут использовать OpenAI, Anthropic, локальные модели через vLLM — MemClaw выступает только как слой памяти, не затрагивая логику генерации.

Характеристики и тарифы

ХарактеристикаЗначение
Модель распространенияFreemium (Open Source core + Enterprise модули)
ЦенаБесплатно (до 1000 фактов, 3 агента) / от $49/мес (10 000 фактов, 50 агентов) / Enterprise (кастом)
APIREST (OpenAPI 3.0) + gRPC (для high-throughput) + Python/TypeScript SDK
ИнтеграцииLangChain, CrewAI, AutoGen, OpenAI Assistants API, Haystack, LlamaIndex
ЛицензияApache 2.0 (core) / Proprietary (Enterprise: governance audit, SSO, on-prem)
ХранениеPostgreSQL + pgvector (векторы) + Redis (кэш) + S3 (архив)
Макс. пропускная способность5000 запросов/сек (Enterprise), 100 запросов/сек (Free)

Установка и первые шаги

Установка через pip или Docker. Для production рекомендуется использовать Docker Compose с PostgreSQL и Redis. Минимальные требования: Python 3.10+, 4GB RAM (для эмбеддингов), PostgreSQL 15+ с pgvector.

# Быстрый старт через pip
pip install memclaw

# Инициализация (создаёт конфиг и поднимает локальный Redis/PostgreSQL через Docker)
memclaw init --name my-fleet --agents 5

# Запуск сервера памяти
memclaw serve --port 8080

# Пример записи факта через Python SDK
from memclaw import FleetMemory

fleet = FleetMemory(api_key="sk-xxx", endpoint="http://localhost:8080")
fleet.remember(
    agent_id="parser-01",
    payload="Цена товара SKU-123: 4500 рублей",
    metadata={"source": "ozon.ru", "confidence": 0.95},
    ttl=86400  # 24 часа
)

# Поиск фактов
results = fleet.recall(
    query="сколько стоит SKU-123",
    top_k=5,
    min_confidence=0.8
)
print(results)

Сравнение с аналогами

КритерийMemClawMem0 (mem0.ai)RAGatouille
Ключевая фичаGoverned shared memory с RBAC и self-improvingПерсонализированная память для одного пользователяТолько RAG-пайплайн, без коллективного доступа
ЦенаБесплатно до 1000 фактов / от $49/месБесплатно до 500 фактов / от $29/месБесплатно (Open Source)
Open SourceApache 2.0 (core)MIT (core)MIT (полностью)
СложностьСредняя (требуется PostgreSQL + Redis)Низкая (только API)Высокая (настройка индексов, обучение ранжировщика)
МультиагентностьНативная (флоты, RBAC, конфликты)Только single-agentНе поддерживается
Self-improvingДа (implicit + explicit feedback)НетНет (только статический индекс)
ВерсионированиеДа (Event Sourcing, до 100 версий)НетНет

Ближайшие конкуренты: Mem0 — хорош для single-agent персонализации, но не поддерживает коллективную память и разрешение конфликтов. RAGatouille — мощный RAG-инструмент, но требует ручного управления индексами и не имеет встроенных механизмов для мультиагентных флотов. ChromaDB — более низкоуровневое векторное хранилище, без governance и self-improving. MemClaw выигрывает в сценариях, где критична координация знаний между десятками агентов с разными уровнями доступа.

Плюсы и минусы

Сильные стороны

  • Self-improving ранжирование: механизм обратной связи реально повышает релевантность поиска на 30-40% после 500+ итераций (по данным бенчмарков команды MemClaw на датасете HotPotQA). Это единственное решение в категории, которое автоматически адаптирует память под паттерны использования флота.
  • ACID-гарантии для мультиагентной записи: использование Redis Streams с exactly-once delivery и оптимистичных блокировок на уровне PostgreSQL предотвращает race conditions. В тестах с 50 агентами, одновременно пишущими в одну память, конфликты возникали в <0.1% случаев (против 5-8% у Mem0 без блокировок).
  • Гибридный поиск с графовыми связями: добавление графового слоя повышает recall@10 на 12% по сравнению с чистым векторным поиском (измерено на датасете с 10 000 фактов из电商-каталога). Особенно эффективно для запросов, требующих контекстной связки фактов (например, «цена и отзывы на товар X»).
  • Версионирование через Event Sourcing: возможность откатить память к предыдущему состоянию — критическая фича для production-систем, где ошибочное обновление памяти может привести к каскадным сбоям агентов. Конкуренты (Mem0, ChromaDB) не предоставляют такой возможности.
  • Гибкая модель лицензирования: Apache 2.0 для core-функциональности позволяет использовать MemClaw в коммерческих продуктах без ограничений, а Enterprise-модули (SSO, аудит, on-prem) покрывают потребности крупных организаций.

Ограничения

  • Зависимость от PostgreSQL + Redis: для работы требуется развёртывание двух внешних сервисов, что увеличивает operational overhead по сравнению с облачными решениями типа Mem0 (только API). Для небольших проектов (до 5 агентов) это может быть избыточно.
  • Отсутствие встроенного UI для мониторинга: на данный момент MemClaw не предоставляет веб-интерфейса для просмотра состояния памяти, конфликтов и статистики. Всё управление — через API и CLI. Enterprise-версия обещает дашборд в Q2 2025, но пока это ограничение.
  • Порог дедупликации фиксирован: значение cosine similarity 0.92 для срабатывания дедупликации жёстко задано в коде и не настраивается через конфиг (требуется форк репозитория). Для некоторых доменов (например, юридические тексты с высокой вариативностью формулировок) порог может быть слишком высоким или низким.

Итог: вердикт Qantcore

★ Рейтинг: 4.2 / 5

MemClaw — это зрелое инфраструктурное решение для мультиагентных систем, где коллективная память является узким местом. Продукт решает реальные проблемы координации знаний, которые не адресуют ни RAG-пайплайны (статичные), ни single-agent memory (изолированные). Self-improving ранжирование и версионирование через Event Sourcing — это фичи, которые оправдывают затраты на развёртывание PostgreSQL и Redis. Однако продукт не подходит для быстрых прототипов или single-agent сценариев — здесь Mem0 или даже простой RAG будут проще и дешевле.

Кому стоит выбрать MemClaw: командам, разрабатывающим production-флоты из 10+ агентов с разными ролями (парсеры, аналитики, генераторы), где критична консистентность данных и возможность отката изменений. Идеально для e-commerce (каталоги с динамическими ценами), мониторинга (агрегация логов от множества источников) и юридических систем (версионирование фактов с аудитом).

Кому посмотреть альтернативы: стартапам на стадии MVP (один агент, прототип) — используйте Mem0 или ChromaDB. Командам, которым нужен только RAG без мультиагентности — RAGatouille или LlamaIndex. Тем, кто не хочет управлять PostgreSQL и Redis — облачные решения типа Pinecone или Weaviate (но без governance и self-improving).

Итоговая рекомендация: если вы строите мультиагентную систему, где память — это не просто хранилище, а управляемый актив с политиками и обратной связью — MemClaw лучший выбор в категории на начало 2025 года. Для простых сценариев — избыточен.