Skip to content

❏ 整理 AI 记忆板块 (一)

AI的记忆模块是指人工智能系统中用于存储、管理和检索信息的组件或机制,其核心功能是帮助AI在不同时间或任务中保留和利用知识

﹆ 分类与特点

1. 短期记忆(Short-term Memory)

作用: 临时存储当前任务相关的信息,通常容量有限

  • 存储多轮对话上下文到内存或缓存数据库, 拼接发送给 LLM

2. 长期记忆(Long-term Memory)

作用:持久化存储知识,支持跨任务或长期学习

  • 知识图谱:结构化存储实体关系
  • 向量数据库:将信息编码为向量,通过相似度检索
  • 微调模型参数:通过训练将知识固化到模型权重中

3. 外部记忆(External Memory)

作用:扩展AI的存储容量,动态读写信息

  • 神经图灵机(NTM):模仿计算机的内存读写机制
  • 检索增强生成(RAG):实时从外部数据库检索信息辅助生成

4. 工作记忆(Working Memory)

作用:类似人类“注意力”,临时处理并筛选相关信息

  • 类似 Transformer 模型的自注意力机制,动态聚焦输入的关键部分

﹆ 用户画像

概述

通过收集和分析用户数据,抽象出的一个虚拟的、代表目标用户特征的模型。它用于精准描述用户群体的行为、需求、偏好等,帮助企业或系统更好地理解用户,从而优化产品设计、营销策略或个性化服务。

思考

通过用户变量和行为习惯, 可以构建用户画像, 实现更精准的记忆。

﹆ 主流项目的具体实践思路

Coze 应用

记忆思路

  • 会话记忆

    • Bot 在当前对话中能够记住用户前面说过的话。
    • 底层原理:通过将多轮对话上下文一起拼接发送给大语言模型,实现上下文记忆。
    • 缺点:会话长度受限(通常在 4k-32k tokens 之间),超过后早期内容会被截断。
  • 跨会话记忆

    • Bot 能够 “记住” 用户的一些信息或偏好,即使重新开始一段对话。
    • 这类记忆在 Coze 中通过 “用户记忆”功能 来实现。
    • 通常是将关键数据保存在 Bot 的 “用户信息变量” 中,或者存入其提供的 “数据库” 模块。

Coze 是由 Bot 开发者 进行 节点级 的记忆控制。

ChatGPT

记忆思路

  • 会话上下文
    • 在每次响应时,会将你与它的整段对话历史拼接成一个大输入,一起送入模型
    • Tokens 上限 GPT-4-turbo 是 128k tokens, 过多内容会被自动截断前文
    • 不具备记住用户变量能力
  • Memory
    • 识别出你表达的长期偏好,自动记录成一条记忆项,随后会被嵌入到未来对话系统提示中,让模型知道背景
    • 可在 Settings - Personalization - Memory 查看被记录的记忆, 还可以进行手动移除

Deepseek

记忆思路

  • 短期记忆
    • 模型通过自注意力权重动态关联当前输入与上下文中的关键信息
    • 滑动窗口缓存
    • 会话状态管理,临时变量(如当前话题)保存在内存中
  • 长期记忆
    • 向量化存储:用户输入的关键信息被编码为向量,存入向量数据库。
    • 微调模型参数:通过用户反馈数据微调模型部分参数,固化高频知识。
    • 结构化数据库:显式用户变量通过键值对存储,支持跨会话读取
模型优化
  • Mixture-of-Experts(MoE)
    • 一种 稀疏激活的模型架构,将大模型拆分为多个“专家”(子网络),每个输入仅由部分专家处理,从而在保持模型容量的同时降低计算成本
    • DeepSeek 采用 门控网络 Gating Network 决定专家参与当前token计算 (计算权重、选择前几专家、加权求和)
  • RLHF优化 Reinforcement Learning from Human Feedback
    • 强化学习 对齐模型输出与人类偏好,使回答更安全、有用、符合逻辑。
    • 监督微调(SFT):用高质量标注数据微调基础模型。
    • 奖励建模(RM):训练奖励模型预测人类对回答的评分(如 1-5 分)。
    • 强化学习(PPO):优化模型以最大化奖励模型给出的分数。
  • 语料净化 Data Cleaning & Filtering
    • 通过多阶段过滤和增强,构建高质量训练数据集,去除噪声、偏见和低质内容
    • 规则过滤:移除重复、乱码、非目标语言文本。正则表达式匹配敏感词(如暴力、仇恨言论)。
    • 模型过滤:使用分类器识别低质内容(如标题党、虚假信息)基于相似度去重(如 MinHash 算法)。
    • 人工审核:对高风险领域(如医疗、法律)进行专家校验。
    • 数据增强: 回译(Back Translation):中英互译提升语言多样性.合成数据:生成高质量问答对填补长尾知识。

﹆ 粗浅总结

目前常见大模型的记忆板块实现, 都采用分层记忆, 近期比较新颖的概念就是用户变量高权重词.

  • 供大模型推送的提示词模板, 需要包含 历史行为用户画像当前提问外部插件
  • 提取问题中的高权重词,经过实体归一化数据清洗, 先成为短期高频词, 可通过权重和频率计算, 成为用户画像
  • 识别意图识别, 切入指定会话线程, 避免记忆污染
  • 获取短期记忆, 从内存缓存中, 查询一定范围内的上下文
  • 获取长期记忆, 加强检索, 通过高权重词提问向量查询向量数据库, 获取最相似的上下文
  • 处理分层记忆, 结构化 → 去重 → 向量过滤 → 摘要压缩, 减少tokens
  • 填充用户画像, 记忆, 提问, 推给大模型

拓展

轻量级NLP工具链

  • 关键词提取, 实体识别/TF-IDF权重[spaCy/jieba]
  • 意图理解, 轻量级分类模型[FastText/BERT-small]
  • 上下文关联, 最近邻检索-向量数据库[FAISS/Annoy]

关键词提取的意义

  • 提取的关键词作为元数据于向量嵌入共同存储, 构建混合索引, 能够极大减少计算量
  • 提取的关键词作为意图工具识别的参数(减少tokens)
  • 内容汇总, 摘要提取(减少tokens)
  • 内容审核和风险过滤, 构建敏感关键词库, 实时匹配过滤
  • 知识图谱的快速命中

意图识别的意义

  • 意图识别用于判断任务意图, 避免记忆偏离意图, 提取参数(槽位填充)
  • 对应的提示词模板尽可能需要开发者提前实现, 否则请定义通用模板或兜底方案解决
  • 意图识别中, 商家的提问缺少提示词参数, 需要采用追问或降级策略

记忆分段,多上下文会话线程

  • 每当智能体检测到意图变化较大时,应新建上下文session
  • 自动「话题切换」:通过「意图分类」+「话题相似度」判断
  • 每段短期记忆做独立结构化与摘要压缩