Skip to main content
Glama

Context-M — Универсальная нейро-символическая ткань памяти

Mem0 дает вашему агенту блокнот. Context-M дает вашему агенту мозг.

Памятный субстрат для ИИ-агентов, объединяющий битемпоральный символический след (гиппокамп) с VSA-дворцом памяти (неокортекс), связанный детерминированным мостом μ=0 — ноль вызовов LLM при приёме, криптографическое происхождение при каждом извлечении, развёртывание на периферии при 96 байтах на воспоминание.

pip install cortexm          # works offline, no API keys, single command
from cortexm import Memory   # Mem0-compatible surface

m = Memory()
m.add("I work at Google", user_id="alice")
m.search("Where does Alice work?", user_id="alice")
# → [Memory — Known facts]
#   - (Alice, works_at, Google) [valid 2026-08-27→∞; learned …; conf 0.92;
#      id 3f2a91c2; src #a1b2c3d4; "I work at Google"]

Результаты бенчмарков — долгосрочная память в стиле BEAM

Синтетические многосессионные разговоры (методология BEAM, arXiv:2510.27246), 10 способностей памяти, детерминированный судья по фрагментам, заявлен приём μ=0 (ноль вызовов LLM, включая судью). Среднее ± стандартное отклонение по пяти генераторным сидам (42 / 44 / 45 / 46 / 47 — последние два никогда не просматривались во время разработки), полностью воспроизводимо офлайн:

Объём

вопросы

Context-M

BM25-RAG

vector-only

128K

37

100.0% ± 0.0%

70.2%

69.0%

500K

72

100.0% ± 0.0%

70.5%

67.9%

1M

107

100.0% ± 0.0%

68.8%

70.1%

10M

216

100.0% ± 0.0%

61.6%

66.1%

Показатели по сидам для 10M: 100.0% / 100.0% / 100.0% / 100.0% / 100.0% — все десять способностей на 100.0% в корзине 10M. Контекст: план нацелен на 70%+ на BEAM-10M; упомянутый в нём SOTA от августа 2026 — Exabase M-1 с 68.0% (приём с LLM в цикле). Каждый запрос получает ответ из цепочки происхождения, проверенной по хэшу, при нулевой стоимости LLM.

Инженерные факты, измеренные параллельно (см. docs/BENCHMARKS.md):

  • Приём: 10M токенов за ~98 с (~102K токенов/с), ~2 000 сообщений/с, 0 вызовов LLM

  • Память растёт сублинейно: 10M токенов → ~590 фактов (повторяющийся шум дедуплицируется)

  • Происхождение: 100% извлечённых фактов проверены по хэшу; задержка аудита ~6 мс

  • Извлечение: древовидный индекс p50 ≈ 0.4–1.1 мс при 10K–100K векторов (плоский: 16–194 мс)

  • Воспроизводимость: запуски не зависят от процесса — ничьи по очкам разрешаются по содержимому фактов, а не по случайным id (проверено на четырёх значениях PYTHONHASHSEED)

Related MCP server: Hebbrix MCP Server

Архитектура

┌──────────────────────────────────────────────────────────────────┐
│                      THE BRIDGE (μ = 0)                          │
│  write: text → chunks → BLAKE3 → patterns → triples → holograms  │
│  read:  query → intent plan → VSA probe ∥ symbolic query →       │
│         fusion → [Memory — Known facts] + provenance chain       │
└──────────────┬───────────────────────────────────┬───────────────┘
               │                                   │
┌──────────────▼──────────────────┐ ┌──────────────▼───────────────┐
│  LAYER 1: SYMBOLIC TRACE        │ │  LAYER 2: VSA MEMORY PALACE  │
│  (hippocampus)                  │ │  (neocortex)                 │
│  bi-temporal facts (SQLite)     │ │  HRR holograms, role-bound   │
│  CONTRADICTS / PRECEDED_BY /    │ │  INT8 · Binary · RaBitQ · PQ │
│  EXTRACTED_FROM edges           │ │  codecs (770/96/96/8 B each) │
│  Datalog-lite rules engine      │ │  page-clustered tree index   │
│  interference-aware lifecycle   │ │  64-entry semantic L1 (SLB)  │
│  Memory Git: hash-chained DAG   │ │  TMR self-healing + re-encode│
└─────────────────────────────────┘ └──────────────────────────────┘

Слой 1 — Символический след. Тройки субъект-отношение-значение с временем действия и временем транзакции (когда это было истинно против когда мы это узнали), разрешение противоречий через поддержание истинности (новые значения заменяют старые, старые уходят с сохранением своих окон), временные рёбра, движок прямого вывода в стиле Datalog-lite (manages(Y,X) → reports_to(X,Y), member_of(X,T) ∧ uses(T,L) → team_uses(X,L)), и жизненный цикл с учётом интерференции: факты оцениваются на предмет взаимодействия с существующей памятью до фиксации.

Слой 2 — VSA-дворец памяти. Каждый факт становится голографическим сокращённым представлением: ролевые заполнители субъекта/отношения/значения плюс λ-взвешенная лексическая суперпозиция, квантованная под ваш уровень хранения. Перестановочная привязка — алгебра по умолчанию, потому что она напрямую отображается на бинарное HDC-оборудование (XOR/перестановка) — когда появятся периферийные ASIC, тот же код скомпилируется вниз.

Мост. Приём μ=0: детерминированный экстрактор из 60 шаблонов (первое/третье/второе лицо, разрешение местоимений, относительные даты, отзывы) — никакого LLM на пути записи. Путь чтения — детерминированный планировщик запросов (временные окна, доказательства упорядочивания, подсчёт, цепочки замены, диффузия графа Personalized PageRank для многошаговых запросов — линия HippoRAG 2), объединённый с VSA-извлечением, и каждый возвращённый факт несёт полную цепочку аудита: запрос → VSA-совпадение → символическая разыменовка → хэш BLAKE3 → исходный текст.

Пять определяющих категорию функций

Функция

Что делает

Попробуйте

Memory Git

ветвление / слияние / diff / blame по памяти агента, хэш-связанные коммиты

examples/07_memory_git.py

ZK-lite доказательства

доказать, что факт соответствует запросу, не раскрывая его LLM

examples/08_zk_proof.py

Самовосстанавливающаяся память

битовые сбои обнаруживаются по хэшу, мажоритарное голосование TMR, перекодировка из Trace — 100% самоопределение до 10% повреждений

examples/09_self_healing.py

Прогнозирующая предвыборка

предсказание совместного доступа MBTB питает набор усиления слияния

context_m/features/prefetch.py

Кросс-модальная привязка

эпизодические голограммы: связывание текстовых/структурированных/сенсорных ролей, вызов по любой модальности

context_m/vsa/ops.py

Уровни хранения (cortexm-compress)

Уровень

Байт/вектор

1M воспоминаний

Помещается на

int8 (по умолчанию)

770

770 MB

любой ноутбук

binary + TMR

96 (288 с TMR)

96 MB

Raspberry Pi 5 → 10M воспоминаний

rabitq

96

96 MB

Raspberry Pi Zero 2W

pq

8

8 MB

облако, миллиарды

Измеренное качество кодеков (20K голограмм фактов): int8 overlap@10 против FP32 = 0.90; binary/rabitq/PQ восстанавливают топ-10 FP32 в пределах своего топ-50 при 1.00/1.00/0.9995 — кодеки короткого списка, как и задумано. См. docs/COMPRESSION.md.

Безопасность (защита InjecMEM + MINJA)

Каждый факт несёт хэш BLAKE3 своего исходного текста, повторно проверяемый при извлечении. Паттерны инъекций в память («игнорируй все предыдущие инструкции…») помещаются в карантин при приёме — хранятся для аудита, никогда не активны, никогда не извлекаются в контекст промпта. Кроме того, защита от заражения MINJA рассматривает карантинный текст как заражённый корпус: любой последующий приём, который цитирует его или существенно пересекается с ним (даже если лёгкие правки обходят все регулярные выражения), также помещается в карантин — закрывая цикл инъекций только через запросы, когда злоумышленник отравляет память через собственную запись агента. Области (пользователь/агент/запуск) изолируют факты и кэш извлечения; verify_integrity() проверяет всё хранилище.

Корпоративные средства контроля (реализованы, не в дорожной карте)

Средства контроля, на которых на самом деле застревает проверка безопасности покупателя — все в репозитории, все под тестами (tests/test_enterprise.py):

Контроль

Что поставляется

PII-брандмауэр

проверка по Luhn/mod-97/правилам зон для обнаружения email, телефонов, карт, SSN, IBAN, IP, API-ключей — редактируется до обратимых токенов хранилища до извлечения (защита пути записи GDPR/CCPA)

Шифрование в покое

конверт AES-256-GCM (KEK→DEK), ротация ключей, мастер-ключи из env/файла ключей/sidecar

RBAC + API-ключи

роли admin / operator / reader / auditor, дайджесты с перченым ключом, TTL, проверка за постоянное время

Аудит с защитой от вмешательства

хэш-связанный журнал операций; экспорт в SIEM (JSONL + syslog); вмешательство указывает на нарушенную последовательность

Управление GDPR

право на удаление по ст. 17 с крипто-уничтожением + аттестация; политики хранения по ст. 5; разрешение DSAR-хранилища

Резервное копирование / DR

атомарные снимки с манифестами SHA-256; PITR — битемпоральное воспроизведение, база данных — это её собственный WAL

REST API

20 конечных точек, OpenAPI 3.1 на /openapi.json, аутентификация bearer, ограничение скорости на ключ, Prometheus /metrics, /healthz /readyz

Развёртывание где угодно

Docker (non-root, tini, healthcheck) · docker-compose + ночные снимки · манифесты K8s · Helm chart — deploy/

cortexm serve-rest --db /data/memory.db --pii redact --admin-key yes

См. docs/ENTERPRISE.md (матрица контроля + сопоставление соответствия) и docs/DEPLOYMENT.md (руководства по SDK / MCP / REST / Docker / K8s / Helm).

MCP-сервер (день 1)

cortexm serve        # stdio JSON-RPC, zero dependencies

Инструменты: contextm_add, contextm_search, contextm_get_all, contextm_history, contextm_temporal, contextm_audit, contextm_prove, contextm_stats, contextm_delete. Работает с Claude Code / Cursor / любым MCP-клиентом. Плагин для Claude Code: plugins/context-m-claude.

Миграция

cortexm migrate --from mem0 --path mem0.db
cortexm migrate --from zep --path zep_export.jsonl
cortexm migrate --from chroma --path chroma.sqlite3

Дополнительно

  • docs/ARCHITECTURE.md — каждый слой в деталях

  • docs/BENCHMARKS.md — полные результаты, методология, таблицы по способностям

  • docs/ENTERPRISE.md — корпоративная матрица контроля + сопоставление соответствия

  • docs/DEPLOYMENT.md — руководства по SDK / MCP / REST / Docker / K8s / Helm

  • docs/RESEARCH.md — литературная линия: каждая статья, которую мы приняли, с которой согласовали или которую отклонили (с причинами)

  • docs/SECURITY.md — защита InjecMEM + MINJA, модель происхождения

  • docs/COMPRESSION.md — стек уровней и измеренные компромиссы

  • docs/ROADMAP.md — статус фаз относительно стратегического плана

  • examples/ — 10 исполняемых скриптов, офлайн, без API-ключей

  • tests/ — 63 теста: fabric + корпоративные + PPR + параллелизм

Лицензия

Apache 2.0 — открытое ядро, сделанное правильно: память-ткань открыта и остаётся открытой; федеративная синхронизация и UI аудита — корпоративный уровень.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides long-term memory and a temporal knowledge graph for AI agents, enabling persistent memory and reasoning across sessions.
    33
    101 PyPI
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides LLM agents with hallucination-free external memory and knowledge tools, including ask, remember, forget, math, and code reasoning, with deterministic, traceable outputs.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to gain persistent, structured memory that is semantically searchable and graph-traversable, allowing them to store and query records and relationships without managing embeddings or schemas.
    64 npm
    Apache 2.0