该笔记是对于开源项目 ai-agent-book中第三章的内容的个人思考与总结笔记。

本章主线任务是回答Agent 应该记住什么、怎样存、怎样更新、怎样检索,以及如何判断记忆系统真的有用

与第二章的上下文管理不同,本章的记忆系统是一个长期的、跨会话的记忆系统,主要用于存储和检索 Agent 的长期记忆。如何让 Agent 在对话结束后仍然记住用户、记住知识。

学习完本章后应该要能回答:

  1. 用户记忆和知识库有什么区别?
  2. 为什么不能直接保存全部历史对话?
  3. 轨迹、工作记忆、长期记忆有什么区别?
  4. 什么信息值得进入长期记忆?
  5. 如何判断一个记忆系统是好的?
  6. 新信息和旧记忆冲突时怎么办?
  7. 四种记忆格式分别适合什么场景?
  8. 情景记忆、语义记忆和程序记忆如何转化?
  9. 为什么纯文本记忆不擅长聚合、冲突检查和规则执行?
  10. 为什么知识库一定要分块?
  11. 稠密检索和稀疏检索分别会在哪些问题上失败?
  12. 混合检索的三个阶段为什么不能互相替代?
  13. HNSW 和 ANNOY 的差异对系统设计有什么影响?
  14. recall@k、MRR、nDCG 分别在测什么?

持久化记忆体系

作者认为,持久化记忆体系可以分成两个部分:
一个是用户记忆,另一个是知识库。用户记忆是 Agent 对用户的偏好,信息的画像,是个体尺度
另一个是知识库,是某个领域的群体所共享的知识,是群体尺度,比如一个行业的法规体系、一家公司内部的操作流程、一个技术领域的专业文档