1. 四种记忆(按原笔记的分类)
1.1 感知记忆(Sensory Memory)
当前调用的原始输入,例如:
- 消息
- 截图
- 文档
1.2 短期记忆(Short-Term Memory)
- Context Window 内的 Message 列表。
- 当前任务执行的完整状态。
1.3 长期记忆(Long-Term Memory)
保存在外部数据库中、能够跨任务保留的信息,例如向量数据库(Vector DB)。
| 记忆子类型 | 含义 |
|---|---|
| 情节记忆(Episodic) | 具体的事件经历 |
| 语义记忆(Semantic) | 从多次经历提取的知识和规律 |
| 程序记忆(Procedural) | 做某件事的操作流程 |
1.4 实体记忆(Entity Memory)
- 结构化存储对话中的关键信息。
分类关系
flowchart TB
M["Agent 记忆"] --> S["1. 感知记忆 Sensory"]
M --> ST["2. 短期记忆 Short-Term"]
M --> LT["3. 长期记忆 Long-Term"]
M --> E["4. 实体记忆 Entity"]
LT --> EP["情节记忆"]
LT --> SE["语义记忆"]
LT --> PR["程序记忆"]
2. 三个问题
2.1 存什么?
- 用户偏好和习惯。
- 任务执行中产生的结论。
- 外部知识(FAQ)。
2.2 怎么存?
- **向量数据库:**文档知识,对话摘要等非结构化文本,embedding后通过相似度检索。
- **关系数据库/Key-value:**语言偏好,项目配置(结构化)
2.3 什么时候取出来用?
- 主动检索:任务开始前,带着描述检索相关记忆,注入system prompt。
- **被动触发:**推理工程中,判断需要某类特定知识,主动发起检索。