LLM Agent 记忆分类及存储设计建议,一文讲清!
最近我看了一张讲Agent记忆分类的图:

我感觉它这个分类吧,大方向是对的,但挖得太浅了。所以我就顺着它的逻辑,仔细琢磨了一下,在不同的记忆层面,到底该怎么设计、怎么选合适的组件。

先从流程、作用、示例和持续时间这四个角度,跟大家把这几种记忆说清楚:
1. 短期记忆(Short-Term Memory, STM)
流程:输入(Input)→ 编码(Encode)→ 存储(Store)→ 清除(Erase)
作用:做事情的时候,临时记一些细节,就跟咱们聊天时,临时记住对方刚说的话似的。
示例:存一下最近的互动信息,比如刚才发的聊天内容。
持续时间:任务或者对话一结束,就自动清掉了,不会留着。
2. 长期记忆(Long-Term Memory, LTM)
流程:接收(Receive)→ 整合(Consolidate)→ 存储(Store)→ 提取(Retrieve)
作用:存那些能长期用的知识,不管多少次互动,都能调出来用。
示例:保存用户的偏好设置、一些事实知识、历史数据之类的。
持续时间:会跟着AI不断学新东西,慢慢增加、慢慢更新。
3. 情节记忆(Episodic Memory)
流程:体验(Experience)→ 编码(Encode)→ 存储(Store)→ 回忆(Recall)
作用:记录那些具体的、有来龙去脉的互动经历。
示例:记住是跟谁互动的(这个“谁”,可能是用户,也可能是其他Agent)、聊了些啥、什么时候聊的等等。
好处:能让AI根据以前的经历,更有针对性地回应用户现在的需求。
4. 语义记忆(Semantic Memory)
流程:概念(Concepts)→ 存储(Store)→ 提取(Retrieve)→ 使用(Use)
作用:存那些事实、概念、语言相关的通用知识,避免AI说一些常识性的错话。
示例:知道“伦敦是英国的首都”这种基础事实。
特性:就跟咱们从书里、从课堂上学到的常识一样,能直接提取出来用。
5. 工作记忆(Working Memory)
流程:输入和目标(Inputs & Goals)→ 暂存操作区(Temp Ops Area)→ 实时操作(Real-Time Ops)→ 丢弃(Discard)
作用:处理当下的即时信息,方便AI当场做决策、解决问题。
示例:临时存一下用户给的指令、要达成的目标,或者计算步骤之类的。
好处:对AI即时推理、做计划、执行任务来说,特别重要。
6. 程序性记忆(Procedural Memory)
流程:学习(Learn)→ 存储(Store)→ 练习(Practice)→ 应用(Apply)
作用:记住已经学会的操作和流程,不用特意思考,就能自动执行。
示例:自动知道怎么格式化文档、发邮件,或者跟着既定的流程走。
类比:就跟咱们的“肌肉记忆”似的,让AI能熟练完成那些熟悉的任务。
上面这六种记忆,各自对应AI不同场景下的存储、处理和应用需求——从当下临时的信息处理,到长期、自动的技能和知识运用,都覆盖到了。
但说实话,这些概念要是真要落地,还有不少活儿要干。最基本的,你得知道用啥存储组件吧?还有数据格式,有没有推荐的?
那咱们接着往下说。
下面我就顺着刚才那张图的思路,整理一份面向LLM Agent的存储设计建议,核心就是说清楚,这6种记忆各自该选什么存储类型、什么数据格式,还有关键组件和设计要点。
先说说核心思路:
- 先看记忆的寿命(是瞬时的、短期的还是长期的)、读写的频繁程度、访问速度的要求,再选存储介质;
- 看查询方式(是按键值直接查、按语义相似度查、按结构化条件查,还是按顺序回放),再选数据库模型;
- 最好能搞一个统一的记忆编排层,把读写接口统一起来,不用管底层不同存储的差异,用起来更方便。
我就不按刚才说记忆的顺序来了,咱们从短到长来设计,这样看下来逻辑更顺。
1. 短期记忆 (Short-Term Memory, STM)
典型访问特征:寿命就一次对话或者一个任务那么久,读写速度要快到毫秒级,按键值直接取就行,不用长期存着。
推荐组件:
首选的话,用进程内缓存(比如Python里的Dict、Go里的map),或者轻量级的键值内存数据库(比如Redis、Dragonfly)就够了。
如果是高并发、多实例的情况,就用Redis Cluster,加上TTL自动到期删除就行。
数据模型/格式:
结构很简单,比如:
{conversation_id: [{role, content, ts}]}
或者直接存token缓存也可以。
要是需要少量的向量召回,也可以把embedding作为字段,存在Hash或者JSON里,或者放到本地的Faiss索引(内存里)。有钱的话,Faiss也能上GPU,不过说实话,没必要这么麻烦。
设计要点:
TTL一定要比上下文窗口的时间短。这个其实很好理解,要是你把TTL设得太长,超过了当前任务或者对话的上下文窗口,那以前的短期记忆,可能会被下一轮新的对话或者任务误用上,导致“上一个用户/任务”的内容泄露进来,这就是典型的“越权存取”风险。
要关掉持久化(AOF/RDB),这样才能达到极低的访问延迟;
同步删除:对话一结束,就立刻执行DEL或者EXPIRE 0,把它清掉。
2. 工作记忆 (Working Memory)
定义:就是Agent正在推理的时候,临时用来记东西的“草稿本”。持续时间也就几秒到几分钟,需要经常更新、按顺序查看。
推荐组件:
直接放在LLM的Prompt构造器里就行(比如临时的Python对象、JS对象);
如果需要多个人协作,或者用到DAG工作流,就用内存流数据库(比如Materialize、RisingWave),或者流框架(比如Kafka + ksqlDB)临时存一下。
数据模型:
用JSON或者Dict就行,比如:
{"goal": "...", "current_step": 3, "intermediate_results": [...]
设计要点:
遵循“可随时丢弃”的原则;
如果任务特别长,就用Write-Ahead Log写到本地SSD里,防止节点出故障,丢了中间数据。
这俩要点没啥特别好解释的,照着做就行。
3. 情节记忆 (Episodic Memory)
定义:带着时间戳的交互事件流,需要既能按语义查,也能按时间查。
推荐组件(混合存储):
- 事件日志:用只允许追加的列式数据库或者时序数据库,比如Apache Iceberg、Parquet on S3、ClickHouse、TimescaleDB。
可选的太多了,我个人更倾向于ClickHouse,因为简单好上手。但如果特别看重时间上下文,可能还是得用专门的时序数据库。
- 语义索引:用向量数据库,比如Milvus、Weaviate、pgvector、Pinecone。
数据模型:
基表设计示例:event_id, agent_id, user_id, timestamp, text, meta(json)
向量表:event_id, embedding VECTOR(768,这个数值只是个建议,具体看你处理的数据业务情况) + HNSW/IVF索引
设计要点:
双写:事件写到日志里的同时,同步写到向量库;
要支持“谁(who)/什么时候(when)/发生了什么(what)”的过滤(也就是涉及时间、事件和角色的筛选),再加上近似向量检索;
定期离线合并老的分区,做好冷热分层存储(热数据和冷数据分开存)。
4. 语义记忆 (Semantic Memory)
定义:存事实、概念、知识图谱的,重点是要能体现结构化的关系,还能支持推理。
推荐组件:
知识图谱方面,用RDF三元组库(比如Blazegraph、Virtuoso),或者图数据库(比如Neo4j、TigerGraph);
补充全文检索或者向量检索的话,可以用Elasticsearch + KNN(没有也能凑合用,就是效果差点),或者还是用上面说的向量库也行。
数据模型:
三元组:(entity, relation, entity)
给每个实体存上描述(description)和嵌入向量(embedding),支持通过嵌入向量相似度查询,再加上Cypher(图数据库用)/SPARQL(RDF用)查询。
当然也可以加上BM25做混合检索,最后再重新排序(rerank)一下。
设计要点:
要明确本体和 schema(也就是数据结构规范);
知识要做版本化(用快照+差异的方式),方便回溯;
支持批量导入,主要是导入企业内部的文档、产业相关资料,还有wiki这些东西。
5. 长期记忆 (Long-Term Memory, LTM)
定义:存用户偏好、长期配置、还有AI历次学习成果的总和,需要能扩展、能长期存,还能支持多种方式查询。
推荐组件(分层架构):
结构化的偏好数据:用PostgreSQL或者MySQL;
大文件、文档之类的:用对象存储(比如各种S3兼容的存储);
语义检索:统一用上面提到的向量库(可以和情节记忆、语义记忆共用一个集群,能省点钱)。
数据模型:
偏好表:user_id, key, value(jsonb), updated_at
文档索引:doc_id, s3_uri, summary, embedding
设计要点:
要做好多租户隔离,如果有严格的合规要求(比如GDPR),可以在这个基础上再完善,总之就是不能混着用不同租户的数据;
减少写放大:先批量整合数据,再一次性写入,避免频繁的小更新;
定期把冷数据迁移到低成本的存储里,比如类似Glacier的纯冷层。不过我个人更推荐存在温层,虽然长期记忆不常用,但万一用到了,折腾Glacier太麻烦。
另外还有个必须做的事:长期记忆要定期做总结。短期记忆可以定期汇总,变成长期记忆;长期记忆也可以定期汇总,变成超长期记忆,这样能避免上下文和存储的双重上限压力。
6. 程序性记忆 (Procedural Memory)
定义:可重复使用的技能、工作流、宏指令;更新不频繁,但读取很频繁,需要做版本控制和安全审计。
推荐组件:
用Git仓库(比如GitLab、GitHub Enterprise,或者公司内部在用的任何仓库,随便选)+ CI;
如果技能是用DSL或者JSON表示的,可以再加上文档数据库(比如MongoDB),缓存可解析的AST(抽象语法树);
运行时加载:在容器或者函数服务(serverless)里,需要的时候再调用。
数据模型:
代码、YAML或者BPMN文件;
元数据表:skill_id, name, version, checksum, entry_point, permissions.
设计要点:
做好版本标签,用语义化发布(SemVer);
要有审批和回滚的流程;
用延迟加载+本地LRU缓存,保证第一次调用的体验。
跨层 Memory Orchestrator 设计要点
- 统一API:就两个核心接口,store(memory_type, data, **meta)(存储)和retrieve(memory_type, query)(提取)
- 读写策略:
- 写入的时候,自动路由到对应的存储介质;
- 读取的时候,支持级联查询:先查短期记忆,再查长期记忆,最后查语义/知识图谱。
- 安全合规:给数据分好级,静态加密(at-rest)和传输加密(in-transit)都要做,用户敏感信息(PII)要脱敏。
- 指标观测:每一层都要暴露QPS、延迟、命中率这些指标,用Prometheus + Grafana监控。
- 弹性伸缩:做好冷热分层、自动扩容(Auto-Scaling),还有备份和灾难恢复的策略。
最后
选择AI大模型就是选择未来!最近两年,大家都可以看到AI的发展有多快,时代在瞬息万变,我们又为何不给自己多一个选择,多一个出路,多一个可能呢?
与其在传统行业里停滞不前,不如尝试一下新兴行业,而AI大模型恰恰是这两年的大风口,人才需求急为紧迫!
人工智能时代最缺的是什么?就是能动手解决问题还会动脑创新的技术牛人!智泊AI为了让学员毕业后快速成为抢手的AI人才,直接把课程升级到了V6.0版本。
这个课程就像搭积木一样,既有机器学习、深度学习这些基本功教学,又教大家玩转大模型开发、处理图片语音等多种数据的新潮技能,把AI技术从基础到前沿全部都包圆了!
课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!

课程还教大家怎么和AI搭档一起工作,就像程序员带着智能助手写代码、优化方案,效率直接翻倍!
这么练出来的学员确实吃香,83%的应届生都进了大厂搞研发,平均工资比同行高出四成多。
智泊AI还特别注重培养"人无我有"的能力,比如需求分析、创新设计这些AI暂时替代不了的核心竞争力,让学员在AI时代站稳脚跟。
课程优势一:人才库优秀学员参与真实商业项目实训

课程优势二:与大厂深入合作,共建大模型课程

课程优势三:海外高校学历提升

课程优势四:热门岗位全覆盖,匹配企业岗位需求

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!
·应届毕业生:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
·零基础转型:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
·业务赋能 突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势,构建起"前沿课程+智能实训+精准就业"的高效培养体系。
重磅消息
人工智能V6.0升级两大班型:AI大模型全栈班、AI大模型算法班,为学生提供更多选择。


由于文章篇幅有限,在这里我就不一一向大家展示了,学习AI大模型是一项系统工程,需要时间和持续的努力。但随着技术的发展和在线资源的丰富,零基础的小白也有很好的机会逐步学习和掌握。
【最新最全版】AI大模型全套学习籽料(可无偿送):LLM面试题+AI大模型学习路线+大模型PDF书籍+640套AI大模型报告等等,从入门到进阶再到精通,超全面存下吧!
获取方式:有需要的小伙伴,可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
来智泊AI,高起点就业
培养企业刚需人才
扫码咨询 抢免费试学
⬇⬇⬇


AI大模型学习之路,道阻且长,但只要你坚持下去,就一定会有收获。
更多推荐



所有评论(0)