行业资讯
📅 2026/8/27 15:38:06
AI智能体记忆全解析:从RAG到读写能力的技术演进!
在学习 AI 智能体AI Agents的记忆相关知识时被各种新术语搞得不知所措。一开始是 “短期记忆” 和 “长期记忆”后来又出现了 “程序性记忆”、“情景记忆” 和 “语义记忆”这就更混乱了。但等等“语义记忆” 让我想到了一个熟悉的概念检索增强生成RAG。难道 AI 智能体的记忆是基础 RAG 演进到 AI 智能体化 RAG 之后的合理下一步本质上AI 智能体的记忆核心是 “将信息传入和传出大型语言模型LLM的上下文窗口”。至于这些信息被称为 “记忆” 还是 “事实”在这个抽象概念下并不重要。本文将从一个不同的角度介绍 AI 智能体的记忆。我们暂时不讨论 “短期记忆” 和 “长期记忆”而是从 “朴素 RAG” 概念逐步演进到 “AI 智能体化 RAG”再延伸到 “AI 智能体记忆”注这是一个简化的思维模型。AI 智能体记忆的完整主题在底层更为复杂涉及记忆管理系统等内容。一、RAG一次性只读模式检索增强生成RAG的概念由 Lewis 等人于 2020 年提出并在 2023 年左右开始流行。它是首个让 “无状态 LLM” 能够获取两类信息的概念一是过往对话内容二是 LLM 在训练过程中未接触过、未存储在模型权重中的知识即 “参数化知识”。朴素 RAGnaive RAG的工作流程核心很简单如下图所示离线索引阶段将额外信息存储到外部知识源比如向量数据库中查询阶段根据用户的查询从外部知识源中检索相关上下文将检索到的上下文与用户查询一起输入 LLM让 LLM 基于这些额外信息生成有依据的回复。以下伪代码展示了朴素 RAG 的工作流程# 第一阶段离线摄入 def store_documents(documents): # 定义“存储文档”函数 for doc in documents: # 遍历所有待存储文档 embedding embed(doc) # 对文档进行嵌入生成向量表示 database.store(doc, embedding) # 将文档及其向量存储到数据库 # 第二阶段在线检索生成 def search(query): # 定义“检索”函数 query_embedding embed(query) # 对用户查询进行嵌入 results database.similarity_search(query_embedding, top_k5) # 相似度检索取Top5结果 return results # 返回检索结果 def answer_question(question): # 定义“回答问题”函数 # 先检索再生成回复固定流程 context search(question) # 调用检索函数获取上下文 prompt f上下文{context}\n问题{question}\n答案 # 构造提示词 response llm.generate(prompt) # LLM生成回复 return response # 返回回复尽管朴素 RAG 能有效减少简单场景下 LLM 的 “幻觉”生成无依据内容但它存在一个关键局限从外部知识源检索信息时不会先判断 “是否需要这些信息”无论检索到的信息是否相关、是否正确都只进行一次检索所有额外信息都依赖单一外部知识源存储。这些局限意味着在更复杂的场景中如果检索到的上下文与用户查询无关甚至有误LLM 仍可能产生 “幻觉”。二、AI 智能体化 RAG通过工具调用实现只读AI 智能体化 RAGAgentic RAG解决了朴素 RAG 的诸多局限它将 “检索步骤” 定义为智能体可调用的一种工具。这一改变让 AI 智能体能够先判断 “是否需要额外信息”决定使用哪种工具进行检索比如存储专有数据的数据库 vs 网页搜索评估检索到的信息是否与用户查询相关。以下伪代码展示了 AI 智能体在 AI 智能体化 RAG 流程中如何调用SearchTool检索工具class SearchTool: # 定义“检索工具”类 def __init__(self, database): # 初始化工具关联数据库 self.database database def search(self, query): # 定义“检索”方法 query_embedding embed(query) # 对查询进行嵌入 results self.database.similarity_search(query_embedding, top_k5) # 相似度检索Top5 return results # 返回检索结果 def agent_loop(question): # 定义“智能体循环”函数核心逻辑 messages [{role: user, content: question}] # 初始化对话历史存入用户问题 while True: # 循环持续判断是否需要调用工具 # LLM生成响应同时告知其可使用SearchTool response llm.generate( messages, tools[SearchTool] ) if response.tool_calls: # 如果LLM决定调用工具 for tool_call in response.tool_calls: # 遍历所有工具调用请求 if tool_call.name search: # 若调用的是“检索工具” results search_tool.search(tool_call.arguments[query]) # 执行检索 # 将检索结果存入对话历史角色标记为“工具” messages.append({ role: tool, content: f检索结果{results} }) else: # 如果LLM不调用工具直接返回生成的回复 return response.content朴素 RAG 与 AI 智能体化 RAG 有一个共同点信息均在离线阶段存入数据库而非在推理inference阶段存储。这意味着AI 智能体只能 “检索” 数据无法在推理阶段对数据进行 “写入、修改或删除”。这一局限导致默认情况下朴素 RAG 和 AI 智能体化 RAG 系统都无法从过往交互中学习并改进。三、AI 智能体记忆通过工具调用实现读写AI 智能体记忆Agent Memory通过引入 “记忆管理概念”解决了朴素 RAG 和 AI 智能体化 RAG 的上述局限。它让 AI 智能体能够从过往交互中学习并通过更具个性化的方式提升用户体验。AI 智能体记忆的概念建立在 AI 智能体化 RAG 的基本原则之上它同样通过工具从外部知识源记忆库中检索信息。但与 AI 智能体化 RAG 不同的是AI 智能体记忆还能通过工具向外部知识源 “写入” 信息具体流程如下这一能力让 AI 智能体不仅能 “回忆”从记忆库中检索信息还能 “记住”向记忆库中存储信息。其最简单的实现形式是在一次交互结束后将原始对话历史存入一个集合collection之后AI 智能体可通过检索过往对话找到相关信息。若要进一步扩展还可让 “记忆管理系统” 生成对话摘要并存储以备后续参考甚至能让 AI 智能体在对话中主动识别重要信息比如用户提到喜欢用表情符号、或提及自己的生日并基于这些事件创建记忆。以下伪代码展示了 “ AI 智能体记忆” 如何在 AI 智能体化 RAG 的基础上通过新增WriteTool写入工具实现信息存储class SearchTool: # 定义“检索工具”类 def __init__(self, database): # 初始化工具关联数据库 self.database database def search(self, query): # 定义“检索”方法 results self.database.search(query) # 执行检索 return results # 返回检索结果 # 为简化演示此处仅定义“写入工具”实际中还可添加“更新、删除、整合”等工具 class WriteTool: # 定义“写入工具”类 def __init__(self, database): # 初始化工具关联数据库 self.database database def store(self, information): # 定义“存储”方法 self.database.store(information) # 将信息存入数据库 def agent_loop(question): # 定义“智能体循环”函数核心逻辑 messages [{role: user, content: question}] # 初始化对话历史存入用户问题 while True: # 循环持续判断是否需要调用工具 # LLM生成响应同时告知其可使用SearchTool和WriteTool response llm.generate( messages, tools[SearchTool, WriteTool] ) if response.tool_calls: # 如果LLM决定调用工具 for tool_call in response.tool_calls: # 遍历所有工具调用请求 if tool_call.name search: # 若调用“检索工具” results search_tool.search(tool_call.arguments[query]) # 执行检索 # 将检索结果存入对话历史 messages.append({ role: tool, content: results }) elif tool_call.name store: # 若调用“写入工具” result write_tool.store( tool_call.arguments[information] # 获取待存储信息 ) # 将存储结果存入对话历史 messages.append({ role: tool, content: result }) else: # 如果LLM不调用工具直接返回生成的回复 return response.content四、这一简化思维模型的局限性正如本文开头所说上述对 AI 智能体记忆的对比仅为 “简化思维模型”它帮助我将 “ AI 智能体记忆” 与已熟悉的 RAG 概念关联起来但为了避免让大家误以为 “AI 智能体记忆只是‘带写入功能的 AI 智能体化 RAG’”需要强调这一简化模型的几个局限性单一记忆源的简化为清晰起见上述模型仅展示了 “单一记忆源”但实际应用中不同类型的记忆可使用不同的存储源。例如可参考 CoALA 论文的思路为以下三类记忆分别建立独立的数据集“程序性记忆”如 “与该用户互动时使用表情符号”“情景记忆”如 “用户在 10 月 30 日提到过计划旅行”“语义记忆”如 “埃菲尔铁塔高 330 米”此外还可单独为 “原始对话历史” 建立数据集。缺少复杂记忆管理策略上述模型仅涵盖了 “CRUD 操作”创建、读取、更新、删除但未包含更复杂的记忆管理策略比如MemGPT记忆生成式预训练 Transformer中提到的高级策略。新增挑战未体现尽管 AI 智能体记忆实现了 “记忆持久化”但也带来了 RAG 和 AI 智能体化 RAG 没有的新挑战例如 “记忆损坏”以及对 “遗忘” 等记忆管理策略的需求。五、总结本质上RAG、AI 智能体化 RAG 和 AI 智能体记忆的核心差异在于 “如何对外部知识源比如文本文件、数据库中存储的信息进行创建、读取、更新和删除CRUD”。类型信息存储方式信息检索方式信息编辑与删除方式RAG在摄入阶段离线进行一次性检索需手动操作AI智能体化 RAG在摄入阶段离线进行通过工具调用动态检索需手动操作AI 智能体记忆通过工具调用动态存储通过工具调用动态检索通过工具调用动态操作最初优化朴素 RAG 的核心焦点在于 “检索环节”比如采用向量检索、混合检索、关键词检索等不同技术即 “如何检索信息”随后焦点转向 “工具选择”即 “是否需要检索信息若需要从哪个知识源检索”过去一年随着 AI 智能体记忆的兴起焦点再次转移RAG 和 AI 智能体化 RAG 均以 “检索” 为核心而 AI 智能体记忆则融入了对外部知识源中数据的 “创建、修改和删除” 操作核心变为 “如何管理信息”。六、AI大模型从0到精通全套学习大礼包我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。只要你是真心想学AI大模型我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来我也真心希望帮助大家学好这门技术如果日后有什么学习上的问题欢迎找我交流有技术上面的问题我是很愿意去帮助大家的如果你也想通过学大模型技术去帮助就业和转行可以扫描下方链接大模型重磅福利入门进阶全套104G学习资源包免费分享01.从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点​02.AI大模型学习路线图还有视频解说全过程AI大模型学习路线​03.学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的04.大模型面试题目详解05.这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。所有的视频由智泊AI老师录制且资料与智泊AI共享相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。课堂上不光教理论还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】