AI Agent 记忆架构:从列表到知识图谱
为什么 Agent 需要记忆?
Section titled “为什么 Agent 需要记忆?”纯 LLM 对话是无状态的。但真正的 Agent 需要:
- 积累经验,避免重复犯错
- 建立知识间的关联
- 根据新信息修正旧认知
三代记忆架构
Section titled “三代记忆架构”第一代:Flat List(扁平列表)
Section titled “第一代:Flat List(扁平列表)”每次经验存为一条独立记录,检索时用语义相似度匹配。
[经验1: "用户喜欢简洁回复"][经验2: "Python 比 JS 适合数据处理"][经验3: "API 超时时应该重试3次"]✅ 实现简单 | ❌ 经验之间没有关系,噪声大
第二代:Structured Memory(结构化记忆)
Section titled “第二代:Structured Memory(结构化记忆)”把记忆分成不同类型:短期 → 长期 → 归档。
✅ 检索更精准 | ❌ 仍缺乏经验间的动态关系
第三代:Graph Memory(图记忆)🔥
Section titled “第三代:Graph Memory(图记忆)🔥”把经验存为图的节点,关系存为边。
[API超时重试] --导致--> [重试后仍失败则报警][API超时重试] --优于--> [直接报错]✅ 检索准确率最高 | ❌ 图构建和维护成本高
实际应用建议
Section titled “实际应用建议”| 场景 | 推荐方案 |
|---|---|
| 简单对话助手 | Flat List |
| 有工具调用的 Agent | Structured Memory |
| 长期运行、需要积累经验 | Graph Memory |
| 需要从失败中学习 | Graph Memory + 在线校准 |
四条设计原则
Section titled “四条设计原则”- 记忆不是越多越好——噪声记忆比没记忆更糟
- 关系比内容更重要
- 记忆需要进化——静态记忆会过期
- 检索要”适用性感知”——不是找最相似的,而是找最适合的