mentedb
首个认知感知型 AI Agent 记忆数据库,自研 Rust 存储引擎 + HNSW + 知识图谱,内置信念传播与 Pain Signal
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
首个认知感知型 AI Agent 记忆数据库,自研 Rust 存储引擎 + HNSW + 知识图谱,内置信念传播与 Pain Signal
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你曾经问过 AI 一个问题:"上次我们聊到哪了?"然后它一脸茫然——这不是 AI 的错,而是整个行业对"记忆"的理解从根上就跑偏了。
当前几乎所有 AI 记忆解决方案都在做同一件事:把文本存进去,嵌入向量,相似度搜索,返回结果。这本质上是一座图书馆:整齐、精确、冰冷。人类记忆恰恰相反——它是重构性的,情感驱动的,会遗忘会强化,还会产生"gut feeling"(直觉)。
MenteDB 的出现,就是要打破这套范式。它的 Slogan 是:"The Mind Database for AI Agents"——不是一个数据库,而是一个会思考的存储引擎。
mente(西班牙语):心智、 intellect
MenteDB 的作者 Nam Rodriguez 在 Hacker News 的讨论中提到过他的出发点:他希望构建一个记忆系统,能够像人类记忆那样运作——不是简单的"存储-检索",而是真正理解、关联、推理、甚至"遗忘"。
这个项目的独特之处在于,它不是任何现有数据库的包装器。作者在 README 开篇就强调:Not a wrapper, a ground up storage engine that thinks。这是一行宣言,也是一行警告——意味着所有东西都要从零开始造,包括向量索引、存储引擎、WAL 日志、知识图谱。
MenteDB 采用 Cargo Workspace 组织,包含 13 个各司其职的 Crate,通过 facade 模式向外暴露统一 API:
| Crate | 职责 |
|---|---|
mentedb-core | 所有子系统的公共类型定义、错误处理 |
mentedb-storage | 底层存储:Page Manager、WAL(LZ4 压缩 + CRC32 校验)、Buffer Pool(CLOCK 淘汰策略) |
mentedb-index | HNSW 向量索引 + BM25 关键词索引 + 位图标签 + 时序 + 显著度 |
mentedb-graph | CSR/CSC 知识图谱,8 种边类型,BFS/DFS 遍历,最短路径,循环检测 |
mentedb-query | MQL(MenteDB Query Language)词法解析、语法解析、查询规划器 |
mentedb-context | Token 预算管理、U-Curve Attention 排序、Delta Serving(差量推送) |
mentedb-cognitive | 流式认知推理、写时推断、Pain Signal(痛苦信号)、Phantom Detection(知识缺口检测) |
mentedb-consolidation | 记忆衰减、压缩、事实提取、归档、GDPR 遗忘 |
mentedb-extraction | LLM 驱动的实体/关系抽取流水线 |
mentedb-embedding | Embedding 抽象层(OpenAI / 本地 Candle) |
mentedb-replication | 多节点复制协议 |
mentedb-server | HTTP/TCP 服务端(REST API + gRPC) |
mentedb | Facade 统一入口,暴露 open / store / recall / relate / forget / close 6 个核心原语 |
这种模块化设计保证了每个子系统可以独立编译和测试,同时在顶层通过 Facade 模式保持简洁统一的接口。
每次写入记忆,MenteDB 会自动运行质量流水线:去重 → 矛盾检测 → 过时检查 → 关系推断。图谱中的边(edge)在这个阶段自动建立。不需要 LLM,所以速度极快、确定性高、成本可预测。
当一个事实发生变化时,置信度会沿着知识图谱的边类型(Caused、Supports、Contradicts、Supersedes)级联衰减。陈旧的信念被压制而非被返回。这解决了 AI Agent 长期运行中信念不一致的经典难题。
系统追踪负面经验。当类似情况再次出现,它会主动预警:"上次你这么做,结果崩了"。指数衰减机制确保久远的痛苦逐渐淡化,而近期的教训鲜明如昨。这是"直觉"的雏形。
当你提到某个 MenteDB 完全不了解的概念时,它会标记这个知识缺口。策略是:注册实体查找 + 启发式检测(大写词、引用词、技术术语)。这是"feeling of knowing"的雏形。
Agent 在多轮对话中往往需要反复传入已有上下文。MenteDB 追踪 Agent 已知内容,后续调用只推送新增信息,在实测中实现了 90% 的 Token 节省。对于上下文窗口寸土寸金的大模型,这堪称杀手级优化。
Transformer 对序列首尾的 Token 注意力最高。MenteDB 据此将上下文划分为5 个注意力区域,核心信息置于首尾,中间放置支撑性信息。这不是简单排序,而是真正理解 Attention 机制的工程实现。
MenteDB 提供了两种运行模式:云端托管和自托管,Python、Node、Rust 三个 SDK,覆盖主流 Agent 框架。
Docker 一键启动(推荐):
docker run -p 6677:6677 \
-e MENTEDB_LLM_PROVIDER=openai \
-e MENTEDB_LLM_API_KEY=sk-*** \
-v mentedb-data:/var/mentedb/data \
ghcr.io/nambok/mentedb:latest
Python Agent 记忆示例:
from mentedb import MenteDB
db = MenteDB("./my-agent-memory")
# 第 0 轮:告诉它一件事
db.process_turn(
user_message="我用 PostgreSQL 换成了 SQLite 做副项目",
assistant_response="收到,SQLite 走起。",
turn_id=0,
)
# 第 1 轮:它记住了
result = db.process_turn(
user_message="我用什么数据库来着?",
turn_id=1
)
for memory in result.context: # 追加到你的 prompt
print(memory.content)
一个 process_turn 调用背后是 14 步认知流水线的完整执行:嵌入 → 推测缓存 → 混合搜索 → Pain Signal → 情节存储 → 事实提取 → 矛盾检测 → 情感分析……
LangChain / CrewAI 集成:
pip install mentedb-langchain # LangChain 记忆 Provider
pip install mentedb-crewai # CrewAI 记忆集成
tokio = { version = "1", features = ["full"] })release-plz.toml 自动化发布README 开篇就标红:APIs may change between minor versions。这是一个典型的"用早期版本要做好准备"的项目,生产环境引入需谨慎评估升级成本。
process_turn 的完整流程(事实提取、矛盾检测)需要 LLM Provider。虽然有"不需要 LLM"的快速路径(基于规则的矛盾检测),但要获得完整的认知能力,必须配置 OpenAI(或兼容)API Key。
111 stars 在 GitHub 属于早期项目。相比于 PgVector、Chroma 等已经大量落地的方案,MenteDB 的生产案例积累还相当有限。
尽管 Docker 部署极为简单,但自我托管意味着你要负责:LLM Key 管理、数据备份、版本升级、夜间维护任务(Cron consolidation)。云端版本可以省去这些烦恼,但数据隐私需要权衡。
MenteDB 代表着 AI 记忆系统的一个根本性范式转变——从"检索型"到"认知型"。它的核心技术创新包括:
这些特性目前没有其他开源项目同时覆盖。从这个角度看,MenteDB 是 AI Agent 记忆基础设施领域一个值得高度关注的技术实验。
| 维度 | 评级 | 说明 |
|---|---|---|
| Docker 支持 | ⭐⭐⭐ | 多阶段构建,ghcr.io 镜像,开箱即用 |
| 环境配置 | ⭐⭐ | 需配置 LLM API Key,其余零配置 |
| 依赖复杂度 | ⭐⭐ | Rust 编译较慢,但无需外部数据库 |
| SDK 易用性 | ⭐⭐⭐⭐ | Python/TypeScript/Rust 三端,文档完善 |
| 生产就绪度 | ⭐⭐ | Beta 阶段,API 稳定性存疑 |
总结:开发/测试环境部署极其简单,生产环境引入需持续关注版本更新。