深入理解AI Agent架构:记忆模块设计与实现!!
本文详细解析了AI Agent的记忆架构,区分短期记忆(对话历史)和长期记忆(RAG技术),通过向量数据库实现跨时间语义检索。文章介绍了记忆模块的整体架构、对话历史管理、记忆上下文系统等关键组件,并提供了具体场景示例和代码实现,帮助开发者构建具有状态保持和历史参考能力的智能Agent系统。
简介
本文详细解析了AI Agent的记忆架构,区分短期记忆(对话历史)和长期记忆(RAG技术),通过向量数据库实现跨时间语义检索。文章介绍了记忆模块的整体架构、对话历史管理、记忆上下文系统等关键组件,并提供了具体场景示例和代码实现,帮助开发者构建具有状态保持和历史参考能力的智能Agent系统。
AI Agent是一个以大型语言模型 (LLM) 为“大脑”,通过精巧的系统工程整合了规划、记忆、工具使用和反馈循环的复杂系统。记忆(Memory)模块提供状态保持和历史参考,记住之前的对话上下文,避免用户重复信息,使 Agent 具有状态,能够跨越多次交互保留和回忆信息。
一、Agent核心架构介绍
一个完整的大模型 Agent 系统通常包含以下核心组件,它们协同工作,使得 Agent 能够自主完成复杂任务:
组件模块 | 核心功能 | 关键技术/实现 |
---|---|---|
大脑 (LLM) | 任务理解、规划、决策、生成 | 基础大模型、领域微调模型、Prompt 工程 |
规划 (Planning) | 目标分解、任务链构建、策略制定 | 思维链 (CoT)、任务分解、自我反思 |
记忆 (Memory) | 存储和召回历史信息、状态保持 | 向量数据库、SQL DB、状态机、会话缓存 |
工具 (Tools) | 扩展能力边界,与环境交互 | API 调用、代码执行、搜索引擎、自定义函数 |
这个架构的核心是一个高效的循环工作流,可以用下图来表示:
二、记忆 (Memory)模块详解
记忆模块使 Agent 具有状态,能够跨越多次交互保留和回忆信息。
2.1 关键实现技术与分类
1.短期记忆 (Short-Term Memory)
实现技术:通常是对话上下文窗口。直接将最近的几轮对话历史(包括用户消息、Agent 的思考、工具调用和结果)作为文本拼接在下次请求的 Prompt 中。
**2.**长期记忆 (Long-Term Memory)
实现技术:检索增强生成 (RAG - Retrieval-Augmented Generation)。
**(1)写入:**将对话历史或重要信息通过嵌入模型(Embedding Model)转化为向量(Vector),存入向量数据库(Vector DB)。
**(2)读取 (检索)😗*当需要信息时,将当前查询也转化为向量,在向量数据库中进行相似性搜索(Similarity Search),找到最相关的记忆片段,并注入到当前 Prompt 中。
核心组件:
**(1)嵌入模型 (Embedding Model)😗*如 text-embedding-ada-002, BGE, M3E。
**(2)向量数据库 (Vector Database)😗*如 Pinecone, Chroma, Milvus, Qdrant。
**3.**记忆分层与摘要
实现技术:对冗长的对话,可以定期调用 LLM 对过去的对话内容进行摘要(Summarization),将详细的短期记忆压缩成简洁的长期记忆要点存入向量数据库,从而节省上下文空间。
核心区别对比
特性 | 对话历史 (conversation_history) | 记忆上下文 (memory_context) |
---|---|---|
本质 | 短期记忆 / 工作记忆 | 长期记忆 / 关联记忆 |
形式 | 原始对话记录的列表,保持严格的时间顺序 | 通过语义检索到的相关记忆片段,无视时间顺序 |
内容 | 最近几次交互的完整逐字记录 | 历史上所有交互中最相关的片段 |
技术 | 简单的列表数据结构,直接拼接进Prompt | 向量化嵌入 + 向量数据库相似性搜索 (RAG) |
目的 | 维持对话上下文的连贯性,让Agent知道“刚才我们说了什么” | 汲取历史经验,让Agent知道“以前在类似情况下我们做过什么” |
类比 | 正在进行的谈话中,能记住对方刚说的最后一句话 | 根据当前话题,突然想起来几年前看过的一本书或经历过的一件事 |
为了更直观地展示它们在Agent处理请求时的协作流程,请看下面的序列图:
2.2 具体场景示例
假设用户进行了以下一系列对话:
第1天:
用户: “请显示第一季度各产品类别的销售额。”
Agent: (执行查询,生成图表) “这是第一季度销售额图表…”
第2天:
用户: “哪个区域的电子产品销售最好?”
Agent: (执行查询) “北美区域的电子产品销售最佳…”
第3天:
用户: “为我们最好的产品类别生成一个年度报告。”
现在,Agent 需要处理第3天的请求,实现流程如下:
1.conversation_history
角色:
(1)因为这是新一天的对话,conversation_history
可能是空的,或者只包含当天的前几句问候语。
(2)它无法提供帮助,因为它不包含前几天关于“产品类别”和“区域销售”的关键对话。
2.memory_context
的角色:
(1)Agent 会将当前查询 “为我们最好的产品类别生成一个年度报告” 进行向量化。
(2)在向量数据库中进行相似性搜索,会找到历史上高度相关的对话片段:
- 第1天的对话片段(因为都包含“产品类别”)
- 第2天的对话片段(因为包含“最好的”、“销售”)
(3)这些片段被检索出来,组成memory_context
并注入Prompt。
3.LLM 收到的完整Prompt:
f"""
4.LLM 的推理**😗*
(1)LLM 看到memory_context后,会理解到:
- 用户之前查询过“产品类别销售额”,最好的类别可能是“电子产品”。
- 用户之前关心过“区域销售”,报告中也许应该包含区域数据。
(2)基于这些长期记忆和当前请求,LLM 就能规划出正确的步骤:先查询哪些产品类别销售额最高,再针对该类别做详细的年度分析。
三、记忆模块整体架构与技术方案
3.1 记忆模块整体架构
3.2 对话历史管理
关键点:conversation_history
列表在内存中无限增长。
功能点
:
ConversationHistoryManager类
(1)内存管理:使用固定大小的deque在内存中维护最近的对话历史
(2)持久化存储:将对话历史保存到SQLite数据库
(3)历史检索:根据会话ID获取最近的对话历史
(4)摘要生成:将旧的对话记录总结并归档
(5)会话管理:提供会话级别的清理和统计功能
3.3 记忆上下文系统
关键点:向量数据库中的记忆片段无限增长,检索效率下降。
功能点
:
EnhancedAgentMemory类
(1)重要性评分:为每个记忆片段分配重要性评分
(2)记忆淘汰:基于重要性评分实施记忆淘汰策略
(3)相似记忆合并:合并高度相似的记忆片段,减少冗余
(4)会话感知:支持按会话ID管理记忆
(5)高级检索:支持基于重要性评分的记忆检索
部分核心代码:
(1)检索记忆
(2)更新记忆
四、总结
对话历史conversation_history:是为了让Agent “别失忆”,维持当前对话的流畅和连贯。它是线性的、最近的。
记忆上下文memory_context:是为了让Agent“更聪明”,能够借鉴过去的经验来处理当前问题。它是语义的、跨时间的。
它们一个管“当下”,一个管“过去”,相互协作,共同构成了Agent完整且强大的记忆能力,并且在技术方案中关注:
(1)控制内存增长:使用外部存储和固定大小队列;
(2)优化存储效率:实现记忆摘要、合并和淘汰机制;
(3)防止数据堆积:及时清理临时文件和旧数据;
(4)监控系统健康:实时监控内存使用并自动处理异常;
这些优化使得Agent系统在面对大量用户请求和高频使用场景能够长期稳定运行。
五、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%免费】🆓
更多推荐
所有评论(0)