2026-02-05 · 碎片
32
碎片 · 2026-02-05

让 AI Agent 记住一切的三个层次

一个客服 Agent 聊了 10 轮后,突然问用户:「请问您叫什么名字?」

用户很生气:「我第 3 轮就告诉你了。」

这不是 Agent 的错,是记忆管理没做好

大多数 AI Agent 只有两层记忆:短期(上下文窗口)和长期(数据库)。

但真正的智能 Agent 需要三层记忆架构

第一层:工作记忆(Working Memory)

作用:当前对话的临时信息

生命周期:一次对话

存储内容
- 用户当前的问题
- 正在执行的任务
- 临时的变量和状态

典型场景

用户:「帮我订一张去北京的机票,时间是明天下午」

Agent 需要记住:
- 目的地:北京
- 时间:明天下午
- 任务:订机票

实现方式

用上下文窗口存储,但要定期总结压缩。

第1轮:用户想订机票
第5轮:总结用户需求(目的地、时间、预算)
第10轮:再次总结,添加新信息

压缩技巧

Anthropic 的做法:每 5 轮对话,用模型生成一个总结,替换之前的对话历史。

结果:上下文占用减少了 70%,信息保留率提升了 20%。

第二层:情节记忆(Episodic Memory)

作用:历史对话的记录和检索

生命周期:长期存储

存储内容
- 过去的对话历史
- 用户的偏好设置
- 任务执行记录

典型场景

用户:「我上次订的是哪家航空公司?」

Agent 从情节记忆中检索:
- 上次订票时间
- 选择的航空公司
- 票价和座位偏好

实现方式

用向量数据库存储对话历史。

对话1 → 向量化 → 存储
对话2 → 向量化 → 存储
...
用户提问 → 向量化 → 相似度搜索 → 返回相关对话

检索技巧

不要只存储对话,要存储「对话摘要 + 关键信息」。

Rechat 的做法:每次对话后生成 3 个摘要
- 用户意图摘要
- 关键信息提取
- 后续行动建议

结果:检索准确率提升了 40%。

第三层:语义记忆(Semantic Memory)

作用:通用知识和规则

生命周期:永久存储

存储内容
- 领域知识
- 业务规则
- 常见问题和答案

典型场景

用户:「你们的退款政策是什么?」

Agent 从语义记忆中检索:
- 退款政策文档
- 常见退款问题
- 退款流程

实现方式

用知识图谱或文档库。

知识库 → 分块 → 向量化 → 存储
用户提问 → 向量化 → 检索 → 生成答案

优化技巧

不是所有知识都一样重要。

Stripe 的做法:给知识分优先级。

结果:答案相关性提升了 35%。

三层记忆的协同工作

真正的智能不是只靠一层记忆

例子:用户问「帮我订一张和上次一样的机票」

工作记忆:当前任务(订机票)

情节记忆:检索上次的订票记录
- 航空公司:CA1234
- 时间:14:00
- 座位:靠窗

语义记忆:验证规则
- 这个航班是否还在运营
- 价格是否有变化
- 政策是否有更新

综合决策
- 检查可用性
- 对比价格
- 提供建议

一个成功的架构

Character.AI 的记忆系统

第一层:当前对话的上下文(工作记忆)
- 保留最近 10 轮对话
- 每 3 轮总结一次

第二层:用户的历史对话(情节记忆)
- 存储所有历史对话
- 用向量检索相关记录

第三层:角色的知识库(语义记忆)
- 角色设定、背景故事
- 专业知识和技能

结果

记忆管理的三个原则

原则一:分层管理,不要混在一起

原则二:定期清理,不要无限增长

原则三:主动更新,不要被动等待

最后的建议

AI Agent 的记忆不是「越大越好」,是「越智能越好」。

如果你的 Agent 记忆有问题,问自己三个问题:

  1. 我是否区分了短期、中期、长期记忆?
  2. 我的检索机制是「存储」还是「理解」?
  3. 我的记忆会自动清理和更新吗?

如果任何一个答案是「否」,重新设计你的记忆架构。

记忆是 Agent 智能的基础,没有记忆,就没有真正的智能

—— https://www.80aj.com

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单