记忆系统:AI如何记住对话
AI如何记住你说过的话?它有短期记忆和长期记忆吗?如何管理记忆容量?记忆系统是Agent提供连贯服务的关键。
想象你在和一个助手聊天。你说:「我想订一张去北京的机票。」助手说:「好的,什么时候出发?」你回答:「明天下午。」
如果助手没有记忆,它可能会问:「您要去哪里?」——明明你刚才已经说了要去北京。
这就是记忆系统的重要性。AI需要记住之前的对话,才能提供连贯、智能的服务。就像一个真人助手,它会记住你的偏好、之前说过的内容,甚至你上次提到的细节。
记忆系统是Agent用于存储、检索和管理对话信息的机制。它让AI能够记住之前的对话,提供连贯的服务。
与人类的记忆类似,AI的记忆也分为不同类型:
1. 工作记忆(Working Memory)
工作记忆是当前正在处理的上下文。它就像你的「思维工作台」,只存放正在使用的信息。
用户正在订机票,工作记忆里保存:目的地(北京)、时间(明天下午)、舱位偏好(经济舱)。这些信息在当前任务完成后就会被清空。
容量限制:受上下文窗口限制(通常4K-32K tokens)
2. 短期记忆(Short-term Memory)
短期记忆保存当前会话的信息。它在整个对话期间持续存在,但会话结束后就消失了。
用户在本次对话中提到:「我喜欢靠窗的座位」。这个偏好会被保存到短期记忆中,之后的所有航班查询都会优先选择靠窗座位。但如果用户关闭对话,下次再打开时,AI就不记得这个偏好了。
持续时间:仅在当前会话期间有效
3. 长期记忆(Long-term Memory)
长期记忆是持久化存储的信息。即使关闭对话,下次打开时AI仍然记得。
用户告诉AI:「我经常飞北京出差,预算在2000元以内」。这个信息会被保存到长期记忆中。下次用户再让AI订机票时,AI会自动应用这个偏好,不需要重复说明。
存储方式:数据库、向量存储、用户配置文件
记忆系统需要支持四个核心操作:
AI从对话中提取重要信息,保存到记忆系统。例如,用户说「我喜欢靠窗座位」,AI提取这个偏好并保存。
根据当前任务,从记忆中查找相关信息。例如,用户要订机票,AI检索用户的历史偏好来推荐航班。
当用户的偏好改变时,更新记忆中的信息。例如,用户说「我改主意了,以后都要靠过道的座位」。
清除过期或无效的信息。例如,用户取消了订单,删除相关的临时状态。
AI模型的上下文窗口(Context Window)有限,无法无限存储对话历史。这是一个核心挑战。
假设AI的上下文窗口是8K tokens,但用户已经聊了100轮对话,总长度超过20K tokens。怎么办?
- 1.滑动窗口:只保留最近的N轮对话
- 2.摘要压缩:把早期对话压缩成摘要
- 3.选择性记忆:只保留重要信息,丢弃闲聊
- 4.向量检索:将历史存入向量数据库,按需检索
电商客服
记住用户的购物偏好、历史订单、退换货记录
「您上次买过这款鞋的42码,这次需要同样的尺码吗?」
医疗助手
记住患者的病史、过敏史、用药记录
「根据您的记录,您对青霉素过敏,我推荐其他药物」
教育辅导
记住学生的学习进度、薄弱环节、学习风格
「上次您在函数图像上有困难,今天我们继续练习?」
个人助理
记住用户的日程、偏好、常用联系人
「您今天有3个会议,需要我帮您准备会议材料吗?」
核心要点
- ✓记忆系统让AI能记住对话,提供连贯服务
- ✓三种记忆:工作记忆、短期记忆、长期记忆
- ✓四个核心操作:写入、检索、更新、删除
- ✓需要管理上下文窗口容量,平衡信息保留和token消耗
Agent需要规划才能完成复杂任务。下一篇,我们聊聊规划——AI如何制定计划、分解任务、调整策略。
延伸阅读:
- • 第60篇:Agent——能自主行动的AI
- • 第64篇:规划——AI如何制定计划
- • 第38篇:上下文窗口——AI能记住多少内容
第64篇:规划——AI如何制定计划
Agent需要规划才能完成复杂任务。下一篇,我们聊聊规划——AI如何制定计划、分解任务、调整策略。
✏️ 手绘图解 · AI Catch 出品
第 63 篇 / 共 84 篇