Cognee — открытая платформа долговременной памяти для AI-агентов
📂 Исходный код на GitHubОткрытая платформа памяти для AI-агентов: превращает документы, код и переписку в граф знаний с поиском по сущностям и связям. Поддерживает работу без LLM-ключа на локальных моделях, плагины для Claude Code и Codex, MCP-сервер, SDK для Python, TypeScript и Rust, а также развёртывание всего слоя памяти на одном Postgres.
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