小智伴的记忆逻辑实施:认识Agent的短期记忆和长期记忆
导语
在上一篇文章中,我们介绍了大模型的规划逻辑如何应用于现实业务场景,重点讲解了两种核心推理策略:ReAct与Plan-and-Execute。前者通过“思考-行动-再思考”的循环;后者则是在行动前制定完整的计划,再按照既定的步骤执行。【AI大模型教程】
本文我们将聚焦于大模型中的记忆机制,让我们的agent,像我们的大脑一样,能记得过去、理解当下、决策未来。一个具备记忆能力的智能体,能在面对问题时,从历史交互或外部知识中提取关键信息,通过“短期记忆”保持上下文连贯,通过“长期记忆”积累经验知识,从而更好的进行概率推理。
思考?
- 大模型中的记忆机制是什么?
- 短期记忆与长期记忆对比?
- 记忆机制如何选择?
- 小智伴如何利用记忆机制
认识记忆机制
记忆是一种记录****之前互动信息的一种媒介。对于人工智能来说,记忆至关重要,因为它可以让他们记住以前的互动,从反馈中学习,并适应用户的偏好。
随着用户问答频次的增多,系统交互的任务会更加复杂,给提升大模型识别用户意图提供多维度的信息补充,这种能力对提升用户办公效率和用户回复结果满意度都至关重要。
短期记忆与长期记忆
记忆分短期记忆和长期记忆。
短期记忆
让Agent记住当前会话内单个线程或对话中一问一答的互动信息。长时间的对话记忆,对于大模型来说,是非常有挑战的。
**其一:**模型不能支持很长的长上下文信息进行问答。我们都知道,像openai、deepseek、千问等都有token数的限制,超过大模型就会报错。
其二:大多数模型在长上下文中仍然表现不佳。他们被陈旧或偏离主题的内容“分散了注意力”,同时响应时间较慢,成本更高。
在Agent中短期记忆的存储形式包括:内存存储和redis存储。启用短期记忆后,长时间对话可以超过模型的上下文窗口。常见的解决方案是:
**1.修剪信息:**设置边界数量,当超过时,裁剪掉旧的数据。
**2.总结信息:**对于修剪信息,可能会把重要信息修剪掉,因此,我们可以通过总结历史记录,来规避重要信息遗漏,而且还可以祛魅,保留有价值的信息。
**3.自定义策略:**根据自己的业务场景,对于历史信息,做定制化处理,在垂直领域,业务执行对应的策略,调整方便,更能体现短期记忆的价值。
长期记忆
让Agent在不同任务、不同会话之间仍能积累经验、保持风格一致的关键。长期记忆多用于在用户画像,商品标签,经验总结等方面。
在Agent中长期记忆的存储形式包括:**向量数据库、****知识图谱、**结构化数据库。长期对话,由于保存时间久,不存在删除的操作,但是内容多,还是会带来一定的影响。所以也需要做一些优化:
1.**定期迁移:**将短期记忆中高价值信息“固化”到长期记忆
**2.生成摘要:**适当的为每次对话生成摘要,体现回答大意,缩减token数
3.**偏好模型:**定期训练用户或项目级的“偏好模型”
记忆机制选择策略
记忆系统的选择并没有固定答案,它取决于三个维度:场景复杂度、交互频率、与知识相关性。
01
即时任务型
场景举例:
像短时注意力系统,处理完任务就“清空脑袋”,重新聚焦下一个目标。例如:智能问答、代码生成、一次性报告分析、任务型对话。
特点:
1.只需保留当前会话的上下文
2.轻量、速度快
3.不做历史沉淀
02
连续交互型
场景举例:
像人类长期的“工作记忆”,能记得最近几次会议内容,但不会背整个公司档案。例如:项目管理助手、客户服务机器人、个人知识问答。
特点:
1.Agent可记得最近几次对话
2.能检索历史相似问题,提升连贯性
3.可针对用户习惯逐步“学习”
03
知识驱动型
场景举例:
像“经验丰富的老员工”,既能即时反应,又能从历史中提炼规律。例如:企业知识问答系统、行业专家智能体、内部知识管理平台。故此需要短期记忆+长期记忆结合。
特点:
1.将文档、FAQ、知识图谱等内容进行语义存储;
2.Agent可长期“学习”新知识;
3.具备短期自我反思与自我优化能力。
记忆机制的选择,就像是为Agent打造不同的**“脑型”**:
任务导向型 → 快思考型大脑
交互导向型 → 连贯型大脑
知识导向型 → 学习型大脑
真正的智慧,不是装更多的记忆,而是知道何时记、何时忘、何时学。
小智伴应用
当前的小智伴系统采用的是短期记忆+长期记忆,每10轮对话截取一次内容,超过10轮的超过的部分进行总结存储在es数据库,内存清理掉老的对话。
memory = InMemorySaver()
graph = workflow.compile(checkpointer=memory)
针对记忆的代码,过于零散分布,而且此部分代码量少。未来小智伴,会引入Reflection Loop机制。Memory负责存,Reflection负责学。当Agent执行完一项任务后,它会:
1.回顾自己做了什么;
2.评估哪些回答效果好;
3.将经验写入长期记忆。
通过这样一个循环的流程,它能做到自我优化,更新关键信息,使得小智伴在聊天式回答上更优秀。
总结
记忆不在于代码的实现,重要的是,你要如何搭建符合实际业务记忆体系,让自己的Agent越来越聪明,自动学习、优化自己的推理与行为策略,实现“自我演化”的闭环。