Skip to main content
Glama

Obliviate

Память агента, которая забывает по команде — и доказывает, что забыла.

Удалите везде · одной атомарной транзакцией · с подписанной квитанцией, которую любой может проверить

▶ Try the live demo

Live demo CockroachDB Basic Cloud MCP AWS S3 WORM Python 3.12 FastAPI License MIT

Когда память агента содержит ошибку, отравлена или по закону должна исчезнуть — можете ли вы удалить её везде, атомарно и доказать, что её больше нет?

Obliviate может. Он каскадно удаляет весь подграф знаний сущности — документы, узлы графа, рёбра и векторы — в одной ACID-транзакции, а затем доказывает удаление тремя способами: сравнение «до/после» через AS OF SYSTEM TIME, живой повторный поиск по векторам и графу, который ничего не возвращает, и криптографически уничтоженный, защищённый объектной блокировкой сертификат об удалении.

Просмотр, поиск, граф знаний и /verify открыты для всех. Запись ограничена токеном (продукт для удаления ни в коем случае не должен позволять анонимным посетителям удалять данные) — чтобы запустить Forget & Prove самостоятельно, вставьте демо-токен obliviate-judge-75a0f127 в Settings → Security.

Obliviate landing

Живая память — граф знаний с физикой в реальном времени (47 сущностей · 83 связи, всё в CockroachDB):

Obliviate knowledge graph — live physics


Проблема

Каждый проект по памяти агентов в этом цикле отвечает на один и тот же вопрос: как агентам запоминать больше? Почти никто не отвечает на вопрос, который на самом деле стоит перед продакшен-памятью: как агенты забывают — полностью, безопасно и доказуемо?

Память, которая только копится, — это обуза. Отравленный или ошибочный факт распространяется по графу знаний и искажает будущие рассуждения. Данные ушедшего клиента остаются дольше установленного законом срока хранения (статья 17 GDPR ЕС — «право на забвение» — приоритет правоприменения в 2026 году). А в большинстве систем «удаление» — это DELETE в лучшем случае, который оставляет на диске восстановимые векторы, осиротевшие рёбра графа и никаких доказательств того, что что-то произошло.

Related MCP server: elephantasm-mcp

Что делает Obliviate

Направьте его на сущность — клиента, выведенную из эксплуатации систему, отравленную память — и он выполнит проверяемое удаление:

Этап

Гарантия

Каскадное удаление

Документы, узлы графа, рёбра и векторы сущности удаляются в одной сериализуемой транзакции — никогда не бывает наполовину затёртого состояния.

Безопасность общих узлов

Сущности, общие с выжившим субъектом, аннулируются, а не удаляются — удаление одного субъекта никогда не повреждает память другого.

Криптографическое уничтожение

Ключ шифрования субъекта для каждой записи уничтожается, поэтому остаточный шифротекст (в истории MVCC, резервных копиях или S3) криптографически невосстановим — а не просто перестаёт быть доступным по ссылке.

Доказательство прежнего существования

AS OF SYSTEM TIME восстанавливает точно то, что граф знал до удаления, — собственную память базы данных о себе, без отдельного журнала аудита.

Доказательство отсутствия

Живой повторный поиск по векторам и графу ничего не возвращает; агент отвечает «не значится в записях».

Сертификат

Подписанный объектно-заблокированный (WORM) S3 сертификат делает каждое удаление защищённым от несанкционированного вмешательства.

Два применения одного и того же примитива:

  • Целостность данных / реагирование на инциденты — в память агента попал отравленный или ошибочный факт. Вырежьте его начисто, в масштабе всего кластера, и докажите, что граф снова чист.

  • Комплаенс — право на забвение по GDPR/HIPAA с сертификатом, который можно передать аудитору.

Обоснованные ответы — с источниками и честным признанием отсутствия

Спрашивайте на обычном английском. Ответы строго опираются на сохранённый граф, ссылаются на источники и честно отказываются отвечать, когда факта нет в записях, — именно такое поведение делает удаление доказуемым.

Obliviate chat — grounded answer with sources

Forget & Prove — главная функция

Один клик удаляет субъект в одной ACID-транзакции, а затем доказывает это тремя способами: он существовал (AS OF SYSTEM TIME), его больше нет (живая повторная проверка векторов и графа), это необратимо (криптографическое уничтожение + объектно-заблокированный сертификат S3). Сущности, общие с выжившим субъектом, сохраняются, а не удаляются (обратите внимание на 1 shared kept).

Forget & Prove — the live 3-part proof of erasure

Он создаёт подписанный, защищённый объектной блокировкой сертификат об удалении — и любой может независимо перепроверить его на странице /verify: страница заново вычисляет SHA-256 хеш содержимого и проверяет подпись ECDSA (P-256) (публичный ключ показан, поэтому проверка работает офлайн). Изменённое поле нарушает хеш; подделанный сертификат не проходит проверку подписи.

Сертификат об удалении

Независимый верификатор (/verify)

Граф знаний (47 сущностей · 83 связи, живая физика) и встроенная документация:

Граф знаний

Документация (/learn)

Knowledge graph

Docs

Почему CockroachDB (несущая конструкция, а не галочка)

Obliviate объединяет то, для чего обычно нужны три системы — графовую БД, векторное хранилище и журнал аудита, — в одном надёжном управляемом хранилище. Это возможно только благодаря примитивам CockroachDB:

  • Распределённое векторное индексирование (C-SPANN) — семантический поиск по колонкам VECTOR(384), поддерживаемый индексом (проверено через EXPLAIN), живущий в той же таблице, что и реляционные данные.

  • AS OF SYSTEM TIME — путешествие во времени MVCC и есть квитанция об удалении. Не нужно доверять прикрученной таблице истории.

  • Сериализуемые транзакции — каскадное удаление + аннулирование + криптографическое уничтожение либо фиксируются все вместе, либо не фиксируется ни одно.

  • Рекурсивные CTE — исчерпывающий обход радиуса поражения графа знаний, гарантированный самой конструкцией запроса.

  • Построчный TTL — срок хранения обеспечивается самим хранилищем. Подключается для каждой строки отдельно (ttl_expire_at): документы истекают только тогда, когда это задаёт политика хранения, поэтому ничего не удаляется по единому таймеру.

  • Управляемый MCP-сервер (независимая проверка) — Obliviate подключается к собственному управляемому MCP-эндпоинту CockroachDB Cloud (cockroachlabs.cloud/mcp). Это самая сильная форма заявления об удалении: аудитору не нужно доверять нашему API, когда он говорит «данных больше нет», — он направляет своего MCP-агента на размещённый эндпоинт Cockroach Labs и напрямую выполняет select_query к кластеру, чтобы убедиться, что строки забытого субъекта действительно отсутствуют. Доказательство, которое никогда не проходит через код Obliviate. См. docs/MCP.md.

  • MCP-native (собственные инструменты) — Obliviate также поставляет собственный MCP-сервер (FastMCP) на том же кластере, так что любой MCP-агент (Claude Desktop/Code, Cursor) может запоминать, вспоминать и доказуемо забывать с помощью высокоуровневых инструментов.

Используемые инструменты CockroachDB (несущие): CockroachDB Cloud Managed MCP Server · Distributed Vector Indexing (C-SPANN) · AS OF SYSTEM TIME · Serializable transactions · Recursive CTEs · Row-level TTL. Используемые сервисы AWS: S3 (объектно-заблокированные / WORM-сертификаты об удалении) · EC2 (хостинг). Сертификаты подписываются внутри процесса с помощью ECDSA (P-256); подписант на базе Lambda — опциональный вариант развёртывания, не обязательный.

Архитектура

flowchart TB
    U["User / Agent"] -->|HTTPS| API["FastAPI app"]
    MCP["Obliviate MCP server (FastMCP)"] -->|"remember · recall · forget (via core)"| CRDB
    API -->|"vectors · AS OF SYSTEM TIME · cascade · CTEs"| CRDB
    subgraph CRDB["CockroachDB (one transactional store)"]
      D["documents (encrypted)"]
      N["nodes + VECTOR index"]
      E["edges (graph)"]
      K["subject_keys (crypto-shred)"]
      EV["erasure_events (audit)"]
    end
    API -->|"sign (ECDSA P-256) + PUT (Object Lock / WORM)"| S3["Amazon S3 — erasure certificates"]
    API -->|"embeddings"| FE["fastembed (local, 384-d)"]
    API -->|"generation"| LLM["LLM — local (Ollama) or hosted, BYO-model"]

Как это работает

  • Ingest — документ хранится в зашифрованном виде под ключом своего субъекта; LLM извлекает сущности и связи; узлы обновляются по имени (INSERT … ON CONFLICT = детерминированная дедупликация кореференций), а рёбра вставляются — всё в одном хранилище.

  • Ask — косинусный ANN находит релевантные сущности, рекурсивный CTE расширяет окружающий граф, и строго обоснованный промпт отвечает только на основе этого контекста, честно отказываясь, когда факт отсутствует (это свойство и делает забывание доказуемым).

  • Forget — транзакция, описанная выше.

Быстрый старт

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env          # set DATABASE_URL, LLM provider, AWS
python scripts/init_db.py     # apply schema + self-test
uvicorn app.main:app --port 8080

Принесите свою модель. Слой LLM не зависит от провайдера — направьте его на локальную модель Ollama или любого хостинг-провайдера, совместимого с OpenAI, отредактировав .env (или через выбор модели в приложении). Никакой привязки к провайдеру.

Оценка

Obliviate реализует многоуровневое удаление, подтверждённое исследованиями, вместо наивного DELETE:

  • Наивное удаление устойчиво к атакам реконструкции только на ~18%; многоуровневое удаление с учётом графа зависимостей достигает ~94% (ForgetAgent, IJRASET).

  • Подтверждённое через API удаление векторов оставляет эмбеддинги физически восстановимыми из сырого индекса на диске — Ghost Vectors (arXiv:2606.18497) восстанавливает 25,5% точных имён и 46,4% местоположений из текстовых эмбеддингов (и до ~99% из эмбеддингов изображений); криптографическое уничтожение ключа субъекта снижает восстановление до 0% (фикс «Epoch Key Rotation» из той же статьи — зашифровать, затем отбросить ключ).

Тестовый стенд (evals/) воспроизводит бенчмарк корректности забывания (оценка слепым судьёй) и показатель устойчивости к реконструкции (Reconstruction-Robustness Score), сравнивающий наивное удаление с Obliviate.

Создано для этого хакатона

Движок памяти Obliviate на базе CockroachDB был создан заново для этого хакатона — граф знаний как реляционные таблицы, векторы в индексе C-SPANN, атомарная транзакционная forget, доказательство через AS OF SYSTEM TIME, криптографическое уничтожение для каждого субъекта и подписанный сертификат об удалении. Объединение графа, векторов и журнала аудита в одном хранилище CockroachDB — именно то, что делает забывание единой ACID-транзакцией, а сертификат доказуемым из самой базы данных, — что невозможно, когда граф и векторы живут в двух разных хранилищах. Этот дизайн с единым хранилищем — структурное ядро: единый ACID-каскад, AS OF SYSTEM TIME как механизм доказательства, объектно-заблокированные криптографические сертификаты и исчерпывающий радиус поражения через рекурсивные CTE.

Честные ограничения

  • Стирание удаляет данные из хранилища; оно не устраняет параметрические априорные знания LLM (именно поэтому промпт привязки строгий, а честность проверяется поведенчески).

  • Кореференция основана на именах; сущности, которые должны быть различными, могут сливаться, и наоборот.

  • Окно AS OF SYSTEM TIME ограничено окном GC кластера; журнал аудита, допускающий только добавление, и сертификат S3 обеспечивают долговечность за его пределами.

Лицензия

MIT © 2026 Vinayak Sonthalia

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server providing cognitive memory tools (remember, recall, think, etc.) for AI agents, enabling forgetting, consolidation, and contradiction detection.
    176
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing agent memory with deterministic deletion guarantees, enabling compliant event storage, context retrieval, and audit-proof data management.
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that implements memory with decay mechanics, allowing AI agents to store and retrieve memories that fade over time unless accessed, with a permanent journal for verification.
    3
    MIT