智能体架构 —— 情景记忆与语义记忆栈,让智能体真正“长脑子”¶
Ch01.1079 智能体架构 —— 情景记忆与语义记忆栈,让智能体真正“长脑子”¶
📊 Level ⭐⭐ | 5.8KB |
entities/智能体架构-情景记忆与语义记忆栈让智能体真正长脑子.md
智能体架构 —— 情景记忆与语义记忆栈,让智能体真正“长脑子”¶
来源: 数据STUDIO
发布日期: 2026-04-02
原文链接: https://mp.weixin.qq.com/s/eyhtnbnN-3ocGKvslf2u8A
你是否有过这样的经历?和一个AI助手聊了好几次,它还是记不住你的名字,更别提你反复强调的“我是保守型投资者,偏好成熟科技股”。每次对话都像第一次见面,翻来覆去问你同样的问题,感觉像在对着一只“金鱼”聊天——记忆只有几秒。
市面上大多数智能体(Agent)确实如此。它们的记忆是短暂的,只存在于当前会话中。一旦窗口关闭,之前聊过的内容、用户偏好、积累的知识都烟消云散。但真正的智能体,应该能随着与用户的互动不断学习和成长,成为你的长期伙伴。
今天,我们就要解决这个痛点。我们将实现一个 结构化记忆架构 ,它模仿人类认知,结合了 情景记忆 和 语义记忆 。简单来说,智能体既能记住“过去聊过什么”,又能从这些对话中提取出“我了解用户什么”。这样,无论多久后再对话,它都能回忆起你的喜好,给出真正个性化的答案。
废话不多说,直接上干货。
什么是“双栈记忆”?¶
在正式动手前,我们先搞清楚这两个概念。
- 情景记忆 :就像你写日记,记录下某个时间、地点发生的事件。它回答“发生了什么?”(例如,“上周,用户问我英伟达股价,并提到自己是保守型投资者。”)。我们会用
向量数据库 来存储,以便后续根据语义相似性快速找到相关过往对话。
- 语义记忆 :就像你从日记中提炼出的知识卡片——张三喜欢科技股,李四对新能源感兴趣。它回答“我知道什么?”(例如,“用户Alex是保守型投资者”“Alex对科技股感兴趣”)。这些信息之间存在关联,因此我们用
图数据库 (如Neo4j)来管理,因为它擅长处理复杂的“实体-关系”查询。
两者结合,智能体既能回顾往事,又能构建一个关于用户和世界的、丰富互联的知识库。这种“双栈记忆”是实现深度个性化和上下文感知交互的关键。
架构工作流:从“过目就忘”到“过目不忘”¶
我们设计的智能体,在每次对话中会经历三个核心阶段:
-
回忆 :收到用户消息后,同时查询两个记忆系统——在情景向量库中找相似的过往对话,在语义图库中找与当前话题相关的事实。
-
生成 :将检索到的记忆拼接到提示词中,让大模型生成一个“知情”的、个性化的回复。
-
编码 :对话结束后,后台进程分析本次对话,生成摘要(新的情景记忆),并提取出关键实体和关系(新的语义记忆),分别存入库中。
这种设计让智能体能够无限期地积累用户知识,而不会被上下文窗口的长度所限制。
动手实现:搭建“双栈记忆”智能体¶
我们一步步来,先安装依赖、配置环境,再构建记忆组件,最后组装成智能体。
阶段0:基础与设置¶
首先,安装必要的库,包括向量库(FAISS)、图数据库驱动(neo4j)以及LangChain生态的相关组件。
!pip install -q -U langchain-nebius langchain langgraph rich python-dotenv langchain_community langchain-openai neo4j faiss-cpu tiktoken¶
接着,导入模块并加载API密钥。这里我们使用Nebius提供的LLM和Embedding服务,并配置LangSmith追踪。注意,图数据库Neo
→ 原文存档
关联¶
- 相关概念: Harness Engineering