memory-engine
Движок самобучающейся памяти для программирующих агентов
Движок самобучающейся памяти на основе MCP (Model Context Protocol), обеспечивающий программирующим агентам способность к обучению по замкнутому циклу из четырёх уровней: «восприятие — рефлексия — консолидация — применение». Позволяет агенту учиться на ошибках и становиться сильнее с каждым использованием.
Обзор архитектуры
┌──────────────────────────────────────────────────────┐
│ 编程智能体 │
│ (Claude Code / Cursor / 任何支持 MCP 的智能体) │
└──────────┬───────────────────────┬────────────────────┘
│ MCP Protocol │
┌──────▼──────┐ ┌──────▼──────┐
│ 应用层 │ │ 感知层 │
│ 检索+注入 │ │ 错误捕获 │
└──────┬──────┘ └──────┬──────┘
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ 沉淀层 │ │ 反思层 │
│ 技能+记忆 │◄────────│ 根因分析 │
└──────┬──────┘ └─────────────┘
│
┌──────▼──────┐
│ 存储层 │
│ SQLite+FTS5 │
└─────────────┘Related MCP server: Self-Learning MCP
Замкнутый цикл из четырёх уровней
Уровень | Обязанности | Инструменты MCP |
Уровень восприятия Observation | Захват ошибок выполнения инструментов, провалов тестов, исправлений пользователя, сигналов из диалога |
|
Уровень рефлексии Reflection | Анализ первопричин, извлечение применимого опыта |
|
Уровень консолидации Consolidation | Выделение навыков, генерация SKILL.md, ведение памяти |
|
Уровень применения Application | Поиск релевантного опыта, внедрение в контекст задачи |
|
Статистика | Просмотр состояния движка |
|
Установка
# 进入项目目录(替换为你本机的实际路径)
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
)Детектор распознаёт четыре типа сигналов и сортирует их по приоритету:
Сигнал | Примеры распознавания | Значение |
| «опять», «снова не так», «сколько раз я говорил» | Упрёк из-за повторяющихся ошибок: предыдущий урок не был усвоен (наивысший приоритет) |
| «обратите внимание», «запомните», «обязательно», «ни в коем случае» | Правила, явно подчёркнутые пользователем |
| «впредь всегда используй», «мне нравится», «по умолчанию» | Предпочтения пользователя относительно способа работы |
| «бесит», «слишком медленно», «трата времени» | Недовольство, указывающее на проблемы с эффективностью/опытом |
Результаты распознавания автоматически записываются как наблюдения типа 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), что удобно для проверки и сопровождения
Постепенное обучение: от единичной ошибки → эпизодическая память → семантическая память → навык, уровень за уровнем абстракции и постепенного выделения
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
- AlicenseNot gradedqualityCmaintenanceHelps AI coding agents remember what they learn across sessions by storing and retrieving atomic learnings, enabling persistent memory for AI tools.111MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to store, retrieve, and self-improve procedural memories (lessons learned) based on relevance to the current task, pruning unused memories to reduce context load and prevent repetition of past mistakes.MIT
- AlicenseNot gradedqualityCmaintenanceProvides 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
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
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/top777/memory-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server