Agentmemory — постоянная память для AI-кодинг-агентов на базе iii-engine

· 2 мин чтения
memory ai-agents mcp context-management self-hosted
📂 Исходный код на GitHub

Постоянная память для AI-кодинг-агентов: автоматический захват через хуки, гибридный BM25+Vector+Graph поиск, 54 MCP-инструмента, 17 нативных скиллов, реалтайм-вьювер, 95.2% R@5 на LongMemEval-S. Работает с Claude Code, Cursor, Codex, Gemini CLI, OpenCode и 20+ агентами. TypeScript, Apache-2.0.

Agentmemory — постоянная память для AI-кодинг-агентов на базе iii-engine

Каждая сессия с AI-агентом начинается заново: вы объясняете архитектуру, повторяете предпочтения по стилю кода, напоминаете, какие тесты уже покрывают аутентификацию. Встроенные механизмы вроде CLAUDE.md или .cursorrules упираются в лимит в 200 строк и устаревают между сессиями. Agentmemory решает эту проблему: он автоматически захватывает контекст рабочей сессии, сжимает его в структурированную память и подставляет агенту нужные фрагменты при старте следующей.

Проект построен на iii-engine — вычислительном ядре для работы с контекстом, — и распространяется под лицензией Apache-2.0. На GitHub у него более 28 тысяч звёзд, он поддерживает 20+ агентов через MCP и хуки и работает без внешних баз данных: всё хранится в SQLite.

Установка и запуск

Одна команда:

npx -y @agentmemory/agentmemory@latest

Первый запуск — интерактивный: вы выбираете агентов (Claude Code, Cursor, Codex, Gemini CLI, OpenCode и другие), LLM-провайдера или ключевой режим, после чего запускается memory-сервер и iii-engine. Сервер поднимает четыре порта: 3111 для REST/MCP, 3112 для iii-потоков, 3113 для вьювера и 49134 для WebSocket воркера.

Для проверки — запускаем демо:

npx -y @agentmemory/agentmemory@latest demo

Оно создаёт три тестовые сессии (JWT-аутентификация, исправление N+1 запроса, rate limiting) и прогоняет поиск по ним. Откройте http://localhost:3113 — там видно, как память создаётся в реальном времени.

Как работает автоматический захват

Agentmemory не требует ручных вызовов memory.save(). Он подключается к агенту через 12 хуков: SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop и другие. Каждый ход разговора, каждый вызов инструмента и его результат — всё автоматически индексируется.

Интеграция с агентами решается двумя путями:

  • Плагин — нативная установка через маркетплейс (Claude Code, Codex, Cursor). Плагин регистрирует хуки, 17 скиллов и MCP-сервер одним шагом.
  • MCP-сервер — стандартный блок конфигурации, который подходит для Cursor, Claude Desktop, Cline, Roo Code, Gemini CLI, OpenClaw и других клиентов:
{
  "mcpServers": {
    "agentmemory": {
      "command": "npx",
      "args": ["-y", "@agentmemory/mcp"],
      "env": {
        "AGENTMEMORY_URL": "${AGENTMEMORY_URL}",
        "AGENTMEMORY_SECRET": "${AGENTMEMORY_SECRET}"
      }
    }
  }
}

Агенты: Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode, Cline, Goose, Kilo Code, Aider, Claude Desktop, Devin, Roo Code, Warp, OpenClaw, Hermes, pi, Qwen Code, Antigravity, Kiro, Droid, DeepSeek Harness, Continue.dev, Zed и другие. Все разделяют один и тот же memory-сервер — контекст общий между всеми.

Гибридный поиск: BM25 + Vector + Graph

Agentmemory использует тройной механизм поиска с Reciprocal Rank Fusion (RRF):

  • BM25 — ключевой поиск, работает без эмбеддингов и в ключевом режиме (keyless).
  • Vector — семантический поиск через эмбеддинги. Для локального режима используется модель all-MiniLM-L6-v2 — бесплатная, без API-ключа, первый запрос загружает модель, потом инференс локальный.
  • Graph — структурные связи между наблюдениями, которые строятся автоматически.

В ключевом режиме (без LLM-провайдера) memory_recall использует BM25, а memory_smart_search может объединять структурные граф-совпадения при наличии графовых данных. Для бесплатного семантического поиска достаточно поставить EMBEDDING_PROVIDER=local.

Бенчмарки

Числа из README — конкретные и воспроизводимые:

Метрика Значение Детали
Retrieval R@5 95.2% LongMemEval-S (ICLR 2025, 500 вопросов)
Retrieval R@10 98.6% LongMemEval-S
MRR 88.2% LongMemEval-S
Top-5 hit rate 15/15 coding-agent-life-v1 (внутренний корпус)
Экономия токенов ~170K/год (~$10/год) Против 19.5M+ при ручном копировании
Локальные эмбеддинги $0/год Без внешних API

Для сравнения: mem0 показывает 68.5% R@5 на LoCoMo, Letta/MemGPT — 83.2%. Гибридный поиск agentmemory практически не пропускает релевантные сессии.

Сравнение с конкурентами

Критерий agentmemory mem0 Letta Khoj Built-in (CLAUDE.md)
Автозахват 12 хуков Ручные вызовы Сам агент Ручной Ручное редактирование
Поиск BM25+Vector+Graph Vector+Graph Vector Semantic Загрузка всего контекста
Multi-agent MCP+REST+лизы API без координации Только внутри Letta Нет Файлы на агента
Lock-in Нет (любой MCP) Нет Высокий Standalone Per-agent формат
Зависимости SQLite + iii-engine Qdrant/pgvector Postgres+vector DB Набор сервисов Нет

Реалтайм-вьювер и сессии

На порту 3113 работает визуальный просмотрщик: вы видите, как создаются наблюдения, какие связи строятся между сессиями, как работает консолидация. Есть Replay-режим — каждая записанная сессия воспроизводима пошагово с play/pause и управлением скоростью.

Для импорта старых транскриптов Claude Code:

npx -y @agentmemory/agentmemory@latest import-jsonl

Это загрузит JSONL-файлы из ~/.claude/projects/, проиндексирует для поиска и извлечёт уроки.

17 нативных скиллов

Agentmemory поставляется с 17 скиллами в формате SKILL.md: 9 действий (remember, recall, recap, handoff, forget, lesson, commit-context, commit-history, session-history) и 8 справочных (memory-discipline, agentmemory-mcp-tools, agentmemory-rest-api, agentmemory-config, agentmemory-agents, agentmemory-hooks, agentmemory-architecture, write-agentmemory-skill). Устанавливаются одной командой:

npx skills add rohitg00/agentmemory -y

Это автоматически определяет агента и устанавливает скиллы в нужную директорию. Команда совместима с 50+ агентами: Claude Code, Cursor, Cline, Continue, Warp, Codex, OpenCode, Goose, Roo, Trae, Windsurf и другими.

Жизненный цикл памяти

Память проходит через four-tier консолидацию: сырые наблюдения сжимаются в выводы, устаревшие факты теряют вес (decay), автоматическое удаление шума. Всё это работает без ручного вмешательства.

Источник: https://github.com/rohitg00/agentmemory