Agent Memory

Модуль 13 · Урок 13.2

Урок 13.2. Cognee: graph-first memory platform для агентов

На этой странице
  1. План лекции
  2. Цель лекции
  3. Ожидаемый результат
  4. Короткая карточка инструмента
  5. Зачем это нужно
  6. Основная идея
  7. Ключевые термины
  8. Как устроена архитектура
  9. Data flows в Cognee
  10. Основные операции
  11. Какие типы памяти закрывает Cognee
  12. Storage and deployment
  13. Integrations
  14. Где Cognee особенно полезен
  15. Где Cognee может быть лишним
  16. Риски
  17. Как тестировать внедрение
  18. Мини-кейс: Cognee для research memory
  19. Мини-кейс: Cognee для customer support memory
  20. Сравнение с соседними инструментами
  21. Источники
  22. Краткое резюме
  23. Вопросы для самопроверки
  24. Что дальше

План лекции

Сначала мы разберем Cognee как инструмент: что он обещает, какой класс memory systems представляет и почему он попал в отдельный deep-dive. Затем перейдем к архитектуре: relational store, vector store, graph store, session memory and permanent knowledge graph.

После этого посмотрим на жизненный цикл памяти в Cognee: remember, recall, forget, improve, ingestion, session learning and self-improvement. В конце обсудим, где Cognee хорошо подходит, где он может быть слишком тяжелым, какие риски проверять перед внедрением и как тестировать такую memory platform.

Цель лекции

Разобрать Cognee как open-source AI memory platform, которая строит долговременную память агента через knowledge graph, embeddings, provenance and retrieval pipelines.

Ожидаемый результат

Читатель понимает, почему Cognee относится к graph-first memory platforms, какие типы памяти он может закрывать, как устроены его основные data flows и какие архитектурные вопросы нужно проверить перед production use.

Короткая карточка инструмента

Поле Значение
Repository https://github.com/topoteretes/cognee
Homepage https://www.cognee.ai
Docs https://docs.cognee.ai
Stars snapshot 29.9k на 2026-08-08
Primary language Python
License Apache-2.0
Latest checked release v1.4.2, опубликован 2026-08-08
Category Knowledge graph memory platform
Основная идея Ingest data, build self-hosted knowledge graph, retrieve context for agents across sessions

Cognee позиционируется как open-source AI memory platform for agents. Его важная особенность в том, что он не ограничивается vector search. Он соединяет relational metadata, vector embeddings and graph relationships.

Это делает Cognee хорошим примером архитектуры, где memory layer пытается быть не только поиском похожих chunks, но и слоем связей, provenance and long-term context.

Зачем это нужно

Многие memory tools начинают с простого паттерна:

text
message -> extract facts -> embed -> vector search later

Этот паттерн хорошо работает для персональных предпочтений and short factual recall. Но он начинает ломаться, когда агенту нужно понимать отношения:

  • какой документ связан с каким проектом;
  • какие решения относятся к конкретной migration;
  • какие customer issues похожи не только текстом, но и причиной;
  • какие события образуют timeline;
  • какие источники подтверждают claim;
  • какие entities повторяются в разных документах.

Cognee пытается закрыть именно этот класс задач: строить persistent memory, где данные searchable by meaning and connected by relationships.

Основная идея

Cognee стоит понимать как memory platform поверх трех типов storage:

flowchart TD D[Documents / conversations / records] --> I[Ingestion pipeline] I --> R[(Relational store)] I --> V[(Vector store)] I --> G[(Graph store)] R --> P[Provenance and metadata] V --> S[Semantic similarity] G --> E[Entities and relationships] Q[Agent query] --> RE[Recall] RE --> V RE --> G RE --> R RE --> C[Context for agent]

Relational store отвечает за documents, chunks, metadata and provenance. Vector store дает semantic search. Graph store хранит entities and relationships. Вместе они дают agent memory, которая может искать по смыслу and переходить по структуре.

В терминах курса Cognee ближе всего к пересечению:

  • world memory;
  • semantic memory;
  • episodic memory;
  • hybrid vector-graph memory;
  • enterprise context;
  • shared knowledge memory.

Он не является просто RAG framework и не является только vector DB adapter. Это попытка собрать memory layer с ingestion, graph construction, session memory and retrieval.

Ключевые термины

Термин Короткое определение
Knowledge graph Граф сущностей и отношений, извлеченных из данных.
Relational store Слой для metadata, documents, chunks, provenance and ownership.
Vector store Слой embeddings для semantic similarity.
Graph store Слой nodes/edges для entities and relationships.
Session memory Быстрая память текущей сессии, которая может позже синхронизироваться в permanent memory.
Permanent memory Долговременная graph-backed память, переживающая сессии.
Remember Операция записи данных в память.
Recall Операция поиска and извлечения релевантного контекста.
Improve Операция обогащения памяти and переноса полезного session experience в более устойчивую форму.
Forget Операция удаления dataset or memory scope.

Как устроена архитектура

В документации Cognee архитектура описывается через комбинацию relational, vector and graph storage. Это важный design point: ни одна база не закрывает все свойства памяти.

Relational store нужен не только как "табличка рядом". Он сохраняет provenance: откуда пришел fragment, к какому document он относится, как он связан с source and dataset. Без этого graph/vector retrieval легко становится недостоверным.

Vector store отвечает за похожесть. Если пользователь спрашивает "где мы обсуждали проблему с invoice sync?", vector search может найти chunks, где это описано другими словами.

Graph store отвечает за связи. Он позволяет хранить entities and relationships, например:

text
Customer -> reported -> Issue
Issue -> caused_by -> Sync Delay
Sync Delay -> affected -> Invoice System
Fix -> applied_to -> Customer Account

Вместе эти три слоя дают hybrid memory. Агент может найти похожие passages, затем уточнить context через relationships and provenance.

Data flows в Cognee

Cognee удобно рассматривать не как "одну функцию памяти", а как несколько pipelines.

flowchart TD A[Agent session] --> SM[Session memory] SM --> SL[Session learning] SL --> PM[Permanent knowledge graph] D[Documents and records] --> IN[Ingestion] IN --> PM PM --> SI[Self-improvement] SI --> PM SI --> SM Q[Recall query] --> SM SM -->|cache miss| PM

Session learning

Session learning работает с conversation turns, feedback, traces and guidance. Это ближе к short-term/session memory. Важная идея: не все, что появилось в сессии, сразу становится permanent graph fact.

Сессионные записи быстрые and raw. Их можно позже distilled into curated memory. Это снижает риск записать весь шум диалога как долговременное знание.

Self-improvement

Self-improvement enriches existing memory. В документации Cognee эта линия связана с улучшением retrieval structures поверх уже созданного graph: triplet indexes, summaries and derived context structures.

В терминах курса это похоже на consolidation: память не только хранится, но и перерабатывается для будущего retrieval.

Ingestion

Ingestion принимает documents, conversations, records or external data. Данные chunked, entities and relationships extracted, embeddings indexed, provenance stored.

Это делает Cognee похожим на RAG pipeline, но с существенным отличием: результатом является не только vector index, а graph-backed permanent memory.

Основные операции

Cognee в README показывает четыре операции:

text
remember
recall
forget
improve

Эти операции полезно сопоставить с жизненным циклом памяти из Module 03.

Cognee operation Memory lifecycle meaning
remember Add data to session or permanent memory.
recall Retrieve context from session cache and/or permanent graph.
improve Consolidate, enrich, distill, sync and improve recall structures.
forget Delete dataset or memory scope.

Такое API хорошо демонстрирует mature memory thinking. В нем есть не только add and search, но и отдельные идеи forgetting and improvement.

Какие типы памяти закрывает Cognee

Cognee может участвовать в нескольких типах памяти, но не одинаково хорошо во всех.

Тип памяти Насколько подходит Комментарий
Working memory Косвенно Cognee не заменяет prompt context, но supplies context for assembly.
Session memory Да Есть session memory/cache path.
Episodic memory Да Session traces, interactions and outcomes can be stored.
Semantic memory Да Extracted facts and graph entities can become semantic memory.
Procedural memory Частично Successful patterns and workflows can be stored, but governance matters.
Reflection memory Частично Feedback and lessons can feed improve pipelines.
World/RAG memory Да Documents and records can be ingested into searchable memory.
Shared memory Потенциально Cross-agent knowledge sharing possible, but permissions must be designed.

Главная зона силы Cognee - graph-backed semantic/world memory. Для чистой personal preference memory он может быть тяжелее, чем более compact tools. Для agent-as-OS он не заменяет Letta-style runtime.

Storage and deployment

Cognee поддерживает lightweight local defaults and production backends. В README explicitly mentioned local development with SQLite, LanceDB and KuzuDB, а production options can include Postgres/pgvector, Neo4j/Neptune-like graph backends, Redis-like sessions and vector databases such as Qdrant, ChromaDB, Weaviate and Milvus via adapters.

Отдельно важна Postgres story. Cognee описывает возможность demo mode, где relational metadata, pgvector and graph state живут в одном Postgres-backed memory layer. Но documentation предупреждает, что production-ready Postgres-as-graph feature is licensed product, while demo mode should not be treated as full production graph backend.

Практический вывод:

text
Cognee можно начать локально,
но production architecture всё равно требует явного выбора storage backends.

Нельзя поставить Cognee и забыть про operational design. Нужно решить:

  • где будет graph store;
  • где будет vector store;
  • где будет relational metadata;
  • как работает cache/session layer;
  • как делать backups;
  • как делать deletion propagation;
  • как разграничивать datasets and users.

Integrations

Cognee важен не только как Python package. В README and docs видны несколько integration surfaces:

  • Python API;
  • CLI;
  • Docker and Docker Compose;
  • MCP server;
  • Claude Code plugin;
  • OpenClaw plugin;
  • Rust client;
  • TypeScript client;
  • Cognee Cloud or self-hosted server.

Для курса особенно важен MCP and coding-agent angle. Cognee plugin for Claude Code captures prompts, tool traces and assistant responses into session memory, injects relevant context on prompts and syncs session memory into permanent graph at session end.

Это пример полного memory loop:

text
agent work -> session memory -> context injection -> final sync -> permanent graph

В такой схеме memory не является отдельной кнопкой "save". Она встроена в lifecycle agent host.

Где Cognee особенно полезен

Cognee хорошо подходит, когда у вас есть много источников and relationships:

  • research agents;
  • enterprise knowledge agents;
  • support agents with customer history;
  • SQL copilots and expert-pattern reuse;
  • project memory with documents, decisions and timelines;
  • GraphRAG-style assistants;
  • multi-agent systems with shared domain knowledge.

Например, support agent может использовать Cognee для связи:

text
customer -> past tickets -> known issue -> product area -> fix -> outcome

Research agent может использовать graph memory для связи:

text
paper -> claim -> evidence -> author -> dataset -> contradiction

В обоих случаях value возникает не только из semantic retrieval, но и из structure.

Где Cognee может быть лишним

Cognee может быть overkill, если:

  • нужно хранить 20 user preferences;
  • задача решается simple profile table;
  • нет устойчивых entities and relationships;
  • не нужен graph traversal;
  • команда не готова поддерживать graph/vector/relational stack;
  • нет observability для retrieval and memory write;
  • продукту важнее low-latency voice loop than rich graph context.

Пример:

text
User prefers short answers.
User writes in Russian.
User uses Poetry.

Для такой памяти не нужен knowledge graph. Достаточно compact semantic profile, scoped records and clear update policy.

Риски

Риск 1: graph выглядит более точным, чем он есть

Knowledge graph дает ощущение структуры. Но relationships могут быть extracted from ambiguous text. Если source слабый или stale, graph traversal может уверенно вернуть неправильную цепочку.

Нужны:

  • provenance;
  • confidence;
  • freshness;
  • human review for critical facts;
  • conflict detection.

Риск 2: operational complexity

Cognee объединяет несколько storage families. Это мощно, но увеличивает поверхность эксплуатации:

  • migrations;
  • backups;
  • index rebuilds;
  • graph consistency;
  • vector index deletion;
  • session cache expiration;
  • queue/background jobs.

Для production нужно проверять не только API, но и runbook.

Риск 3: deletion propagation

Если пользователь удаляет dataset, deletion должна пройти через:

  • relational records;
  • vector embeddings;
  • graph nodes/edges;
  • session cache;
  • summaries or derived indexes;
  • logs and audit trail.

Любая derived memory structure может стать местом, где удаленная информация продолжает жить.

Риск 4: permissions and tenant isolation

Graph memory особенно чувствительна к leakage. Если graph traversal переходит через edge между tenants or teams, агент может получить context, который semantic search не должен был видеть.

Permission-aware retrieval должен применяться до context assembly.

Риск 5: benchmark overconfidence

Cognee README mentions benchmark results and frames them as directional. Это правильная осторожность. Для продукта benchmark не заменяет собственные сценарии:

  • your documents;
  • your user roles;
  • your latency budget;
  • your update/delete flows;
  • your failures.

Как тестировать внедрение

Для Cognee-like graph memory нужно тестировать не только answer quality.

Проверка Что измерять
Ingestion correctness Правильно ли documents chunked and linked to sources.
Entity extraction Не создаются ли дубли сущностей.
Graph retrieval Возвращает ли graph relation paths, которые реально подтверждены sources.
Hybrid retrieval Улучшает ли vector + graph качество по сравнению с pure vector.
Session learning Не попадает ли raw session noise в permanent memory.
Improve pipeline Улучшает ли enrichment future recall or adds drift.
Deletion Удаляется ли data from all stores and derived structures.
Permissions Не переходит ли retrieval через чужие datasets.
Latency Сколько добавляют graph/vector retrieval and background jobs.
Observability Видно ли, why memory was retrieved and used.

Хороший pilot должен иметь маленький golden dataset: documents, expected entities, expected relationships, allowed users and prohibited cross-scope queries.

Мини-кейс: Cognee для research memory

Представим research agent, который собирает обзор по agent memory frameworks.

Источники:

  • GitHub READMEs;
  • documentation pages;
  • benchmark reports;
  • issues about self-hosting;
  • pricing pages;
  • papers.

Обычный RAG может найти похожие chunks по запросу:

text
"Which tools support graph memory?"

Но research agent часто спрашивает иначе:

text
"Какие утверждения о temporal reasoning подтверждены документацией,
а какие только marketing claims?"

Для этого нужна структура:

text
Tool -> claims -> source -> evidence -> confidence -> contradiction

Cognee-like graph memory подходит, потому что может связать claims with sources and entities. Но агент все равно должен сохранять uncertainty: graph edge is not proof by itself.

Мини-кейс: Cognee для customer support memory

Support agent работает с customer history.

Данные:

  • tickets;
  • chat transcripts;
  • product docs;
  • billing events;
  • previous fixes;
  • account metadata.

Cognee может помочь построить graph:

text
Customer -> reported -> Ticket
Ticket -> mentions -> Product Area
Ticket -> caused_by -> Incident
Incident -> resolved_by -> Fix
Fix -> changed -> Account Setting

Тогда agent can recall not just similar tickets, but the path from customer issue to prior resolution.

Но enterprise version of this scenario requires:

  • tenant filters;
  • CRM as source of truth;
  • audit logs;
  • stale ticket handling;
  • access control;
  • user-visible source attribution.

Cognee может быть memory platform, но product governance остается вашей ответственностью.

Сравнение с соседними инструментами

Инструмент Главное отличие от Cognee
Mem0 Обычно проще как personalization memory API; меньше graph-centric complexity.
Zep/Graphiti Сильнее сфокусирован на temporal knowledge graph and fact validity over time.
Letta Agent runtime and self-editing memory; Cognee скорее memory platform/context layer.
Supermemory Больше context API/app framing; Cognee сильнее в graph knowledge memory.
Semantica Тоже graph-native, но его нужно отдельно оценивать по accountable context model.
MemSearch Сфокусирован на coding-agent memory with Markdown + Milvus.

Cognee стоит рассматривать, когда вам нужен graph-backed memory platform, а не просто long-term user profile or local history search.

Источники

  • Cognee GitHub repository: https://github.com/topoteretes/cognee
  • Cognee documentation: https://docs.cognee.ai/
  • Cognee architecture docs: https://docs.cognee.ai/core-concepts/architecture
  • Cognee data flows docs: https://docs.cognee.ai/core-concepts/data-flows
  • Cognee release v1.4.2: https://github.com/topoteretes/cognee/releases/tag/v1.4.2

Краткое резюме

Cognee - это graph-first memory platform for agents. Его архитектурная идея: соединить relational provenance, vector semantic search and graph relationships в одном memory layer.

Он особенно полезен для agents, которым нужны documents, entities, relationships, provenance and hybrid retrieval. Но такая сила приходит вместе с operational complexity: graph quality, permissions, deletion, storage backends and observability нужно проектировать явно.

Вопросы для самопроверки

  1. Почему Cognee нельзя считать просто vector database wrapper?
  2. Какие роли играют relational, vector and graph stores в Cognee-like architecture?
  3. Чем session learning отличается от ingestion into permanent memory?
  4. Какие риски возникают при graph memory in enterprise settings?
  5. Когда Cognee будет overkill по сравнению с simple profile memory?

Что дальше

В следующей лекции мы разберем Supermemory: memory/context engine and app/API, который представляет другой подход к agent memory - более API-oriented and personal/cross-app context layer.

Обновлено 08.08.2026