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
- AlicenseAqualityCmaintenancePersistent 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.Last updated162355AGPL 3.0
- Alicense-qualityDmaintenancePersistent memory for AI coding agents with local-first, zero-cost, privacy-first SQLite/FTS5 storage and biological-inspired decay.Last updated172MIT
- Alicense-qualityAmaintenanceLocal-first memory for your AI agent. One SQLite file you own — offline, no API key. Plugs straight into Claude Code.Last updatedApache 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.Last updated622AGPL 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.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
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