抛弃传统向量数据库!神经图谱 NeuralMemory 让 AI Agent 真正拥有大脑记忆
抛弃传统向量数据库!神经图谱 NeuralMemory 让 AI Agent 真正拥有大脑记忆

神经图谱可视化示意图
项目开源地址:https://github.com/nhadaututtheky/neural-memoryPyPI 地址:https://pypi.org/project/neural-memory
一、痛点:基于向量数据库的 Agent 记忆,只是 “检索缓存”,不是真正记忆
当前绝大多数 AI 智能体(AI Agent)长期记忆方案,底层架构统一范式:LLM 对话文本 → Embedding 编码向量 → 存入向量数据库 → 查询时相似度召回 → 拼接进 Prompt
这套方案支撑了 RAG、Mem0、Zep、LangMem 等主流 Agent 记忆框架,但天生存在无法根治的缺陷:
- 记忆是孤立碎片
:向量库只衡量语义相似度,无法记录因果、时序、矛盾、从属关系; - 依赖 Embedding 服务,持续产生成本
:每次读写都需要调用嵌入模型,离线环境无法运行; - 无法自动处理知识冲突
:新旧矛盾信息会同时召回,需要 LLM 额外判断,结果不稳定; - 检索模式是 “搜索匹配”
,而非人类大脑的联想回忆,缺少多跳关联推理能力; - 没有遗忘机制
:海量记忆堆积后检索效率持续下滑,无法模拟人脑选择性遗忘。
通俗来讲:向量数据库只能帮 Agent查找历史文本,无法让 Agent理解经历、关联经验、自主演化认知。它是文件检索器,不是大脑。
二、什么是 NeuralMemory(神经图谱记忆)
NeuralMemory 是一套受脑神经科学启发、不依赖向量数据库的认知记忆引擎。核心思想:把每一条记忆抽象为神经元节点,记忆之间的逻辑关联建模为带类型、有权重的突触边,整体形成动态生长的神经图谱。记忆召回不再依靠向量相似度搜索,而是扩散激活机制(Spreading Activation):以查询目标为激活起点,沿着突触向外扩散,权重越高、关联越强的记忆节点优先被唤醒,完美复刻人脑联想回忆。
核心架构分层图
【应用层】各类AI Agent|GPT/Claude/Gemini|开发工具MCP协议
↓
【记忆中枢层】NeuralMemory 核心引擎
├─ 神经元节点:情景记忆、事实记忆、决策、错误记录、用户偏好
├─ 突触边(24种关系类型):CAUSED_BY、LEADS_TO、CONTRADICTS、BEFORE、RELATED_TO等
├─ 扩散激活检索模块
├─ 赫布学习权重更新
└─ 基于艾宾浩斯曲线的动态遗忘机制
↓
【持久存储层】本地SQLite(默认)|支持切换PostgreSQL,无向量引擎依赖
三、核心对比:传统向量记忆 VS NeuralMemory
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
可选
|
|
|
|
CONTRADICTS关系,自动降低旧记忆权重 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
直观案例演示
场景:项目权限模块迭代,多次变更技术方案
-
第一轮:确定使用 JWT 鉴权 -
第三轮:决定替换为 Session 机制(与旧方案冲突)
✅ 向量数据库表现查询「鉴权方案」,同时召回两条记录:JWT、Session,交由大模型自行判断,极易混淆出错。
✅ NeuralMemory 表现自动建立突触:JWT ←CONTRADICTS→ Session旧记忆节点激活权重自动衰减;查询时优先返回最新生效方案,溯源可见方案变更历史。
四、NeuralMemory 关键特性详解
1. 扩散激活召回(核心创新)
人类大脑回忆不是 “全局搜索”,而是一点触发、层层联想。NeuralMemory 执行流程:
-
将查询文本映射为初始激活节点; -
激活信号沿着突触向周边节点传播; -
信号随传播距离衰减; -
汇总激活强度,排序输出高关联记忆。
优势:可以轻松召回间接相关、语义不相似但逻辑强关联的记忆,向量相似度检索很难做到。
2. 原生认知关系图谱
内置 24 种突触关系,分为五大类别:
-
🕒 时序关系:BEFORE、AFTER -
⛓️ 因果关系:CAUSED_BY、LEADS_TO、RESOLVED_BY -
📖 语义关系:IS_A、HAS_PROPERTY、RELATED_TO -
⚠️ 冲突关系:CONTRADICTS、SUPERSEDED(方案替代) -
🧠 情景关系:EVOKES、FELT
3. 纯本地离线运行,零 LLM 强制调用
实体识别、记忆关联构建、召回、权重更新全部依靠启发式算法,不需要持续调用大模型 / 嵌入接口。
-
隐私友好:记忆全部本地存储,无需对外传输数据; -
低成本:生产环境不会产生持续 API 账单; -
高可用:断网、内网隔离环境下 Agent 依然具备长期记忆。
4. 仿生记忆动态调控
- 赫布学习规则
:频繁共同激活的记忆节点,突触权重自动增强; - 自适应遗忘
:长期未被激活的记忆权重缓慢衰减,避免图谱无限膨胀; - 记忆分级
:支持设置优先级,重要记忆衰减速度大幅降低。
5. MCP 协议原生支持
内置 60+MCP 工具,可以无缝接入 Cursor、Claude Code、OpenClaw 等主流 Agent 运行环境,一行代码接入智能体。
五、快速上手示例
1. 安装
pip install neural-memory
2. 基础代码示例
<span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">from</span></span><span leaf=""> neural_memory </span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">import</span></span><span leaf=""> NeuralMemory</span><br /><br /><!--wapwm:666:793547632016--><span class="wap-wm" data-wmid="666" data-wmt="793547632016" aria-hidden="true" style="display:none;font-size:0;line-height:0;height:0;overflow:hidden;margin:0;padding:0;border:0;"></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf=""># 初始化记忆大脑</span></span><br /><span leaf="">brain </span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span leaf=""> NeuralMemory</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">(</span></span><span leaf="">storage_path</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"./agent_brain.db"</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">)</span></span><br /><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf=""># 写入记忆(神经元节点自动建立关联)</span></span><br /><span leaf="">brain</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">.</span></span><span leaf="">remember</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">(</span></span><br /><span leaf=""> content</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"系统鉴权初步方案:采用JWT令牌"</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">,</span></span><br /><span leaf=""> memory_type</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"decision"</span></span><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">)</span></span><br /><span leaf="">brain</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">.</span></span><span leaf="">remember</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">(</span></span><br /><span leaf=""> content</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"评估后替换方案:改用Session会话鉴权"</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">,</span></span><br /><span leaf=""> memory_type</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"decision"</span></span><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">)</span></span><br /><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf=""># 联想召回相关记忆</span></span><br /><span leaf="">related_memories </span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span leaf=""> brain</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">.</span></span><span leaf="">recall</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">(</span></span><span leaf="">query</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">=</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"项目鉴权方案"</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">)</span></span><br /><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">for</span></span><span leaf=""> item </span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">in</span></span><span leaf=""> related_memories</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">:</span></span><br /><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">print</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">(</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">f"记忆:</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">{</span></span><span leaf="">item</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">.</span></span><span leaf="">content</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">}</span></span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf=""> | 激活权重:</span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">{</span></span><span leaf="">item</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">.</span></span><span leaf="">activation</span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">}</span></span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">"</span></span></span><span style="white-space:pre-wrap;color: rgb(0, 0, 0);font: 16px / 24px Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;font-size: 16px;font-weight: 400;line-height: 24px;text-align: start;display: inline;flex: 0 1 auto;flex-direction: row;justify-content: normal;align-items: normal;padding: 0px;margin: 0px;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box;background-color: rgba(0, 0, 0, 0);"><span leaf="">)</span></span><br />3. CLI 工具快速调试
# 查看记忆健康状态
nmem health
# 手动新增记忆
nmem remember "用户偏好:优先使用轻量化模型"
# 主动检索联想记忆
nmem recall "模型选型"
六、适用落地场景
- 长期持续运行自主 Agent
:自动化运维智能体、业务流程机器人,需要跨会话持续累积经验; - 个性化 AI 陪伴、数字人
:长期记住用户习惯、历史对话、情感偏好; - 企业知识库 Agent
:追踪方案迭代、记录历史决策,自动识别新旧方案冲突; - 离线私有化 AI 系统
:内网、涉密环境,无法调用外部 Embedding 服务; - 代码智能助手
:持续记忆项目架构、历史 Bug、技术选型变更。
七、局限性与客观说明
-
NeuralMemory不彻底否定向量检索:在纯文本全局粗筛场景,可以选择向量检索作为补充; -
复杂开放域场景,若需要高精度实体抽取,可以搭配 LLM 增强(非强制); -
当前版本更适合时序持续交互的 Agent 场景,海量非结构化文档知识库场景,传统 RAG 向量方案仍有优势。
最佳实践:文档知识库使用向量检索,Agent 动态经验、情景记忆、决策链路交给 Neural 神经图谱。
八、总结
向量数据库解决的是信息检索问题;NeuralMemory 神经图谱解决的是认知记忆问题。
AI Agent 想要从 “执行指令的工具” 进化成具备持续学习、持续思考的智能体,不能只依靠碎片化文本检索。以神经图谱为核心的仿生记忆架构,代表 Agent 长期记忆重要演进方向。
📌 开源项目地址:https://github.com/nhadaututtheky/neural-memory欢迎 Star、体验、参与开发。
如果你需要,我可以额外生成:1)适合公众号发布的排版精简版本;2)配套 PPT 大纲;3)增加一组基准测试性能表格;4)补充向量方案与神经图谱混合部署架构图文字描述。
#AIAgent #神经记忆 #RAG 优化 #AI 智能体 #大模型技术
本文为免费文章,欢迎转载。转载请注明出处:一木科技(https://www.pingquan.vip/2026/08/18/%e6%8a%9b%e5%bc%83%e4%bc%a0%e7%bb%9f%e5%90%91%e9%87%8f%e6%95%b0%e6%8d%ae%e5%ba%93%ef%bc%81%e7%a5%9e%e7%bb%8f%e5%9b%be%e8%b0%b1-neuralmemory-%e8%ae%a9-ai-agent-%e7%9c%9f%e6%ad%a3%e6%8b%a5%e6%9c%89/),并保留原文链接。
还没有评论,来说两句?