news 2026/10/14 6:55:42

Deep Agent 框架中的记忆技术与 RAG 技术详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Deep Agent 框架中的记忆技术与 RAG 技术详解

目录

  • 1. 引言
  • 2. 记忆技术概览
    • 2.1 短期记忆
    • 2.2 长期记忆
    • 2.3 情景记忆
    • 2.4 语义记忆
  • 3. 记忆技术的实现架构
    • 3.1 记忆写入流程
    • 3.2 记忆检索流程
  • 4. RAG 技术概览
    • 4.1 RAG 整体流程
    • 4.2 检索技术
    • 4.3 查询优化技术
    • 4.4 重排序技术
    • 4.5 上下文组装与生成
  • 5. 为什么很多人直接用 LangGraph 的记忆模块?
    • 5.1 LangGraph 记忆模块的核心能力
    • 5.2 为什么选择 LangGraph 而非自研?
    • 5.3 何时仍需要自研?
  • 6. LangGraph 与 Deep Agent 的记忆与 RAG 对比
    • 6.1 记忆能力对比
    • 6.2 RAG 能力对比
    • 6.3 选型建议
  • 7. 记忆与 RAG 的协同
    • 7.1 记忆增强检索
    • 7.2 RAG 结果写入记忆
    • 7.3 统一的知识管理
  • 8. 实践建议
    • 8.1 技术选型参考
    • 8.2 工程落地要点
  • 9. 总结

1. 引言

随着大语言模型(LLM)应用的深入,单一的"输入-输出"交互模式已无法满足复杂任务的需求。Deep Agent 框架通过引入**记忆(Memory)与检索增强生成(RAG)**两大核心机制,让智能体具备了持续学习、上下文感知与知识扩展的能力。本文将系统梳理 Deep Agent 框架中记忆与 RAG 的关键技术,帮助读者建立完整的技术认知。

2. 记忆技术概览

记忆是智能体区别于普通对话系统的核心能力。Deep Agent 框架中的记忆体系可分为以下几类:

2.1 短期记忆(Short-term Memory)

短期记忆对应对话过程中的上下文窗口,通常由 LLM 的 context window 承载。关键技术包括:

  • 上下文窗口管理:通过滑动窗口、摘要压缩等方式控制 token 消耗,避免超出模型上下文限制。
  • 对话状态跟踪:记录当前任务的中间状态、用户意图与已执行动作,保证多轮交互的连贯性。
  • 缓存机制:对重复计算或高频访问的中间结果进行缓存,提升响应速度。

2.2 长期记忆(Long-term Memory)

长期记忆用于跨会话持久化存储重要信息,是智能体"越用越聪明"的基础。主要技术包括:

  • 向量数据库存储:将重要事实、用户偏好、历史决策编码为向量,存入向量数据库(如 Chroma、FAISS、Milvus)。
  • 结构化知识库:以实体-关系三元组形式存储领域知识,支持精确查询与推理。
  • 记忆写入策略:通过重要性评分、时效性评估等机制,决定哪些信息值得写入长期记忆。
  • 记忆遗忘与更新:定期清理过期或低价值记忆,保持记忆库的准确性与时效性。

2.3 情景记忆(Episodic Memory)

情景记忆记录具体的交互事件与经验,帮助智能体从历史案例中学习。关键技术包括:

  • 事件日志记录:完整记录每次交互的输入、输出、工具调用与反馈。
  • 经验回放(Experience Replay):从历史事件中采样相似案例,辅助当前决策。
  • 案例推理(Case-Based Reasoning):通过检索相似历史案例,复用其解决方案。

2.4 语义记忆(Semantic Memory)

语义记忆存储抽象的概念、规则与常识,是智能体理解世界的知识底座。关键技术包括:

  • 知识图谱嵌入:将实体与关系映射到低维向量空间,支持语义相似度计算。
  • 规则库管理:维护业务规则、约束条件与推理逻辑。
  • 概念分层组织:以本体(Ontology)方式组织概念层级,支持泛化与推理。

3. 记忆技术的实现架构

Deep Agent 框架中的记忆模块通常采用分层架构,各层之间通过统一的接口协作:

重要信息

交互经验

抽象知识

用户交互

短期记忆层

上下文管理器

记忆类型判断

长期记忆层

情景记忆层

语义记忆层

向量数据库

事件日志库

知识图谱

记忆检索接口

决策引擎

3.1 记忆写入流程

classMemoryManager:def__init__(self):self.short_term=ShortTermMemory()self.long_term=LongTermMemory()self.episodic=EpisodicMemory()self.semantic=SemanticMemory()defwrite(self,event,importance_score):# 短期记忆直接写入self.short_term.add(event)# 根据重要性决定是否写入长期记忆ifimportance_score>0.7:self.long_term.add(event)# 记录交互经验self.episodic.record(event)# 提取抽象知识knowledge=self.extract_knowledge(event)ifknowledge:self.semantic.add(knowledge)

3.2 记忆检索流程

defretrieve(self,query,top_k=5):# 先查短期记忆short_results=self.short_term.search(query)# 再查长期记忆(向量相似度检索)long_results=self.long_term.search(query,top_k)# 结合情景记忆中的相似案例episodic_results=self.episodic.search(query,top_k)# 融合语义记忆中的相关知识semantic_results=self.semantic.search(query,top_k)# 综合排序返回returnself.merge_and_rank(short_results,long_results,episodic_results,semantic_results)

4. RAG 技术概览

检索增强生成(Retrieval-Augmented Generation)通过外部知识检索弥补 LLM 的知识局限,是 Deep Agent 框架中另一项核心技术。

4.1 RAG 整体流程

用户问题

查询理解与改写

检索器

向量数据库

关键词索引

混合检索

候选文档集

重排序器

上下文组装

LLM 生成

最终回答

4.2 检索技术

4.2.1 向量检索(Dense Retrieval)
  • 嵌入模型:使用 BERT、Sentence-BERT、OpenAI Embedding 等模型将文本映射为向量。
  • 相似度计算:通过余弦相似度、内积等方式计算查询与文档的语义距离。
  • ANN 索引:使用 HNSW、IVF 等近似最近邻算法加速大规模检索。
4.2.2 稀疏检索(Sparse Retrieval)
  • BM25 算法:基于词频与逆文档频率的经典检索方法,对精确关键词匹配效果好。
  • TF-IDF 加权:衡量词项在文档中的重要程度。
  • 倒排索引:高效支持关键词查询。
4.2.3 混合检索(Hybrid Retrieval)

结合向量检索与稀疏检索的优势,通过加权融合提升召回质量:

defhybrid_search(query,dense_weight=0.6,sparse_weight=0.4):dense_results=vector_search(query)sparse_results=bm25_search(query)# 加权融合merged={}fordoc_id,scoreindense_results.items():merged[doc_id]=score*dense_weightfordoc_id,scoreinsparse_results.items():merged[doc_id]=merged.get(doc_id,0)+score*sparse_weight# 按融合分数排序returnsorted(merged.items(),key=lambdax:x[1],reverse=True)

4.3 查询优化技术

  • 查询改写(Query Rewriting):将口语化问题改写为更利于检索的规范表达。
  • 查询扩展(Query Expansion):通过同义词、相关词扩展查询,提升召回率。
  • 多查询策略(Multi-Query):生成多个查询变体并行检索,再合并结果。
  • HyDE(Hypothetical Document Embeddings):先让 LLM 生成假设性回答,再用该回答的向量进行检索。

4.4 重排序技术(Reranking)

检索出的候选文档需经过重排序,将最相关的内容排在前面:

  • 交叉编码器(Cross-Encoder):将查询与文档拼接后输入模型,计算精确相关度。
  • LLM 重排序:利用 LLM 的语义理解能力对候选文档打分。
  • 多级重排:先粗排再精排,平衡效率与效果。

4.5 上下文组装与生成

  • 上下文压缩:对检索到的长文档进行摘要或截断,控制输入长度。
  • 去重与去噪:过滤重复、矛盾或低质量内容。
  • 提示词模板:将检索结果与用户问题组装为结构化的 LLM 提示词。
  • 引用溯源:在回答中标注信息来源,提升可信度。

5. 为什么很多人直接用 LangGraph 的记忆模块?

在工程实践中,很多开发者并不从零实现记忆体系,而是直接选用LangGraph内置的记忆模块。这并非因为 LangGraph 的记忆技术更"高级",而是因为它把本文前面讲到的记忆能力做成了开箱即用、与图执行引擎深度绑定的组件,大幅降低了落地成本。

5.1 LangGraph 记忆模块的核心能力

LangGraph 的记忆模块主要围绕"状态(State)"展开,与本文 2.1 节的短期记忆、2.2 节的长期记忆一一对应:

  • 短期记忆(Thread-scoped Memory):LangGraph 通过State与Checkpointer维护对话线程内的上下文,等价于本文的短期记忆层。它自动保存每个节点的中间状态,支持多轮对话的连贯执行。
  • 长期记忆(Cross-thread Memory):LangGraph 提供Store机制,将重要信息跨会话持久化,等价于本文的长期记忆层。开发者可以用Store保存用户画像、历史偏好,并在后续会话中检索复用。
  • 记忆检索接口:LangGraph 的Store支持按命名空间(namespace)组织数据,并提供语义检索能力,与本文 3.2 节的记忆检索流程对应。
fromlanggraph.store.memoryimportInMemoryStore# 长期记忆:跨会话持久化用户偏好store=InMemoryStore()# 写入记忆store.put(("user","alice"),"preference",{"topic":"langgraph","level":"advanced"})# 检索记忆item=store.get(("user","alice"),"preference")print(item.value)# {"topic": "langgraph", "level": "advanced"}

5.2 为什么选择 LangGraph 而非自研?

对比维度自研记忆体系LangGraph 记忆模块
开发成本需自行设计分层架构与接口开箱即用,配置即可
与执行引擎耦合需手动接入决策流程与图执行天然绑定,状态自动流转
多线程管理需自行实现会话隔离Thread 机制原生支持
持久化方案需对接向量库/数据库Checkpointer + Store 内置
生态与维护需自行迭代社区活跃,持续更新

5.3 何时仍需要自研?

LangGraph 记忆模块虽方便,但并非万能:

  • 深度定制:需要复杂的情景记忆、语义记忆(知识图谱)时,LangGraph 默认模块覆盖有限,仍需结合本文 2.3、2.4 节的技术自研扩展。
  • 大规模检索优化:对检索性能、混合检索、重排序有极致要求时,可基于 LangGraph 的Store接口对接自研的向量检索与重排链路。
  • 多记忆类型融合:需要将短期、长期、情景、语义四类记忆统一调度时,可在 LangGraph 之上构建本文 3 节所述的分层记忆管理器。

一句话总结:LangGraph 记忆模块是"开箱即用的短期+长期记忆",适合快速落地;当需要情景记忆、语义记忆或深度定制检索时,再在其上叠加自研能力。

6. LangGraph 与 Deep Agent 的记忆与 RAG 对比

前面分别介绍了 Deep Agent 的记忆/RAG 技术,以及 LangGraph 的记忆模块。下面从记忆与 RAG 两个维度,对两个框架做系统对比,帮助读者在选型时做出更清晰的判断。

6.1 记忆能力对比

对比维度Deep AgentLangGraph
短期记忆上下文窗口管理、对话状态跟踪、缓存机制State+Checkpointer自动保存节点中间状态
长期记忆向量数据库 + 结构化知识库,自定义写入/遗忘策略Store跨会话持久化,按命名空间组织
情景记忆事件日志 + 经验回放 + 案例推理默认不内置,需自行扩展
语义记忆知识图谱嵌入 + 规则库 + 本体组织默认不内置,需自行扩展
记忆检索多类型记忆融合排序(短期/长期/情景/语义)Store语义检索,按命名空间过滤
记忆写入策略重要性评分、时效性评估、遗忘更新put直接写入,策略由开发者自定义

小结:Deep Agent 的记忆体系更完整,覆盖四类记忆并强调写入/遗忘策略;LangGraph 开箱即用地提供短期+长期记忆,情景与语义记忆需自行扩展。

6.2 RAG 能力对比

对比维度Deep AgentLangGraph
检索方式向量检索、稀疏检索、混合检索依赖外部检索器(如 LangChain 的 Retriever)
查询优化查询改写、扩展、多查询、HyDE需自行接入 LangChain 的查询改写组件
重排序交叉编码器、LLM 重排、多级重排需自行接入 LangChain 的重排组件
上下文组装压缩、去噪、提示词模板、引用溯源通过图节点编排,将检索结果注入状态
与记忆协同记忆增强检索、RAG 结果写回记忆可在图执行中手动串联 Store 与检索器

小结:Deep Agent 将 RAG 的检索、优化、重排、组装作为框架内的一等能力;LangGraph 本身不内置检索算法,而是通过图编排把 LangChain 生态的检索组件串联起来,灵活性更高但需要更多组装工作。

6.3 选型建议

  • 快速落地、以对话为主:选 LangGraph,其State+Store开箱即用,配合 LangChain 检索器即可搭建基础 RAG。
  • 需要完整记忆体系(情景/语义):选 Deep Agent,或基于 LangGraph 自行扩展四类记忆。
  • 对检索质量有极致要求:两者都需自研或接入混合检索、重排序链路,Deep Agent 内置更省事。
  • 深度定制执行流程:LangGraph 的图执行模型更灵活,适合把记忆与 RAG 编排进复杂工作流。

一句话总结:LangGraph 胜在"开箱即用 + 灵活编排",Deep Agent 胜在"记忆/RAG 能力内置完整";实际选型取决于你对记忆深度与检索质量的要求。

7. 记忆与 RAG 的协同

记忆与 RAG 并非孤立的技术,二者在 Deep Agent 框架中深度融合:

7.1 记忆增强检索

  • 将长期记忆中的用户偏好作为检索的过滤条件,提升个性化。
  • 将情景记忆中的历史案例作为检索的扩展来源,丰富上下文。

7.2 RAG 结果写入记忆

  • 将 RAG 检索到的高质量知识沉淀到长期记忆中,实现知识积累。
  • 将用户的反馈与纠错写入记忆,持续优化后续检索。

7.3 统一的知识管理

索引

重要信息

检索

回答

反馈

更新

外部知识源

向量数据库

用户交互

RAG 引擎

用户

记忆管理器

8. 实践建议

8.1 技术选型参考

场景推荐技术说明
多轮对话短期记忆 + 上下文压缩控制 token 消耗
个性化服务长期记忆 + 向量检索存储用户画像
领域问答RAG + 混合检索结合外部知识库
复杂推理情景记忆 + 案例推理复用历史经验
知识积累语义记忆 + 知识图谱构建结构化知识

8.2 工程落地要点

  • 记忆容量管理:设置合理的记忆上限,避免无限增长导致检索退化。
  • 检索质量监控:定期评估检索准确率,及时调整嵌入模型与索引参数。
  • 隐私与安全:对敏感记忆数据加密存储,设置访问权限。
  • 性能优化:使用缓存、异步写入、批量索引等技术提升系统吞吐。

9. 总结

Deep Agent 框架中的记忆技术为智能体提供了持续学习与上下文感知的能力,涵盖短期记忆、长期记忆、情景记忆与语义记忆等多个层次;RAG 技术则通过向量检索、稀疏检索、混合检索、重排序等环节,让智能体能够动态接入外部知识。二者协同工作,构成了智能体知识管理与决策支持的核心底座。理解并善用这些技术,是构建高质量 Deep Agent 应用的关键一步。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 6:55:05

从图像到拼豆图纸:像素化生成与色板匹配全流程解析

做拼豆这几年,一个很深的体会是:“图好找,图纸难画。”尤其当你想把一张心仪的照片、插画甚至游戏截图变成能照着拼的拼豆图纸时,手工一个一个像素点去描色号,基本是体力活。后来我花了不少时间把整条链路做成了一套能…

作者头像 李华
网站建设 2026/10/14 6:54:49

CODESYS运动控制:MC_Power轴使能时序与调试实战

简介:围绕 CODESYS 运动控制中 MC_Power 功能块展开的图文解析,面向 PLC 编程与自动化设备调试工程师,帮助读者快速掌握虚拟驱动器添加、POU 调用、编译下载及轴上电的完整操作方法。文档从新建标准工程讲起,详细说明 SoftMotion …

作者头像 李华
网站建设 2026/10/14 6:54:27

生产级多Agent简历生成系统:架构设计与实战解析

1. 为什么"写简历"这种看起来简单的任务,必须上多Agent1.1 单轮对话生成简历的三个致命问题先讲个真实场景。我第一次尝试用大模型做简历生成的时候,路径跟大多数人一样:把职位描述(JD)粘贴进去,…

作者头像 李华
网站建设 2026/10/14 6:54:13

语音助手意图路由:规则优先+LLM兜底+阈值熔断实战

1. 项目概述:为什么“意图路由”是语音助手真正落地的分水岭你有没有遇到过这样的语音助手?你说“把空调调到26度”,它却开始播放天气预报;你说“给我订明天上午十点去上海的高铁”,它反问“您想订机票还是酒店”&…

作者头像 李华
网站建设 2026/10/14 6:54:03

从Demo到赚钱:AI产品成本模型与付费墙设计实战

做AI产品,最难的不是做出“能跑的东西”,而是做出“能收钱的东西”。这个系列第1篇聊了怎么选定方向和快速验证MVP,第2篇直接把镜头拉到真刀真枪的赚钱阶段:同样是接大模型API,为什么有人做出的功能用户愿意按月付费&a…

作者头像 李华
网站建设 2026/10/14 6:54:02

变压器绝缘油高含气量故障分析与真空脱气处理标准规范

去年春检时,我给一台220kV主变压器做例行绝缘油试验,溶解气体分析各项数据都在合格范围,唯独含气量超了标准值将近一倍。起初我怀疑是采样环节混入了空气,于是现场重新取样复测,结果依然超标。这台变压器绝缘电阻、介损…

作者头像 李华