memkraft
AI Agent 零依赖持久记忆系统,双时态 Markdown 账本,LongMemEval 98%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 零依赖持久记忆系统,双时态 Markdown 账本,LongMemEval 98%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

MemKraft 架构概览
想象一下:你让 AI 助手帮你调试一个 bug,它花了 30 分钟才找到根因——而这个 bug 三个月前你就解决过。再想象另一个场景:你的 AI Agent 在第 100 次对话时完全"失忆",不知道你是谁、你的项目用什么技术栈。这就是 AI Agent 面临的核心困境——缺乏持久记忆。
MemKraft 正是为解决这一问题而生。它由韩国开发者 Seojun Kim(Simon Kim)于 2026 年 4 月创建,定位为**"AI Agent 的复合知识系统"**——一个零依赖、纯 Markdown 存储的持久记忆框架,让 AI 能够像人类一样积累经验、追踪事实、发现矛盾,甚至自我调优。
核心 Slogan 令人印象深刻:"Plain Markdown source-of-truth · zero deps · zero keys · zero LLM calls inside MemKraft." 这意味着 MemKraft 完全在本地运行,不调用任何外部 API,不依赖任何第三方库,数据完全归用户所有。
当前主流的 AI Agent 框架(如 LangChain、AutoGPT)大多依赖**上下文窗口(Context Window)**来传递历史信息。随着对话轮次增加,上下文窗口逐渐耗尽,Agent 就会"遗忘"之前的重要信息。Mem0、Letta 等商业方案虽然提供了记忆能力,但它们需要 API Key、云端存储,数据主权成为隐患。
MemKraft 的设计哲学截然不同:它将记忆以纯 Markdown 文件的形式存储在本地目录,所有权完全归用户所有。Agent 每次运行时可以直接读取这些 Markdown 文件来恢复"记忆",就像人类翻阅笔记本一样自然。更重要的是,这些 Markdown 文件天然支持 Git 版本控制,可以轻松实现记忆历史的回溯与审计。
MemKraft 在权威基准测试 LongMemEval 中取得了 98.0% 的准确率,力压 MemPalace(96.6%)和微软的 MEMENTO(90.8%),一举登顶开源 Agent 长期记忆榜单。
可以把 MemKraft 想象成一个极其细心的私人图书馆管理员:
整个过程不需要任何 API Key,不需要连接云端,只需要一个本地文件夹。
传统知识库只记录"某个事实是什么",而 MemKraft 引入了双时态模型:每个事实都有两个时间戳——事件发生时间(valid_time)和记录入库时间(system_time)。这意味着 AI 可以区分"2024 年 Simon 在 Hashed Fund 工作"和"我现在(2026 年)知道 Simon 已经离开"这两个状态。
这种设计对于 AI Agent 调试和决策至关重要——Agent 需要知道自己的"记忆"是什么时候获得的,以及这个记忆是否可能已经过时。
MemKraft 不仅仅是一个"信息存储柜",它是一个复合知识系统。当你持续向 MemKraft 输入关于 Simon 的信息时,它会自动:
[[entity]])构建实体关系图谱当你向 MemKraft 输入调试日志或操作记录时,它会:
v2.0.0 引入的 Graph 层基于 SQLite 构建,不引入额外依赖。通过 Wiki 双链 [[entity]] 语法,MemKraft 自动构建实体之间的关系网络,支持多跳查询。例如"找出所有与 Simon Kim 相关的项目,再从中找出使用 Python 的"——这类多跳推理在传统关键词搜索中几乎不可能实现。
这是 MemKraft 最具创新性的功能之一。Agent 每次执行任务后,可以将结果报告给 MemKraft(report_outcome),系统会:
这相当于为 AI Agent 配备了一个自我改进的实验笔记本。
MemKraft 的搜索系统极为复杂,融合了多种检索策略:
v2.6 引入的 auto_tier 功能会根据三个维度——新鲜度(recency)、使用频率(frequency)、重要性(importance)——自动将记忆分配到三个层级:
类似人类的睡眠记忆巩固过程,MemKraft 的 sleep 命令会:
通过 pip install 'memkraft[mcp]',MemKraft 可以作为 MCP 服务器运行,为支持 MCP 协议的任何 AI 工具(如 Cursor、Claude Code)提供记忆服务。
MemKraft 官方支持 Hermes Agent。通过简单的配置,就可以在 Hermes Agent 中启用 MemKraft 作为记忆提供者,实现跨会话的持久上下文。
MemKraft 的核心逻辑集中在 src/memkraft/core.py(193KB),但代码组织极为模块化。__init__.py 导入了 20+ 个 Mixin 类,每个 Mixin 负责一个独立功能域:
| 模块 | 文件 | 职责 |
|---|---|---|
| Bitemporal | bitemporal.py | 双时态时间戳管理 |
| Decay | decay.py | 记忆衰减与复活机制 |
| Graph | graph.py | SQLite 图数据库层 |
| Search | search.py | 混合检索引擎 |
| Chunking | chunking.py | 文档分块与精准搜索 |
| Lifecycle | lifecycle.py | 自主记忆生命周期管理 |
| Preference | preference.py | 用户偏好图谱 |
| Reasoning Bank | reasoning_bank.py | 推理经验存储 |
| Multimodal | multimodal.py | 图片等多模态附件 |
| Multi-Pass | multi_pass.py | 多路径检索编排 |
| Routing | routing.py | 问题类型路由 |
| Consolidation | consolidation.py | 记忆整合与去重 |
| Confidence | confidence.py | 置信度与隐式获取 |
CLI 部分独立为 cli.py(37KB),支持 20+ 子命令:init、track、update、search、sleep、tier、fact、decision、tune 等。MCP 服务端为 mcp.py(5KB),简洁清晰。
安装(极简):
pipx install memkraft # 或 pip install memkraft
memkraft init # 创建 ./memory/ 目录结构
memkraft agents-hint claude-code >> AGENTS.md # 接入 Claude Code
Python API:
from memkraft import MemKraft
mk = MemKraft("./memory")
mk.track("Simon Kim", entity_type="person", source="news")
mk.update("Simon Kim", info="Launched MemKraft 0.8.1", source="PyPI")
results = mk.search("MemKraft")
前置要求:Python 3.9+,无任何外部依赖。内存占用 < 512MB,磁盘占用 < 100MB。
纯 Markdown 的查询性能瓶颈:当记忆积累到数千条时,基于文件扫描的搜索可能不如向量数据库高效。虽然有多路径检索和 SQLite 图层优化,但对于超大规模记忆库仍有局限。
缺乏内置向量语义搜索:MemKraft 核心是纯符号搜索,不包含内置的 embedding 向量搜索。需要可选安装 sentence-transformers 才能启用语义相似度搜索。
Wiki 双链语法学习成本:实体链接需要使用 [[entity]] 语法,初学者需要适应。
仅 CLI,无 Web UI:对于非技术用户,纯命令行界面可能存在一定门槛。
活跃开发期风险:v3.0.0 仍处于快速迭代中(CHANGELOG.md 高达 77KB),API 可能在后续版本中发生变化。
MemKraft 的出现标志着记忆从 Agent 的"附属功能"升级为"第一公民"。它的核心贡献在于:
从增长曲线看,MemKraft 自 2026 年 4 月发布以来,在不到 3 个月内 star 数突破 191,LongMemEval 基准测试登顶,显示出强劲的发展势头。随着 AI Agent 应用的爆发式增长,像 MemKraft 这样专注于"让 Agent 拥有持久记忆"的基础设施工具,其战略价值将持续凸显。