AI agent系统中的记忆系统如何开发?一文搞懂大模型的上下文机制,大模型入门到精通,收藏这篇就足够了!
最近主导了一款ai agent系统的开发,在定架构的时候选择了MCP协议,在期间遇到不少坑点,记录顺分享一下相关内容。
此篇是系列的第五篇:介绍AI agent系统中的记忆系统。
大模型的记忆能力从何而来?大模型本身是不具备记忆能力的,在跟大模型聊天的过程中,它能记住你之前说过的一些话,是因为对话中携带了上下文信息。在一个系统应用中,除了上下文是不够的,需要一个完善的记忆系统。
记忆系统是什么?
记忆系统是指通过特定机制存储、管理和检索信息,以增强模型在长期交互或复杂任务中的上下文连贯性、个性化响应及知识持久化的技术框架。其核心目标是解决大模型因固定上下文窗口限制导致的“失忆”问题,并模拟人类记忆的分层与动态更新特性。
记忆的分层架构
记忆系统通常借鉴人类记忆的三层结构,分为短期、中期和长期记忆:
- • 短期记忆(STM):存储当前对话或任务的即时信息,受限于模型的上下文窗口长度(如GPT-4的2048 tokens)。实现技术:将对话历史直接嵌入提示词中,但容量有限。
- • 中期记忆(MTM):整合短期记忆中的主题信息,通过分段分页策略组织(如MemoryOS将同一主题的对话归并为“段”),并基于热度算法(访问频率、时间衰减等)动态更新。
- • 长期记忆(LPM):持久化存储用户偏好、角色特征等个性化数据。例如,MemoryOS的LPM模块包含用户画像和智能体特征,通过向量数据库或知识图谱实现长期存储,然后通过RAG手段来进行提取。

MemoryOS 的总体架构,包括记忆存储、更新、检索和响应模块(来源:arXiv)
为什么需要记忆系统?
- • 大模型本身不存在记忆能力——如果开发agent应用,需要外挂记忆系统进行信息的记忆
- • 大模型本身的上下文阈值是有限的,没有办法直接给它所有的对话或者文本内容,超出后早期对话内容会被丢弃,导致多轮对话中出现“断片”或重复提问。记忆系统通过分层存储(短期/长期记忆)和动态检索(如向量数据库),将历史信息压缩后注入当前上下文,确保对话连贯性。
开发agent系统中,上下文内容该怎么做管理?
我们可以以一个最简对话系统为例,结合短期、中期、长期记忆进行分层处理:
- • 短期记忆:聚焦当前对话的最近信息,直接将最新消息体输入模型。这类似大脑对当下信息的清晰即时记录,确保模型能响应最新对话内容。
- • 中期记忆:由于模型存在阈值容量限制,需对当前对话中的关键信息进行摘要处理。这如同大脑在记忆容量有限时,自动将知识压缩为核心要点(非逐字记忆,而是保留关键内容),让模型抓住对话的核心逻辑。
- • 长期记忆:通过RAG(检索增强生成)等技术,在用户提问时调用外部知识库,提取已沉淀的长期记忆内容。这一机制类比大脑调用过往经验与知识储备,为对话提供更丰富的背景信息支撑。
实际开发中可能遇到的问题
1)messages消息体如何组织?
message数组样例如下,具体role有 system、user、tool、assistant。
- • system:对话的全局导演,设定模型的行为框架和初始规则。交互框架的 “设计者” 与 “规则制定者”。
- • user:交互的 “需求发起者” 与 “信息输入方”。
- • tool:交互中的 “功能执行者” 与 “数据提供者”。
- • assistant:交互的 “问题解决者” 与 “内容整合者”。
messages = [
{
"role" : "system" ,
"content" : """你是一个很有帮助的助手。如果用户提问关于天气的问题,请调用 ‘get_current_weather’ 函数;
如果用户提问关于时间的问题,请调用‘get_current_time’函数。
请以友好的语气回答问题。""" ,
},
{
"role" : "user" ,
"content" : "深圳天气"
}
]
print ( "messages 数组创建完成\n" )
2)上述messages超过模型阈值了怎么办?
由于大模型的阈值始终有限,上述的消息体在一定的对话回复轮次之后会超出大模型的上下文窗口限制。最简单的做法直接如基于时间衰减(近期对话优先保留)或重要性排序(关键信息优先),避免记忆冗余。
| 方法名称 | 核心思路 | 实现步骤 | 优点 | 缺点 |
|---|---|---|---|---|
| 简单截断法 | 保留最新若干条消息直到不超过token阈值 | 1. 统计每条token数;2. 从最新往前累加;3. 超限时丢弃旧消息 | ✅ 实现简单,速度快 | ❌ 可能丢失重要上下文 |
| 优先级保留法 | 按消息优先级(如system>user>assistant)保留 | 1. 统计token和优先级;2. 按优先级填充直到阈值 | ✅ 重要信息不易丢失 | ❌ 实现较复杂 |
| 摘要压缩法 | 对早期消息生成摘要减少token | 1. 统计总token数;2. 超限时摘要最早消息;3. 用summary替换多条消息 | ✅ 保留更多上下文语义 | ❌ 需要额外摘要模型/算法 |
| 滑动窗口法 | 动态调整最近N条消息作为窗口 | 1. 设定初始窗口大小;2. 超限时缩小窗口 | ✅ 适合连续对话流 | ❌ 可能丢失长程依赖 |
| 动态分段法 | 将消息分批次处理 | 1. 按token数分段; 2. 只处理当前段或分批处理 | ✅ 适合超长对话/文档 | ❌ 上下文连续性可能被破坏 |
| 混合策略法 | 组合多种方法(摘要+截断+优先级+规则) | 1. 摘要早期消息;2. 保留最新消息;3. 优先级和特殊规则 | ✅ 平衡多种需求 | ❌ 实现最复杂 |
3)可能需要调度历史的其他对话消息或者其他信息怎么办?
可以将这些可能需要的信息汇总成一个知识库,然后在实际用户提问的时候,通过RAG的技术来做检索内容→增强内容→生成最后的答案。
大模型算是目前当之无愧最火的一个方向了,算是新时代的风口!有小伙伴觉得,作为新领域、新方向人才需求必然相当大,与之相应的人才缺乏、人才竞争自然也会更少,那转行去做大模型是不是一个更好的选择呢?是不是更好就业呢?是不是就暂时能抵抗35岁中年危机呢?
答案当然是这样,大模型必然是新风口!
那如何学习大模型 ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:
最先掌握AI的人,将会比较晚掌握AI的人有竞争优势。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
但现在很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习路线完善出来!

在这个版本当中:
您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型路线+学习教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、大模型经典书籍(免费分享)
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

二、640套大模型报告(免费分享)
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、大模型系列视频教程(免费分享)

四、2025最新大模型学习路线(免费分享)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代
L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取

更多推荐
所有评论(0)