Mem0 选择性记忆
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/store-selective-long-term-agent-memories-with-mem0-instead-of-replaying-whole-chats
技能介绍
问题:每次 prompt 都重播整个 transcript
当 agent 需要在多个会话间保留用户的偏好、项目约束或已达成的决定时,常见的做法是把历史对话再拼回上下文。时间一长,窗口被聊天记录占满,成本和噪音同步上升,真正需要长期记住的事实反而淹没在冗余回合里。这个技能的出发点很直接:用持久化记忆代替无差别重播。
技能如何工作:抽取 → 存储 → 检索
核心流程不追求“记住所有”,而是做选择性外挂:
- 在对话中识别值得保留的
facts,例如user.timezone、project.goal、decision.ship_v2。 - 调用
add把结构化事实写入Mem0,而不是追加原始文本。 - 在下一次请求前通过
search拿回相关记忆,注入到context。 - 对同一事实采用
replace或delete,避免记忆层无限膨胀。
这个方式把长期记忆从 prompt 长度问题中解耦出来:agent 只需要带着“现在需要的那几条”开始,而不是带着整段聊天记录开始。
适用边界与注意点
Mem0解决的是跨会话记忆,不是任务内的短期状态机;高频变化的状态仍应放在任务上下文里。- 抽取依赖 LLM 的判断,
facts的质量受 prompt 和模型能力影响,不适合存精确可验证的数据(如密钥、编译错误码)。 - 单次检索为同步调用;如果 Agent 工作流依赖多轮工具编排,需要明确记忆是在哪一阶段写入与读取。
- 自托管部署要关注服务可用性、向量存储和访问控制,尤其是团队内部共享的记忆层。
- 记忆不是免费的:清理策略、过期策略和用户可见性需要随产品一起设计,避免“越用越偏”。
使用场景
- 客服助手需要跨会话记住客户偏好,而不是每次重新附带完整聊天记录。
- 编程助手要在多个会话里保留技术栈决策,避免每次 prompt 都重播历史。
- 研究代理累积检索到的项目事实,后续请求只注入相关记忆条目。
- 任务型 agent 窗口有限,需要在单会话后继续执行并带上必要长期事实。
适合人员
- 后端工程师,希望把持久化事实接入现有 agent API 而不扩大上下文。
- 客服平台技术负责人,需要降低长对话带来的 token 成本和提示噪音。
- 研究工具开发者,希望按项目隔离长期偏好并保持检索可控。
- 平台工程师,正在评估自托管 Mem0 的向量存储和访问控制要求。