agentmem
agentmem
Общая память для Claude Code, Cursor и Codex, которая знает, что все еще актуально. Сохраняйте сессии, находите устаревшие и противоречивые правила и не позволяйте вашему агенту повторять старые ошибки.
Проблема
Ваш ИИ-ассистент по программированию забывает все между сессиями. Он повторяет старые ошибки. Он не может отличить текущие правила от устаревших. Контекст сжимается, а восстановление — болезненный процесс.
Большинство инструментов памяти решают задачу хранения. agentmem решает задачу доверия.
Related MCP server: mcp-ai-brain
Начало работы (Claude Code / Cursor / Codex)
pip install quilmem[mcp]
agentmem init --tool claude --project myappВот и все. Перезапустите редактор. Теперь у вашего агента есть 13 инструментов памяти. Запустите memory_health для проверки.
Только Python?
pip install quilmemработает без дополнения MCP. См. Python API ниже.
60-секундная демонстрация
from agentmem import Memory
mem = Memory()
# Store typed memories
mem.add(type="bug", title="loudnorm undoes SFX levels",
content="Never apply loudnorm to final mix. It re-normalizes everything.",
status="validated")
mem.add(type="decision", title="Use per-line atempo",
content="Bake speed into per-line TTS. No global pass.",
status="active")
# Something you're not sure about yet
hypothesis = mem.add(type="decision", title="Maybe try 2-second gaps before CTA",
content="Hypothesis from last session. Needs testing.",
status="hypothesis")
# Search — validated and active memories rank highest.
# Deprecated and superseded memories are excluded automatically.
results = mem.search("audio mixing")
# Context-budgeted recall — fits the best memories into your token limit
context = mem.recall("building a narration track", max_tokens=2000)
# Lifecycle — promote what's proven, deprecate what's not
mem.promote(hypothesis.id) # hypothesis -> active -> validated
mem.deprecate(hypothesis.id, reason="Disproven by data")
# Supersede: replace an outdated memory with a newer one
replacement = mem.add(type="decision", title="Use 1-second gaps before CTA",
content="Confirmed by A/B test.", status="active")
mem.supersede(hypothesis.id, replacement.id) # old points to replacement
# Health check — is your memory system trustworthy?
from agentmem import health_check
report = health_check(mem._conn)
# Health: 85/100 | Conflicts: 0 | Stale: 2 | Validated: 14Что отличает этот инструмент
Другие инструменты памяти просто хранят данные. agentmem знает, что все еще актуально.
Mem0 | Letta | Mengram | agentmem | |
Хранение памяти | Да | Да | Да | Да |
Полнотекстовый поиск | Векторный | Агентный | Граф знаний | FTS5 |
Статусы жизненного цикла | Нет | Частично | Нет | гипотеза -> активна -> подтверждена -> устарела -> заменена |
Обнаружение конфликтов | Нет | Нет | Частично | Встроено |
Обнаружение устаревания | Нет | Нет | Нет | Встроено |
Оценка состояния | Нет | Нет | Нет | Встроено |
Отслеживание происхождения | Нет | Нет | Нет | source_path + source_hash |
Поиск с учетом доверия | Нет | Нет | Нет | Подтвержденные > активные > гипотезы |
Читаемые человеком файлы | Нет | Нет | Нет | Каноничный markdown |
Локально, без инфраструктуры | Нет | Опция self-host | Опция self-host | Да, всегда |
MCP сервер | Отдельно | Отдельно | Да | Встроено |
Управление истинностью
Основная идея: каждая запись в памяти имеет статус, который определяет уровень доверия к ней.
hypothesis New observation. Not yet confirmed. Lowest trust in recall.
|
active Default. Currently believed true. Normal trust.
|
validated Explicitly confirmed. Highest trust in recall.
deprecated Was true, no longer. Excluded from recall. Kept for history.
superseded Replaced by a newer memory. Points to replacement.Почему это важно: Без управления память агента накапливает устаревшие правила, противоречия и неактуальные решения. Он не знает, что настройка голоса из января была изменена в марте. Он извлекает оба варианта, и LLM выбирает случайно. Управляемая память решает эту проблему.
Обнаружение конфликтов
from agentmem import detect_conflicts
conflicts = detect_conflicts(mem._conn)
# Found 2 conflict(s):
# !! [decision] "Always apply loudnorm to voice"
# vs [decision] "NEVER apply loudnorm to voice"
# Contradiction on shared topic (voice, loudnorm, audio)agentmem находит противоречащие друг другу записи:
Обнаруживает пересечение тем (коэффициент Жаккара)
Отделяет дубликаты от противоречий
Сопоставление отрицаний на уровне предложений (а не просто поиск по ключевым словам)
Уровень серьезности:
critical(обе активны) противwarning(одна устарела)
Обнаружение устаревания
from agentmem import detect_stale
stale = detect_stale(mem._conn, stale_days=30)
# [decision] "Use atempo 0.90" — Source changed since import (hash mismatch)
# [bug] "Firewall blocks port" — Not updated in 45 daysНаходит устаревшие записи по:
Возрасту (не обновлялись N дней)
Отсутствию исходного файла (ссылочный файл был удален)
Изменению хеша (содержимое файла изменилось, но память не была обновлена)
Проверка состояния
from agentmem import health_check
report = health_check(mem._conn)
print(f"Health: {report.health_score}/100")
print(f"Conflicts: {len(report.conflicts)}")
print(f"Stale: {len(report.stale)}")Оценивает вашу систему памяти по шкале 0-100 на основе: конфликтов, процента устаревших данных, потерянных ссылок, веса устаревших записей и наличия подтвержденных записей.
Синхронизация с учетом происхождения
Синхронизируйте каноничные markdown-файлы в БД с отслеживанием источника:
# Each memory tracks where it came from
mem.add(type="bug", title="loudnorm lifts noise",
content="...",
source_path="/docs/errors.md",
source_section="Audio Bugs",
source_hash="a1b2c3d4e5f6")Механизм синхронизации:
Тот же хеш = пропустить (идемпотентность, повторный запуск ничего не меняет)
Другой хеш = обновить (исходный файл изменился)
Раздел удален = устарело (с указанием причины)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenancePersistent shared memory for AI coding agents. Stores facts as entity/key/value triples with hybrid semantic search, task checkpoints, and conflict resolution — shared across Claude Code, Codex CLI, and GitHub Copilot.162355AGPL 3.0
- AlicenseNot gradedqualityDmaintenancePersistent memory for AI coding agents with local-first, zero-cost, privacy-first SQLite/FTS5 storage and biological-inspired decay.152MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first memory for your AI agent. One SQLite file you own — offline, no API key. Plugs straight into Claude Code.Apache 2.0
- AlicenseAqualityAmaintenanceDurable, local-first memory for AI coding agents over MCP — zero-dependency (pure Python + SQLite/FTS5), curated and semantically de-duped. Works with Claude Code, Codex and any MCP host, and you own the data as plain rows.622AGPL 3.0
Related MCP Connectors
Hosted memory for AI agents that learns and forgets — one key across Claude, Cursor & ChatGPT.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Thezenmonster/agentmem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server