Appearance
如何为 LLM 构建持久化对话记忆系统
解决 AI 只有“瞬时记忆”的痛点:通过构建分层记忆架构(短时、长时、实体记忆),让 AI 能够跨会话记住用户偏好、关键事实和历史交互。
为什么需要这个技能
标准的 LLM 对话仅依赖于当前会话的上下文窗口。一旦对话过长导致 Token 溢出,或者用户开启新会话,之前的关键信息就会全部丢失。
为了让 AI 像真实的人类一样拥有“记忆”,需要一套持久化机制。这不仅是简单地存储聊天记录,还涉及如何从杂乱的对话中提取有效实体(如用户姓名、喜好)、如何筛选重要信息并将其从短时存储迁移到长时存储,以及如何在不撑爆上下文的情况下精准检索相关记忆。
适用场景
- 个性化 AI 助手:需要记住用户的职业、习惯、项目背景。
- 角色扮演/NPC 系统:需要维持角色在长期交互中的一致性。
- 企业级客服机器人:在不同日期、不同会话中能够追踪用户的历史问题。
核心工作流
1. 设计分层记忆架构
构建一个由四层组成的记忆系统:
- Buffer(缓冲区):当前会话的实时对话流。
- Short-term(短时记忆):记录最近一段时间的交互,用于维持短期逻辑。
- Long-term(长时记忆):存储经过筛选的高价值信息,跨会话持久化。
- Entity(实体记忆):专门存储关于人、地、事、物的结构化事实(Fact)。
2. 实现记忆提取与固化
AI 不应存储所有内容,而应执行以下操作:
- 实体提取:使用 LLM 将对话中的关键事实(如“我喜欢用 Python”)提取为 JSON 格式并更新到实体库。
- 重要性评分:对短时记忆进行评分,仅将分数高于阈值(如 0.7)的信息迁移至长时记忆。
- 定期固化:定时将过期但重要的短时记忆进行汇总,清理冗余数据。
3. 记忆增强提示词(Memory-Aware Prompting)
在调用 LLM 前,通过以下步骤动态构建 Context:
- 语义检索:根据当前查询在长时记忆库中搜索最相关的片段。
- 实体注入:检索与当前话题相关的已知实体事实。
- 组合 Prompt:将
[系统提示词] + [相关长时记忆] + [相关实体] + [最近对话]拼接,发送给 AI。
typescript
interface MemorySystem {
buffer: ConversationBuffer; // 当前会话
shortTerm: ShortTermMemory; // session 级别
longTerm: LongTermMemory; // 跨 session 持久化
entity: EntityMemory; // 结构化事实
}下载和安装
下载 conversation-memory 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐