EnglishРусский Map

MemPalace

title
MemPalace
type
toolbox
summary
Память агентов: сохранение диалогов дословно в ChromaDB со структурой из крыльев и комнат
tags
ai-agents, memory, python
language
Python
license
MIT
created
2026-04-08
updated
2026-04-25
lang
ru
translation_of
mempalace
source_updated
2026-04-25
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-high

Система памяти для ИИ, сохраняющая историю диалогов дословно в ChromaDB и организующая её с помощью метафоры чертогов разума - архитектурной иерархии вместо плоского поиска. Полностью локальная, ноль вызовов API, интеграция через MCP для Claude/ChatGPT/Cursor/Gemini. Заявлено 96.6% R@5 в бенчмарке LongMemEval (500 вопросов, режим без сжатия verbatim).

Архитектура

Иерархия дворца вдохновлена древнегреческим методом локусов:

  • Wings - люди или проекты (без ограничений)
  • Rooms - тематические области внутри крыльев (auth, billing, deploy)
  • Halls - коридоры по типам воспоминаний (факты, события, находки, предпочтения, советы)
  • Tunnels - перекрёстные ссылки между одинаковыми комнатами в разных крыльях
  • Closets - краткие сводки со ссылками на исходное содержимое
  • Drawers - дословные исходные файлы, никогда не подвергающиеся суммаризации

Структура служит метаданными для фильтрации в ChromaDB. Поиск без фильтрации показал 60.9% R@10 на 22 тысячах реальных воспоминаний; фильтрация по крылу и комнате подняла результат до 94.8% - прирост на 34 процентных пункта от, по сути, стандартной фильтрации по метаданным в обёртке метафоры дворца.

Философия дизайна: дословность вместо суммаризации

MemPalace хранит необработанный текст диалогов без извлечения сущностей или суммаризации. Это противоположность подходу hippo-memory (затухание, консолидация, семантическое сжатие). Ставка сделана на то, что дословное сохранение с качественным поиском превосходит сжатие с потерями. Расплачиваться приходится местом на диске - сохраняется всё, - однако ChromaDB справляется с большими коллекциями, а четырёхуровневый стек памяти контролирует, что именно попадает в контекст.

Четырёхуровневый стек

  • L0 (~50 токенов) - сведения об идентичности
  • L1 (~120 токенов) - ключевые факты о команде, проектах и предпочтениях
  • L2 (по требованию) - недавние сессии и контекст текущего проекта
  • L3 (по требованию) - глубокий семантический поиск по всем closets

Контекст пробуждения (L0 + L1) занимает ~170 токенов. Сравнение расходов: вставка всего = 19.5M токенов (нереально), сводки от LLM = 650K токенов ($507/год), пробуждение MemPalace = ~$0.70/год.

Темпоральный граф знаний

Триплеты сущность-связь на базе SQLite с временными метками valid_from и ended. У фактов есть интервалы актуальности, что позволяет выполнять как запросы к текущему состоянию, так и исторические ("что было актуально в январе?"). Это иной подход к memory-conflict-detection: вместо маркировки противоречий система отслеживает жизненный цикл фактов во времени, благодаря чему старые и новые состояния сосуществуют как хронологические записи.

Сжатие AAAK (экспериментальное)

Диалект сокращений с потерями, использующий коды сущностей и структурные маркеры для сжатия контекста. В настоящее время выдаёт 84.2% R@5 против 96.6% в режиме raw - главный результат бенчмарка получен именно на необработанном тексте, а не на сжатом. Раздел "Honest Status" в README открыто признаёт это и другие преувеличения (подсчёт токенов опирался на эвристики, а не на токенизаторы; фильтрация дворца - это стандартная фильтрация по метаданным в ChromaDB; обнаружение противоречий не было подключено к коду).

Использование

pip install mempalace
mempalace init ~/projects/myapp
mempalace mine ~/chats/ --mode convos    # ingest conversations
mempalace search "why did we switch to GraphQL"
mempalace wake-up                         # ~170 token context block

Интеграция через MCP:

claude mcp add mempalace -- python -m mempalace.mcp_server

Предоставляет 19 инструментов, включая поиск, пробуждение (wake-up), операции с графом знаний, ведение дневника и обнаружение агентов.

Режимы добычи данных

  • Projects - код, документация, заметки
  • Convos - экспорты из Claude, ChatGPT, Slack
  • General - автоматическая классификация на решения, вехи, проблемы, предпочтения и эмоциональный контекст

Сравнение с Hippo Memory и Stash

hippo-memory, Stash и MemPalace решают задачу межсессионной памяти агентов с разных философских позиций:

MemPalace Hippo Memory Stash
Хранение Дословно, сохранять всё Затухание по умолчанию, консолидация Эпизоды -> факты -> паттерны (пайплайн)
Поиск Структурная фильтрация + семантический поиск hybrid-search (BM25 + эмбеддинги) Запросы в рамках пространств имён + обход графа знаний
Устаревание Временные метки актуальности Затухание по периоду полураспада Снижение уверенности при противоречиях
Конфликты Темпоральное отслеживание фактов Явное обнаружение конфликтов Этап разрешения противоречий при консолидации
Рассуждения высшего порядка Нет (только дословный текст) Семантические паттерны Причинно-следственные связи, цели, сбои, гипотезы
Бэкенд ChromaDB + SQLite SQLite, опциональные эмбеддинги Postgres + pgvector
Язык Python TypeScript Go

Ни один из подходов нельзя назвать безоговорочно лучшим: MemPalace оптимизирован под полноту, Hippo - под релевантность, Stash - под синтез через пайплайн. Компромиссы разобраны на концептуальной странице agent-memory-decay.

Специализированные агенты

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

15.3K звёзд, лицензия MIT. Репозиторий: https://github.com/milla-jovovich/mempalace