Cognee — открытая платформа долговременной памяти для AI-агентов

· 2 мин чтения
memory knowledge-graph ai-agents rag self-hosted
📂 Исходный код на GitHub

Открытая платформа памяти для AI-агентов: превращает документы, код и переписку в граф знаний с поиском по сущностям и связям. Поддерживает работу без LLM-ключа на локальных моделях, плагины для Claude Code и Codex, MCP-сервер, SDK для Python, TypeScript и Rust, а также развёртывание всего слоя памяти на одном Postgres.

Cognee — открытая платформа долговременной памяти для AI-агентов

AI-агент без долговременной памяти начинает каждую сессию с чистого листа. Прошлые решения, найденные ошибки и правила проекта теряются, если их не сохранить отдельно. Cognee — открытая платформа памяти для агентов: она превращает документы, код и переписку в граф знаний, который агент может искать и повторно использовать. Хранилище разворачивается на вашей инфраструктуре, а не в облаке.

Проект написан на Python и распространяется по лицензии Apache 2.0. Главная особенность Cognee — работа без LLM-ключа. Для извлечения сущностей используется локальная модель GLiNER, для векторизации — локальная embedding-модель. Обе работают на CPU и загружаются при первом запуске. Локальный сценарий бесплатен.

Зачем агенту память

README называет три основных сценария:

  • Company Brain — общее хранилище для команды и агентов. Документация, задачи, переписка и код попадают в одну память. Каждое решение можно связать с обсуждением, из которого оно выросло, и с кодом, где оно реализовано.
  • Память между запусками агента — агент сохраняет контекст проекта, прошлые решения, исправления и выученные правила. Полезные уроки сессии превращаются в постоянное знание — им сможет воспользоваться следующий запуск.
  • Знание предметной области — структура памяти строится вокруг сущностей и связей, которые нужны приложению. Поддерживаются собственные модели данных и онтологии.

Четыре операции

Вся работа с памятью сводится к четырём операциям:

Операция Что делает
remember Сохраняет текст или код в постоянную память или в сессию, если передан идентификатор сессии
recall Возвращает контекст и ответы: маршрут выбирается автоматически или задаётся стратегией поиска
improve Обогащает память, применяет обратную связь и переносит знания сессии в граф
forget Удаляет отдельную запись или набор данных

Текст при загрузке превращается в сущности, связи между ними и фрагменты для поиска. Код становится графом символов и зависимостей. Отдельный механизм дистилляции отбирает подтверждённые уроки сессии и переносит их в постоянную память.

В момент запроса retrieval-слой выбирает подходящий контекст: графовый, векторный или кодовый. Приложение получает найденные фрагменты и само решает, как их использовать — для ответа или для продолжения задачи агента.

Быстрый старт без LLM

Требуется Python 3.10–3.14. Установка:

uv pip install "cognee[gliner]"

Дополнение gliner приносит локальную модель извлечения сущностей. Без LLM-ключа Cognee работает в режиме поиска: он возвращает исходные фрагменты текста, а не сгенерированные ответы.

import asyncio

import cognee


async def main():
    # Extract a knowledge graph and embed the text with local models.
    await cognee.remember(
        "Marie Curie was born in Warsaw and worked at the University of Paris.",
        dataset_name="local_quickstart",
    )

    # Retrieve the matching source text; no LLM generates an answer.
    results = await cognee.recall(
        "Where was Marie Curie born?",
        datasets=["local_quickstart"],
    )
    for result in results:
        print(result)


if __name__ == "__main__":
    asyncio.run(main())

Те же действия доступны из CLI:

cognee-cli remember "Marie Curie was born in Warsaw." -d local_quickstart
cognee-cli recall "Where was Marie Curie born?" -d local_quickstart

Загрузка текста, поиск и хранение сессий работают без LLM. Стадии обработки, которым нужна языковая модель, пропускаются автоматически. Если хочется посмотреть готовый граф без загрузки моделей, есть демо: команда cognee-cli demo открывает набор образцовых данных и запускает поиск по ключевым словам без API-ключа.

Подключение LLM

С ключом платформа переходит от поиска фрагментов к готовым ответам:

import os

os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"

По умолчанию используется OpenAI. Поддерживаются и другие провайдеры, включая локальные модели через Ollama. Шаблон переменных окружения лежит в репозитории: .env.template.

Интеграции с агентами

Память подключается к coding-агентам через плагины. Для Claude Code:

claude plugin marketplace add topoteretes/cognee-integrations
claude plugin install cognee-memory@cognee

Для Codex сначала включаются hooks — командой codex features enable hooks или в ~/.codex/config.toml, — затем добавляется плагин из того же маркетплейса. Есть плагин и для OpenClaw: пакет @cognee/cognee-openclaw.

Клиенты с поддержкой MCP — Cursor, Cline и другие — подключаются к Cognee MCP-серверу. Настройка описана в README сервера.

Для приложений есть несколько интерфейсов:

Интерфейс Где смотреть
Python API справочник
TypeScript SDK getting started
Rust topoteretes/cognee-rs
REST API справочник

Локальную установку можно посмотреть в браузере: cognee-cli -ui запускает UI. Понадобятся Node.js и npm, а для MCP-сервиса — Docker.

Развёртывание

Для локальной демонстрации достаточно Docker:

docker run --rm -it -p 8000:8000 \
  -e LLM_API_KEY="sk-..." \
  -e ENABLE_BACKEND_ACCESS_CONTROL=false \
  -v cognee_storage:/cognee-storage \
  cognee/cognee:main

Образ поставляется с GLiNER внутри, поэтому загрузка текста и поиск работают без LLM-ключа. Флаг ENABLE_BACKEND_ACCESS_CONTROL=false включает однопользовательский режим. Без него API по умолчанию работает в многопользовательском режиме, и каждый запрос к /api/v1 требует авторизации. Именованный том cognee_storage сохраняет память между перезапусками контейнера, а флаг --rm удаляет только данные внутри контейнера.

С версии 1.0 весь слой памяти можно держать на одном экземпляре Postgres: граф, векторы PGVector, сессии и метаданные живут в одной СУБД. Обычно графовая память требует четырёх сервисов: графовую базу, векторную базу, Redis для сессий и реляционную базу для метаданных. Postgres-вариант пока помечен как демонстрационный; версия для production доступна как отдельный платный продукт.

Бенчмарки и исследования

Методика BEAM измеряет разговорную память на синтетических длинных диалогах с оценкой через LLM-судью:

Контекст Оценка (0–1)
100K токенов 0.79
10M токенов 0.67

Авторы предупреждают: результаты получены на настройках, специфичных для бенчмарка. Перед сравнением с другими системами стоит прочитать полный отчёт — там описаны методология, модели, ограничения и способ воспроизведения.

Научная основа проекта изложена в статье Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning (Markovic et al., 2025).

Что нового

  • v1.6.1 (24 сентября 2026) — OAuth-коннекторы Google Drive и Gmail прямо в SDK, потоковая отдача больших графов через /visualize/json.
  • v1.6.0 (18 сентября 2026) — построение и поиск текстовой памяти на локальных моделях без облачного ключа; механизм восстановления сохраняет обработанные документы после сбоев конвейера.
  • dlt стал обязательной зависимостью. Если вы управляете зависимостями вручную, установите его отдельно.

Для перехода с других систем есть обменный формат COGX. Память из Mem0, Letta, Zep и Graphiti импортируется через гайд миграции. Адаптеры и дополнения от сообщества собраны в отдельном репозитории, а интеграции с агентными фреймворками — в репозитории интеграций.

Итоги

Cognee закрывает задачу долговременной памяти для агентов без облака и без платы за API. Локальные модели делают первый шаг простым: установка, две команды — и у агента есть память. С подключённым LLM платформа переходит от поиска фрагментов к готовым ответам. Для команд полезны Company Brain, общая память на одном Postgres и готовые плагины для Claude Code и Codex.

Источник: https://github.com/topoteretes/cognee