在 Agent 系统设计中,短期记忆与长期记忆存在哪些本质区别?请说明它们各自适用的存储方式与检索策略。
考察说明
考查对 Agent 记忆机制的理解,以及根据记忆特性选择合适的存储与检索方案的能力。
回答思路
- 【回答框架 1】短期记忆用于保存当前会话或任务上下文,特点是容量有限、时效短,需要快速读写。通常存储在内存或高速缓存中,如 Redis 或进程内字典,检索时直接按会话 ID 拉取,保证低延迟。
- 【回答框架 2】长期记忆用于持久化知识、历史事实或用户偏好,数据量大且需长期保留。通常存储在数据库或向量数据库中,如 PostgreSQL、MongoDB 或向量库,检索时通过关键词或向量相似度匹配。
- 【回答框架 3】短期记忆的检索强调上下文关联,常与当前对话历史拼接后交给模型;长期记忆则需要索引和压缩,通过 embedding 向量化后存入向量库,查询时用相似度搜索召回相关内容。
- 【回答框架 4】二者应协作:短期记忆快但易失,长期记忆慢但持久。系统可先查短期记忆保持连贯,再查询长期记忆补充背景,最后综合生成。
- 【关键点 1】短期记忆强调速度和上下文,长期记忆强调持久性和规模。
- 【关键点 2】短期记忆可用 Redis 或内存存储,长期记忆常用数据库或向量库。
- 【关键点 3】长期记忆需向量化与索引,检索依赖相似度搜索。
- 【关键点 4】两者结合实现完整记忆管理。
- 【易错点 1】混用存储介质导致性能问题:长期记忆放在内存中会浪费资源。
- 【易错点 2】忽略记忆清理策略,导致记忆爆炸或过时信息干扰。
- 【易错点 3】检索时只依赖关键词匹配,无法捕捉语义相似。