ClouisleClouisle

记忆与上下文

配置跨会话记忆图谱、后台自动提取与长对话的单次上下文摘要压缩

Clouisle 用两层机制解决对话的连续性与成本问题:

  1. 对话内上下文(消息分支 + 单次上下文摘要):会话进行时的实时历史。当组装好的请求超过预算时,系统把较早的历史压缩成一条摘要,只保留最近一段原文,避免模型窗口溢出。
  2. 跨会话记忆图谱(Memory Graph):跨越不同会话的持久知识网络,以实体和有向关系沉淀用户偏好、项目背景与核心事实。

没有独立的“会话摘要”子系统,也没有多级(警告/选择性/阻塞)压缩策略:压缩只有一种产物——一条由模型生成的上下文摘要。记忆功能本身就是实体/关系图谱,不是逐条对话文本的堆积。

启用跨会话记忆

  1. 打开 Agent 编排 > 记忆。
  2. 开启启用记忆(默认关闭)。
  3. 设置每次检索的最大记忆数,范围 1-50,默认 10。
  4. 按需开启自动提取记忆(默认开启)。
  5. 保存并发布 Agent。用户在不同会话中对话时,Agent 会自动召回此前记录的事实。
设置默认值范围说明
每次检索的最大记忆数101-50每次记忆检索注入模型的最大实体数
自动提取记忆开启开/关是否自动从对话中提取并保存记忆;关闭后只能读取,不会新增记忆
重要性门槛中低 / 中 / 高自动提取时只保存达到该重要性的内容
Agent 记忆配置
Agent 记忆配置

记忆图谱(Memory Graph)

持久记忆不是扁平文本,而是由**实体(Entities)与关系(Relations)**构成的有向知识网络。

可在个人菜单 > 我的记忆(/app/memories)或管理后台(/memories)中可视化探索和管理。

图片待补充:记忆图谱画布

文件:/images/memory-graph-canvas.png。截图内容:记忆图谱的交互画布页面,展示实体节点、关系连线、布局切换按钮(网格、层次、径向)与实体详情侧栏。截图需裁剪到主画布区域,并用主题色框线标出选中的实体节点。未来图片的 alt 与 caption 均使用"记忆图谱画布"。

实体类型

系统预定义了 10 种实体类型,用于归纳记忆内容:

实体类型说明示例
偏好用户的个人偏好或习惯"偏好简洁的代码风格"、"习惯使用 TypeScript"
项目正在进行或参与的项目"电商重构项目"、"内部知识库系统"
人物提到的人物或角色"张经理(产品负责人)"
组织涉及的公司、部门或组织"研发部"、"供应商 A"
技能掌握的技术或专长"Python"、"PostgreSQL 性能优化"
目标阶段目标或意图"本季度完成文档站国际化上线"
事实客观事实或特定信息"生产集群部署在东京机房"
概念领域专业概念或术语"RAG 混合检索"
地点地点或物理方位"上海张江研发中心"
自定义其他无法归类的内容用户自定义的事实标签

关系类型

实体之间可以建立 9 种有向关系,用于沿关系查找关联记忆:

关系类型含义
偏好偏好某项事物
使用使用某项工具或技术
参与从事或参与某项事务/项目
就职于工作于某机构/公司
熟悉了解或熟悉某人/某技术
属于属于某个更高级别的实体
拥有目标具有某种目标
位于位于某地点
相关具有关联性

图谱管理功能

  • 多布局可视化:支持网格布局、层次布局与径向布局,并支持放大、缩小与适应视图。
  • 实体检索与过滤:可按关键词搜索实体名称与描述,或按实体类型进行单选/多选过滤。
  • 关系详情抽屉:点击实体查看其出向关系与入向关系,可直接编辑属性,或删除特定单向关系。
  • 批量与安全删除:支持框选模式批量删除废弃或敏感记忆实体;删除实体会同时清理与它相关的所有关系。

记忆检索与时间权重

当 Agent 发起记忆检索时,系统会同时考虑语义相似度与记忆的新鲜度:语义接近、且最近更新过的记忆排在前面。默认情况下,约 30 天没有更新的记忆权重减半;越近期的记忆越容易被召回。

  • 按时间筛选:检索时可以只看最近 N 天内创建或更新的记忆,适合「最近一周提到过什么」这类问题。
  • 按关系展开:命中实体后,可以沿关系向外扩展 1-3 层(默认 1 层),一次最多从 5 个起点出发,方向可选只看指向它的关系、从它出发的关系,或两者都看。只有图谱中真实存在的关系会被返回,模型不会推断未返回的连线,也不会因此新增实体。
  • 按类型筛选:可以只检索某一类实体(如只看偏好或项目)。

关闭自动提取记忆后,Agent 只能检索和读取已有记忆,不会写入新实体或关系。

管理后台自动提取

管理员可在站点设置 > 记忆(/site-settings/memory)配置待处理用户轮次的后台记忆提取:

设置默认值约束说明
后台自动提取关闭开/关后台异步提取的全局总开关
提取模型空已启用的语言模型执行提取的模型;留空时使用默认回退模型
冷却时间180 秒10-3600 秒两次提取之间的最小间隔,防止单次对话高频触发
待处理轮次上限6 轮1-50 轮待处理用户轮次达到该数量时立即触发提取

Agent 必须在自身编排中勾选启用记忆与自动提取记忆,且站点设置的后台提取总开关处于开启状态,系统才会为该 Agent 的对话排队后台提取。

长对话如何压缩

上下文压缩默认开启,只有一种动作:把较早的历史交给模型生成一条摘要,用它替换掉那段历史,并保留最近一段原文轮次。

  • 预算:可用输入预算由模型自身的上下文窗口决定,并预留输出空间与安全余量;模型未配置上下文窗口时使用默认值。
  • 保留最近原文:最新一轮永远保留;工具调用尚未闭合的轮次不会被切开。压缩后如果仍然超出预算,会明确报错,而不是无限重试。
  • 摘要生成:摘要长度有上限,并会截断到预算允许的长度;生成失败会重试若干次,全部失败时本轮以明确错误结束。
  • 复用:摘要保存在会话上,后续轮次复用同一条摘要并增量更新,不会无限叠加。

压缩只影响本轮请求的上下文,不会删除历史消息;历史仍可在会话中查看。

排查

  • 未记住偏好:确认 Agent 已启用记忆、信息达到重要性门槛,并使用同一已登录用户。
  • 回复忽略很早的细节:长会话可能已把早期历史压缩成摘要;把关键约束重新陈述,或开启新会话。
  • 压缩频繁:检查模型上下文长度、输出预留和工具结果体积;工具返回的大段内容会更快撑满预算。
  • 记忆图谱存在错误事实:前往 /app/memories,通过搜索定位错误实体,点击编辑修正描述,或直接删除。
  • 同一事实被反复记录:确认站点后台提取开关与 Agent 的自动提取设置是否符合预期;关闭自动提取后只保留读取。

相关页面:对话与会话、附件与媒体、记忆 API。

这篇文章对你有帮助吗?

本页目录