English | 中文 | 日本語 | Español | Русский | 한국어 | Português | Deutsch | Français
Инфраструктура памяти для ИИ-агентов — которая громко падает при сбоях, по замыслу.
LongMemEval R@5 100% · 34 инструмента MCP · Гибридный поиск менее 200мс · CI-ограничения на громкие сбои (Fail-Loud) · LLM не требуется
Открытый MCP-сервер, предоставляющий любой LLM долгосрочную память через гибрид графа знаний и векторного поиска. Сохраняйте сущности, наблюдения и связи — затем извлекайте их семантически между сессиями. Работает с любым MCP-клиентом: Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Gemini CLI.
В отличие от плоской истории чатов или простого RAG, Dragon Brain понимает связи между воспоминаниями — не только похожесть. Автономный агент («Библиотекарь») периодически кластеризует и синтезирует воспоминания в концепции более высокого порядка.
И он скажет вам, если не сможет вспомнить — вместо того чтобы притворяться, что воспоминания никогда не было.
Требования: Docker и Docker Compose. Подробная настройка: См. docs/SETUP.md для платформо-специфичных заметок и устранения неполадок.
docker compose up -dЗапускает 4 контейнера:
- FalkorDB (граф знаний) — порт 6379
- Qdrant (векторный поиск) — порт 6333
- Embedding API (BGE-M3, CPU по умолчанию) — порт 8001
- Dashboard (Streamlit) — порт 8501
Пользователи GPU:
docker compose --profile gpu up -dдля ускорения NVIDIA CUDA.
Проверьте здоровье сервисов:
docker ps --filter "name=claude-memory"pip install dragon-brainПримечание: Dragon Brain требует FalkorDB и Qdrant, работающие как Docker-сервисы. pip-пакет устанавливает MCP-сервер — сначала запустите
docker compose up -dдля инфраструктуры. Модель эмбеддингов (~1ГБ) обслуживается через Docker, без локальной загрузки.
Claude Code (рекомендуется):
claude mcp add dragon-brain -- python -m claude_memory.serverClaude Desktop / Другие MCP-клиенты
Добавьте в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"dragon-brain": {
"command": "python",
"args": ["-m", "claude_memory.server"],
"env": {
"FALKORDB_HOST": "localhost",
"FALKORDB_PORT": "6379",
"QDRANT_HOST": "localhost",
"QDRANT_PORT": "6333",
"EMBEDDING_API_URL": "http://localhost:8001"
}
}
}
}Полный шаблон см. в mcp_config.example.json.
Вы: "Запомни, что я создаю Atlas на Rust и предпочитаю функциональные паттерны."
ИИ: [создаёт сущность "Atlas", добавляет наблюдения о Rust и функциональных паттернах]
Вы (следующая сессия): "Что ты знаешь о моих проектах?"
ИИ: "Вы создаёте Atlas на Rust с функциональным подходом..." [извлечено из графа]| Функция | История чатов | Простой RAG | Dragon Brain |
|---|---|---|---|
| Сохраняется между сессиями | Нет | Зависит | Да |
| Понимает связи | Нет | Нет | Да (граф) |
| Семантический поиск | Нет | Да | Да (гибрид) |
| Запросы путешествия во времени | Нет | Нет | Да |
| Авто-кластеризация | Нет | Нет | Да (Библиотекарь) |
| Обнаружение связей | Нет | Нет | Да (Семантический Радар) |
| Работает с любым MCP-клиентом | Н/Д | Зависит | Да |
| Инфраструктура Fail-Loud | Нет | Нет | Да (Контракт SearchError, проверен в CI) |
Dragon Brain набирает 100% recall@5 на LongMemEval (ICLR 2025), отраслевом стандарте для систем памяти ИИ — 500 вопросов, 6 категорий, без LLM.
| Система | Результат | Метрика | Требуется LLM | Локально |
|---|---|---|---|---|
| Dragon Brain v1.2.0 | 100% | R@5 | Нет | Да |
| MemPalace (Haiku rerank) | 100% | R@5 | Да | Да |
| MemPalace (raw) | 96.6% | R@5 | Нет | Да |
| Mem0 | ~85% | R@5 | Да | Нет |
Полная методология и данные: RESULTS.md
| Возможность | Как работает |
|---|---|
| Хранение воспоминаний | Создание сущностей (люди, проекты, концепции) с типизированными наблюдениями |
| Семантический поиск | Поиск по смыслу, а не только по ключевым словам — «то, что про распределённые системы» работает |
| Обход графа | Следование по связям — «что связано с проектом X?» |
| Путешествие во времени | Запросы к графу памяти на любой момент — «что я знал во вторник?» |
| Авто-кластеризация | Фоновый агент обнаруживает паттерны и создаёт сводки концепций |
| Обнаружение связей | Семантический Радар находит отсутствующие связи, сравнивая векторное сходство с расстоянием в графе |
| Отслеживание сессий | Запоминание контекста разговора и прорывов |
Большинство систем памяти с открытым исходным кодом полируют только «счастливый путь» (happy path). Вот баг, с которым Dragon Brain выходил в продакшен в течение двух месяцев — и инфраструктура, которая теперь не даст этому повториться.
До апреля 2026 года пайплайн search() выглядел примерно так:
try:
# ... 6-канальный пайплайн поиска ...
except Exception:
return []Инструмент MCP search_memory затем преобразовывал [] в строку "No results found.". Claude получал эту строку и воспринимал её как авторитетный факт — "у пользователя действительно нет воспоминаний на эту тему" — хотя на самом деле мог упасть сервис эмбеддингов, пропасть связь с FalkorDB или отвалиться по таймауту Qdrant.
Каждый деградировавший запрос заставлял ИИ строить выводы без контекста, даже не подозревая об этом. Это была уверенная ложь, неотличимая от истинной пустоты, вшитая в самую вызываемую функцию системы.
4-этапный состязательный аудит выявил 83 нарушения контрактов в 37 исходных файлах. 10 пакетов исправлений вышли с апреля по май 2026 года:
- Сбой инфраструктуры теперь вызывает
SearchError— пустой список означает «результатов не найдено», и только это. - MCP
search_memoryвозвращает структурированную ошибку{"error": "MEMORY_LAYER_DEGRADED", "retry_safe": true}— чётко сообщая ИИ о деградации, и больше никакой уверенной лжи. - Межхранилищная компенсация при создании/обновлении/удалении сущностей — ошибка записи в Qdrant откатывает изменения в FalkorDB, предотвращая появление потерянных узлов (split-brain).
- Запись рёбер (связей) использует
MERGE, а неCREATE— повторные вызовыcreate_relationshipне дублируют рёбра. - Ошибки записи в FTS пробрасываются вызывающему — мы исключили тихое устаревание индексов.
- Менеджер блокировок бросает
TimeoutErrorпри конфликтах — он больше никогда тихо не продолжает работу без блокировки. - Инструменты MCP теперь валидируют семантику — некорректные UUID возвращают
{"error": "ENTITY_NOT_FOUND"}, а не молча пустой результат.
tox -e contracts— CI зафиксировал базовый предел в 13 нарушений (было 64). Любое новое нарушение прервёт сборку до слияния. Ежеквартальные ревью будут снижать этот предел до нуля.- Поведенческие интеграционные тесты —
testcontainers-pythonподнимает реальныеfalkordb/falkordb:v4.14.11иqdrant/qdrant:v1.16.3, а затем выполняетcontainer.kill()прямо в процессе операции, чтобы гарантировать соблюдение контракта громких сбоев (fail-loud) на всех уровнях. - Нативный асинхронный репозиторий —
AsyncMemoryRepositoryизолирует синхронные драйверы БД в пулах потоков в ~75 местах вызова. - Документирование границ доверия — каждая межпроцессная граница имеет явный контракт, описанный в docs/ARCHITECTURE.md.
Если ваш слой памяти может лгать о своих сбоях, все последующие логические выводы ИИ будут искажены. ИИ-агенты доверяют своим инструментам. Инструменты, уверенно фабрикующие пустые результаты, отравляют целые цепочки рассуждений.
Насколько нам известно, Dragon Brain — первая open-source система памяти, где принцип громких сбоев (fail-loud) является CI-проверяемым контрактом. Если подобное когда-либо повторится, код просто не пройдёт сборку.
- 1 337 тестов в 106 тестовых файлах, 0 упавших, 0 пропущенных
- Мутационное тестирование — 2 270 мутантов, из которых убито 1 184 в 27 файлах (3 злобных / 1 грустный / 1 счастливый тест на каждую функцию)
- Property-based тесты — 38 свойств Hypothesis
- Фаззинг-тестирование — 30 000+ входных данных, 0 падений
- Статический анализ — mypy strict mode (0 ошибок), ruff (0 ошибок)
- Аудит безопасности — Проверка на Cypher-инъекции, поиск утёкших учётных данных
- Поиск мёртвого кода — Vulture (0 находок)
- Dragon Brain Gauntlet — 20 раундов автоматизированного аудита качества, A− (95/100)
Полные результаты Gauntlet: docs/GAUNTLET_RESULTS.md · Границы доверия: docs/ARCHITECTURE.md · Интеграционные тесты: tests/integration/test_db_kill_scenarios.py
- Долгосрочные проекты — Накапливайте контекст неделями/месяцами. Dragon Brain запоминает архитектурные решения, прорывы и аргументацию.
- Исследования — Создавайте постоянный граф знаний из статей, концепций и связей.
- Мультиагентные системы — Общий слой памяти для команд агентов. Открытия одного агента мгновенно доступны другим.
- Управление личными знаниями — Ваш ИИ учится вашим предпочтениям, стилю работы и экспертизе.
| Проблема | Решение |
|---|---|
| Инструменты MCP не отображаются | Ошибки MCP бесшумны. Проверьте docker ps --filter "name=claude-memory" — все 4 контейнера должны быть здоровы. |
search_memory возвращает пустоту |
Убедитесь, что сервис эмбеддингов работает на порту 8001. Проверьте curl http://localhost:8001/health. |
| Путаница с именем графа | Граф FalkorDB называется claude_memory (не dragon_brain). Используйте это имя для прямых Cypher-запросов. |
Подробнее: docs/GOTCHAS.md · docs/RUNBOOK.md