在构建智能体记忆系统前,我们需要系统性了解人类的记忆系统。
人类记忆系统

人类记忆可以分为以下几个层次:
- 感知记忆(Sensory Memory):持续时间短(0.5-3s),容量巨大,负责保存感官接收到的信息。
- 工作记忆(short-term Memory):持续时间短(15-30s),容量有限(5-9个项目),负责当前任务的信息处理。
- 长期记忆(Long-term Memory):持续时间长,容量无限,又分为程序性记忆(如骑自行车等技能和习惯)和陈述性记忆(可用语言表达的记忆,如知识等)。
为何智能体需要记忆
对于基于LLM的智能体,通常存在以下局限:
- 对话状态遗忘:模型的上下文窗口有限,早期对话中潜在的重要信息、用户习惯、需求等容易丢失。
- 内置知识有限:大模型的知识时效性截止到最晚训练样本的时间点,并且可能存在对某些专业领域的知识深度不足。
记忆系统的工作流程

- 编码(Encoding):将感知的信息转化为可存醋格式
- 存储(Storage):将信息持久化
- 检索(Retrieval):根据需要从记忆中提取相关信息
- 整合(Consolidation):将短期记忆转化为长期记忆
- 遗忘(Forgetting):删除过时或者不重要的信息
某Agent的记忆系统实现:

短期记忆
短期记忆主要存储当前对话的上下文信息,为确保高速访问和响应,通常采用有限滑动窗口的形式实现。