❏ 整理 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 的
“用户信息变量”中,或者存入其提供的“数据库”模块。
- 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
- 自动「话题切换」:通过「意图分类」+「话题相似度」判断
- 每段短期记忆做独立结构化与摘要压缩
