Skip to content

记忆管理

你正在阅读的是 RuoYi AI 的文档!

  • 如发现文档有误,欢迎提交 issue 帮助我们改进。

概览

记忆管理负责让模型在多轮对话、智能体执行和长期用户服务中保持上下文连续。当前代码中已经有 PersistentChatMemoryStoreMessageWindowChatMemory 和会话消息持久化的雏形,后续可扩展为全局记忆、用户记忆、长期记忆和短期记忆四层。

text
短期记忆:当前窗口内的最近消息
长期记忆:跨会话保留的摘要、偏好、事实
用户记忆:某个用户的画像和偏好
全局记忆:系统级规则、组织知识、公共偏好

当前实现

组件说明
PersistentChatMemoryStore从数据库读取会话消息,并转换为 LangChain4j ChatMessage
MessageWindowChatMemory控制短期上下文窗口,避免无限增长。
ChatMemoryProperties记忆配置项占位。
ChatMessageService管理会话消息持久化。

短期记忆

短期记忆适合保存当前对话窗口内的信息,例如用户刚刚上传的文件、最近几轮问题、工具返回的临时结果。

建议配置:

配置建议
窗口大小根据模型上下文长度和业务成本设置。
写入时机用户消息、模型回复、工具观察结果。
清理策略会话结束、用户手动清空、窗口溢出。

截图占位:会话历史和清空上下文按钮,建议放置在 /images/memory/session-memory.webp

长期记忆

长期记忆用于跨会话保存稳定信息,例如用户偏好、项目背景、常用术语、已确认的业务事实。

预留数据结构:

字段说明
memory_id主键。
owner_typeglobal、user、tenant、agent。
owner_id所属用户、租户或智能体。
content记忆内容。
source生成来源:对话、手动录入、知识库、工具。
confidence可信度。
expires_at过期时间,可为空。

用户记忆

用户记忆建议只保存对服务有帮助、且用户授权或可见的信息:

  • 常用语言、输出格式偏好。
  • 所属团队、岗位、项目背景。
  • 常用知识库、常用模型、常用工作流。
  • 用户显式要求记住的偏好。

WARNING

不要把敏感信息、密码、密钥、身份证号等直接写入记忆。需要保存时应先脱敏、加密,并提供删除入口。

全局记忆

全局记忆用于系统级公共规则,例如品牌术语、标准回答风格、组织级知识入口、默认安全边界。

截图占位:全局记忆管理页,建议放置在 /images/memory/global-memory.webp

待补充

项目说明
记忆抽取从对话中自动识别可保存事实。
记忆召回按用户、任务、相似度召回相关长期记忆。
记忆审批高风险记忆写入前让用户确认。
记忆删除用户可查看、编辑、删除自己的记忆。