王二狗 (@pupa) 在 【学习笔记】agent 的记忆模块的组成 中发帖
记忆模块粗略分为存储和上下文注入两步:
存储:把对话存到记忆里。这里细分为:对话中什么信息会被存到记忆里?(要不要提取事实等)什么时候存?记忆的存储形式是什么?(向量数据库、文本数据库(文本要不要分类)、图谱数据库)
上下文注入:把记忆注入到大模型的上下文里面。这里细分为:注入到哪里?(系统提示词、作为用户提问前缀/后缀)什么时候注入?(LLM 主动调用工具、发现当前对话和记忆库中某一个记忆相关时主动注入、记忆直接主动注入到系统提示词)
在对话过程中,可能会在以下情况下触发“需要记忆”,从而将当前会话/对话给“记忆模块”处理:
对话过程中,AI 主动调用工具来记忆需要的内容。比如用户提到喜欢吃冰欺凌(“冬天了,不能吃我最喜欢吃的冰欺凌了”),工具调用save_memory("用户喜欢吃冰欺凌“)
对话结束后,将整个对话/部分对话给 AI 做决策,判断“这个对话里面有没有需要记忆的...