Skip to content

记忆、摘要与画像

很多人第一次看到 ETOS 的"记忆"功能时,会把所有长期上下文都理解成同一件事。

实际上至少有三层

职责
长期记忆一条条可检索的事实或偏好
会话摘要跨会话连续性的压缩记录
用户画像更稳定的长期偏好与背景描述

它们不是三个名字,而是三种不同的上下文职责。如果只把它们当作"AI 的记忆",会被功能数量吓到;理解了职责分层,就能精确决定哪条信息该放哪一层。

读这一页之前

建议先了解 记忆与世界书 的使用方法,以及 提示词与上下文拼装 里这三层在最终请求里的位置。

一、长期记忆:离散、可检索、可编辑

长期记忆最适合保存:

  • 稳定偏好
  • 长期项目背景
  • 明确要求"以后记住"的事实

不适合保存:

  • 今天这次对话才需要的参数
  • 某个单文件的临时内容
  • 一次性安排
  • 敏感隐私

save_memory 工具的边界规则

ETOS 内置的 save_memory 工具在 description 里直接写明了写入边界:

  • 只有"后续很多次对话里都可能有用"的信息才该写入
  • 稳定偏好、长期身份、长期合作背景可以写
  • 明确的"记住这个"请求可以写
  • 一次性细节、短期任务、敏感信息、第三方隐私默认不该写

这不是保守过头——而是防止记忆库被短期噪音污染。

长期记忆的存储模型

长期记忆不是单纯一段文本列表。内部至少两层形态:

形态用途
原文记忆保留用户真正想记住的内容
向量索引把原文切成块后生成 embedding,供后续语义检索

一条记忆的大致生命周期:

text
写入原文
  → 按块切分
  → 生成 embedding
  → 建立向量索引
  → 回答前按需检索

没配嵌入模型也能用

如果没有配置嵌入模型,记忆原文仍然保存,但无法参与向量检索——只能等你完全关闭检索(Top K = 0 全量送入,详见 上下文拼装)。

两种检索模式

向量检索 vector

适合自然语言问题:

  • "我之前偏好的文风是什么"
  • "最近长期在做的项目方向有哪些"

关键词检索 keyword

适合名称、术语、短语命中:

  • 某个项目代号
  • 某个固定术语
  • 某个人名或设备名

ETOS 把 search_memory 工具的 mode 参数明确暴露出来,让模型能精确选择检索方式,而不是偷偷做一套混合检索。

归档 ≠ 删除

一条长期记忆可以被归档

  • 不再参与检索
  • 原文和向量仍然保留

适合"曾经重要,但现在不该继续污染回答"的信息——比如已经完结的项目、不再做的方向。

二、会话摘要:跨会话连续性压缩

会话摘要不是长期记忆的替代品。它解决另一个问题:

"这段对话关系线最近推进到了哪里?"

与长期记忆相比,它更像阶段性压缩

触发策略

ETOS 会在聊天后异步判断是否要生成会话摘要。默认门槛:

项目默认值
跨会话记忆开启
触发生成最小用户轮次6
同一会话两次摘要更新最小间隔120 分钟
在后续对话里注入最近多少条摘要5

它使用独立的 detached completion 在后台生成,不污染当前聊天历史

摘要提示词的目标

会话摘要不是详细会议纪要,而是压缩成跨对话可复用的短摘要

系统要求它:

  • 输出 60~140 字
  • 只保留关键主题、用户意图、明确结论
  • 不要罗列细节
  • 不要写免责声明

这让它既能保持上下文连续,又不至于把历史噪音全部带回来。

三、用户画像:更稳定的长期层

用户画像是比"会话摘要"再高一层的抽象。

不是按会话分的,而是整个人的长期描述

ETOS 要求它强调:

  • 稳定偏好
  • 工作背景
  • 长期关注点

并且主动避开:

  • 一次性细节
  • 短期噪音

默认更新策略

默认情况下,用户画像每天自动更新一次,也可以在设置里手动编辑、覆盖或清空。

为什么画像不是"自动权威真相"

发送给模型时,ETOS 会明确标注

  • 这是一份历史对话异步整理出来的画像
  • 不应被视为新的用户指令

也就是说——用户画像是参考层,不是最高规则层。模型应该把它当作"用户大概率长这样",而不是"用户命令我必须这样"。

三层怎么配合

速查表

层级作用适合保存什么
长期记忆离散事实检索稳定偏好、长期背景、明确要求记住的事实
会话摘要跨会话连续性这段关系线最近做了什么、得出了什么结论
用户画像长期抽象画像稳定风格、长期关注点、工作背景

典型例子

想让 AI 记住该放到
"默认用中文回答"长期记忆
"我们最近在重写文档站并切到 Teek 主题"会话摘要(自动)
"用户追求产品解释性,喜欢把设计逻辑讲清楚"用户画像(自动 + 可手动编辑)

为什么不把一切都塞进长期记忆

那样会带来两个坏结果:

  • 记忆库被短期任务挤爆
  • 模型无法区分"长期事实"和"最近进展"

三层拆开后,ETOS 才能做到:

  • 长期记忆负责检索事实
  • 会话摘要负责保留关系线
  • 用户画像负责提炼长期偏好

这套分层不是"功能堆砌"——是**让 AI 能解释"我为什么这么说"**的前提条件。

下一步