跳转至

记忆系统

适用范围:本页主要说明独立 Runtime。 记忆将对话中值得保留的偏好和事实,转为后续任务可检索的上下文。它与完整聊天历史、文档知识库和当前任务进度分别管理。

为什么需要分层

把所有历史放进每次请求会提高成本,并把过期或无关内容带入当前任务。Runtime 将信息按使用方式分为四层:

层次 保存内容 对当前任务的作用
工作记忆(Working) 当前处理所需的短期信息 支持本轮上下文组织
情节记忆(Episodic) 会话摘要及其来源关联 回顾发生过什么
语义记忆(Semantic) 偏好、身份、环境与项目事实 复用稳定知识
归档记忆(Archival) 不再参与正常召回的记录 支持管理、维护与追溯

分层是信息管理方法,不代表所有内容都会立即进入长期记忆。临时任务清单与执行状态应留在任务记录中,避免旧进度被当作长期事实反复召回。

从对话到长期事实

回复后,系统根据未整合消息数量等条件安排后台整合:生成会话摘要,提取有价值的事实,检查重复与冲突,再更新存储和索引。该工作异步执行,发送回复时不要求所有长期记忆已写完。

用户明确陈述、后台提取、模型推断与旧版迁移具有不同来源可信度。较低可信来源不能随意覆盖用户明确提供的事实。写入还会检查可疑指令和不可见字符,减少把外部内容转为长期指令的风险。

召回与排序

flowchart TD
    S([收到查询]) --> A[按作用域与有效性筛选候选]
    A --> B[关键词召回]
    B --> V{向量召回可用且已启用?}
    V -->|是| C[执行向量召回]
    V -->|否| D[融合可用结果并过滤无区分性匹配]
    C --> D
    D --> E{精排可用且已启用?}
    E -->|是| F[在限定预算内精排前列候选]
    E -->|否| G[保留融合顺序]
    F --> H{精排成功?}
    H -->|是| I[使用精排结果]
    H -->|否| G
    I --> J[结合重要性与上下文预算选取]
    G --> J
    J --> T([返回相关记忆])

关键词检索擅长名称、编号等精确线索,向量检索补充语义相近的表达;倒数排名融合(RRF)将不同检索方式的排名组合起来。可选精排再比较查询和候选的相关性。嵌入或精排超时可回退,避免增强能力阻塞整轮响应。

记忆向量与知识库索引是不同存储。记忆向量带有嵌入模型标识;模型改变后,不兼容的旧向量不应继续参与同一语义空间的比较,而需重新嵌入。

有效性、冲突与遗忘

正常召回排除归档、已被取代和未解决冲突的条目。旧版本仍可用于管理追溯,但不会以低权重继续混入普通回答。

环境事实会随长时间未使用而降低有效重要性,使用可强化保留;活跃的用户身份与偏好免于一般时间衰减。归档、旧版本清理与删除分别受维护策略约束。

新旧事实发生矛盾时,系统先筛选可能冲突的记录,再结合来源与语义判断处理。无法解决的冲突保留待处理状态,避免把两种相反结论同时作为确定事实提供给模型。

Desktop 的记忆

Desktop 使用自己的内嵌记忆实现,提供统一设置、来源查看、更正和遗忘。全局偏好与项目事实按用途划分,专家团成员记忆另有范围。它不自动复用本页所述 Python 存储或配置。操作见文档、知识与记忆。

使用上的判断

长期记忆适合稳定事实,知识库适合有来源的文档,聊天历史适合回查原话。检验记忆时,应检查实际条目、作用域和来源,不宜仅凭模型声称“我记住了”判断写入成功。Runtime 操作见记忆管理。