Skip to main content
Glama

Движок самобучающейся памяти для программирующих агентов

Движок самобучающейся памяти на основе MCP (Model Context Protocol), обеспечивающий программирующим агентам способность к обучению по замкнутому циклу из четырёх уровней: «восприятие — рефлексия — консолидация — применение». Позволяет агенту учиться на ошибках и становиться сильнее с каждым использованием.

Обзор архитектуры

┌──────────────────────────────────────────────────────┐
│                    编程智能体                          │
│  (Claude Code / Cursor / 任何支持 MCP 的智能体)       │
└──────────┬───────────────────────┬────────────────────┘
           │ MCP Protocol          │
    ┌──────▼──────┐         ┌──────▼──────┐
    │  应用层      │         │  感知层      │
    │  检索+注入   │         │  错误捕获    │
    └──────┬──────┘         └──────┬──────┘
           │                       │
    ┌──────▼──────┐         ┌──────▼──────┐
    │  沉淀层      │         │  反思层      │
    │  技能+记忆   │◄────────│  根因分析    │
    └──────┬──────┘         └─────────────┘
           │
    ┌──────▼──────┐
    │  存储层      │
    │  SQLite+FTS5 │
    └─────────────┘

Related MCP server: Self-Learning MCP

Замкнутый цикл из четырёх уровней

Уровень

Обязанности

Инструменты MCP

Уровень восприятия Observation

Захват ошибок выполнения инструментов, провалов тестов, исправлений пользователя, сигналов из диалога

record_observation, capture_conversation_signals, get_pending_observations

Уровень рефлексии Reflection

Анализ первопричин, извлечение применимого опыта

get_reflection_prompt, reflect_and_save, batch_get_reflection_prompts

Уровень консолидации Consolidation

Выделение навыков, генерация SKILL.md, ведение памяти

create_skill, get_skill_prompt, list_skills, get_skill, check_consolidation

Уровень применения Application

Поиск релевантного опыта, внедрение в контекст задачи

get_context, search_memory, search_skill

Статистика

Просмотр состояния движка

get_stats

Установка

# 进入项目目录(替换为你本机的实际路径)
cd memory-engine

# 安装依赖(绕过代理)
pip install --no-proxy -e .

# 或手动安装
pip install --no-proxy mcp[cli] jieba

Настройка MCP-сервера

ZCode / Claude Code

Добавьте в файл конфигурации MCP:

{
  "mcpServers": {
    "memory-engine": {
      "command": "python",
      "args": ["-m", "memory_engine.server"],
      "cwd": "<项目根目录的绝对路径>"
    }
  }
}

Замените <абсолютный путь к корню проекта> на фактический путь к клонированному/размещённому проекту на вашей машине (то есть к каталогу, содержащему pyproject.toml), например, в Windows — вида D:/tools/memory-engine, в macOS/Linux — вида /home/user/tools/memory-engine.

Cursor / VS Code

Добавьте ту же конфигурацию в .cursor/mcp.json или в настройки MCP в VS Code.

Автономный запуск (для отладки)

cd memory-engine
python -m memory_engine.server

Основной рабочий процесс

0. Захват сигналов из диалога (усиление восприятия)

В процессе vibe coding оператор часто оставляет в диалоге явные сигналы — акцентирующие указания вроде «обратите внимание», «запомните», а также упрёки, вызванные повторяющимися ошибками агента («опять…», «сколько раз я говорил…»). Эти высказывания — самый ценный учебный материал, их следует захватывать и включать в память:

capture_conversation_signals(
  conversation_text="用户: 请注意,bat文件必须用ANSI编码
用户: 怎么又是编码问题,我说过多少次了",
  auto_record=true
)

Детектор распознаёт четыре типа сигналов и сортирует их по приоритету:

Сигнал

Примеры распознавания

Значение

complaint

«опять», «снова не так», «сколько раз я говорил»

Упрёк из-за повторяющихся ошибок: предыдущий урок не был усвоен (наивысший приоритет)

emphasis

«обратите внимание», «запомните», «обязательно», «ни в коем случае»

Правила, явно подчёркнутые пользователем

preference

«впредь всегда используй», «мне нравится», «по умолчанию»

Предпочтения пользователя относительно способа работы

frustration

«бесит», «слишком медленно», «трата времени»

Недовольство, указывающее на проблемы с эффективностью/опытом

Результаты распознавания автоматически записываются как наблюдения типа conversation_signal; при рефлексии используется специально адаптированный промпт (вывод о прошлых ошибках + формулировка правил в повелительном наклонении), дальнейший процесс идентичен рефлексии над ошибками.

1. Запись ошибки (восприятие)

При сбое выполнения инструмента агент вызывает:

record_observation(
  obs_type="tool_error",
  tool_name="Bash",
  error_message="bat文件执行报错:编码错误",
  context="在Windows上创建的bat文件包含中文注释",
  tags="encoding,windows,bat"
)

2. Рефлексивный анализ (рефлексия)

Получение промпта для анализа:

get_reflection_prompt(obs_id="abc123")

Агент анализирует первопричину на основе возвращённого промпта, затем сохраняет результат:

reflect_and_save(
  obs_id="abc123",
  root_cause="Windows的cmd.exe默认使用系统ANSI编码,UTF-8编码的bat文件会导致中文注释被解析错误",
  category="encoding",
  lesson="在Windows上创建bat文件时,文件必须使用ANSI/GBK编码,而非UTF-8",
  solution="将bat文件保存为ANSI编码,或使用chcp 65001切换代码页",
  tags="encoding,windows,bat,cmd",
  generalizable=true
)

3. Выделение навыка (консолидация)

После накопления достаточного опыта проверьте, можно ли выделить навык:

check_consolidation()

Создание навыка:

create_skill(
  name="windows-bat-encoding",
  description="Windows bat文件中文编码问题的处理方法",
  trigger_conditions="创建或编辑.bat文件\n在Windows上运行脚本失败且涉及中文",
  steps="将文件保存为ANSI编码\n或使用chcp 65001 + UTF-8 BOM",
  caveats="chcp 65001仅在当前cmd会话有效\n某些旧版Windows不支持UTF-8 BOM",
  category="encoding"
)

4. Поиск и применение (применение)

Перед началом новой задачи получите релевантный опыт:

get_context(task_description="需要创建一个Windows批处理脚本来部署应用")

Возвращается контекст, содержащий релевантные навыки и кейсы, который напрямую внедряется в промпт.

Уровни памяти

Тип

Описание

Пример

Эпизодическая память Episodic

Конкретная «история», полная запись об одном исправлении

«2024-01-15 исправлена проблема с кодировкой bat в проекте XX»

Семантическая память Semantic

Абстрагированные правила и уроки

«В Windows bat-файлы следует использовать в кодировке ANSI»

Навык Skill

Стандартизированное руководство к выполнимым действиям

файл SKILL.md

Хранение данных

  • База данных SQLite (data/memories.db): структурированное хранение, поддержка полнотекстового поиска FTS5

  • Журнал JSONL (data/observations.jsonl): журнал добавления исходных записей наблюдений

  • Файлы Markdown (data/skills/): сгенерированные документы навыков, читаемые человеком, поддерживают контроль версий

Структура проекта

memory-engine/
├── 开发思路.md              # 设计文档
├── README.md                # 本文件
├── pyproject.toml           # Python 项目配置
├── requirements.txt         # 依赖列表
├── config/
│   └── settings.json        # 引擎配置
├── src/memory_engine/
│   ├── __init__.py
│   ├── server.py            # MCP 服务器入口(15个工具)
│   ├── models/
│   │   └── schemas.py       # 数据模型
│   ├── observation/
│   │   ├── collector.py     # 感知层:错误收集器
│   │   └── signal_detector.py # 感知层:对话信号检测器
│   ├── reflection/
│   │   └── analyzer.py      # 反思层:根因分析器
│   ├── consolidation/
│   │   ├── memory_store.py  # 存储层:SQLite + FTS5
│   │   └── skill_generator.py # 沉淀层:技能生成器
│   └── application/
│       └── retriever.py     # 应用层:记忆检索器
├── data/
│   ├── memories.db          # SQLite 数据库(运行后生成)
│   ├── observations.jsonl   # 观察日志(运行后生成)
│   └── skills/              # 技能 Markdown(运行后生成)
└── tests/
    └── test_engine.py       # 测试

Категории ошибок

encoding | build_error | runtime_error | test_failure | dependency | configuration | platform_specific | performance | security | best_practice | api_usage | preference | communication | other

Концепция дизайна

  • Без зависимости от внешней LLM: рефлексия и выделение навыков выполняются вызывающей стороной (самим агентом), движок предоставляет только каркас и хранилище

  • Нативный MCP: работает как стандартный MCP-сервер, любой агент, поддерживающий MCP, может подключиться напрямую

  • Совместная работа человека и машины: все воспоминания и навыки хранятся в читаемых человеком форматах (Markdown, JSON), что удобно для проверки и сопровождения

  • Постепенное обучение: от единичной ошибки → эпизодическая память → семантическая память → навык, уровень за уровнем абстракции и постепенного выделения

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Helps AI coding agents remember what they learn across sessions by storing and retrieving atomic learnings, enabling persistent memory for AI tools.
    11
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to learn from their work by recording tasks, extracting patterns, detecting mistakes, and proactively surfacing insights, all using the agent's own model through a cooperative intelligence pattern.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides coding agents with durable, cross-session lessons-learned memory, enforcing that success or failure verdicts can only come from human approval, human correction, or objective metrics—never from the agent itself.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Persistent memory for AI agents — verbatim conversations, searchable by meaning.

  • Shared debugging memory for AI coding agents

View all MCP Connectors

Latest Blog Posts

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/top777/memory-engine'

If you have feedback or need assistance with the MCP directory API, please join our Discord server