Когда в прошлом месяце я тестировал очередного LLM-агента на сложном workflow, то столкнулся с классической проблемой: агент отлично справлялся с единичным запросом, но напрочь забывал контекст между сессиями. Cognee — это попытка решить проблему persistence memory без привязки к конкретному провайдеру AI.
Почему графы, а не векторные базы
Большинство решений для памяти агентов сегодня завязаны на эмбеддинги и векторный поиск. Cognee предлагает альтернативу — knowledge graphs. На практике это даёт три преимущества:
-
Связи важнее похожести. В моём эксперименте с анализом цепочки API-вызовов граф корректно выявил причинно-следственные связи, которые RAG-система на векторах пропустила.
-
Объяснимость. Граф можно визуализировать и буквально «увидеть», как агент строит ассоциации. Для продакшн-систем это критично.
-
Гибкость метаданных. В том же векторе сложно хранить разнородные атрибуты вроде
{source: "slack", confidence: 0.8, timestamp: iso}. Графы жуют это без проблем.
Пример конфигурации ноды в YAML (из реального теста):
- type: "APIEndpoint"
properties:
name: "user_profile"
domain: "auth.service"
stability: "high"
relations:
- calls: ["permissions_check"]
- called_by: ["login_flow"]
Как работает Cognee под капотом
Платформа состоит из трёх ключевых компонентов:
- Адаптеры данных — превращают сырые логи, API-ответы или даже скриншоты интерфейсов в графовые структуры. В коде это выглядит как цепочка обработчиков:
class SlackMessageAdapter(GraphAdapter):
async def transform(self, raw_data):
# Парсинг threads, упоминаний, реакций
yield Node(type="Message", id=message_ts, props=...)
yield Edge(source=message_ts, target=user_id, type="MENTIONS")
-
Query engine — позволяет агентам делать запросы типа «найди все ноды, связанные с ошибкой X за последне 24 часа». Использует GraphQL-like синтаксис.
-
Интеграционный слой — хуки для популярных agent frameworks (LangChain, AutoGen). В моём тесте с AutoGen настройка заняла 15 минут.
Где это реально полезно
Из кейсов, которые я проверил лично:
-
Мониторинг сложных инцидентов. Агент, расследующий production-инцидент, сохраняет цепочку рассуждений между рестартами.
-
Onboarding новых разработчиков. Граф знаний по кодовой базе, где связи — это не просто «похожие файлы», а реальные вызовы и зависимости.
-
Долгоживущие персональные ассистенты. Мой эксперимент с CLI-ассистентом показал, что после недели использования он начал предугадывать контекст задач лучше коммерческих альтернатив.
Основной pain point на текущий момент — требования к инфраструктуре. Для графов среднего размера (1M+ нод) потребуется отдельный сервер с Neo4j или JanusGraph. Но для небольших агентов хватает и встроенного SQLite-режима.
Если вы уже работаете с AI агентами и устали каждый раз объяснять им контекст с нуля — стоит попробовать Cognee хотя бы в pet-project. Репозиторий активно развивается, и за последные две недели там появилась поддержка инкрементального обновления графов без полного перестроения.
Источник: https://github.com/topoteretes/cognee