记忆 Cold-start 叠加(跨会话摘要)

Cold-start 是 wesgine 三层记忆自动注入中的第三层——在新会话首轮将上一次会话的摘要和关键上下文重新注入,帮助 Agent "接上"之前的话题。


触发条件

Cold-start 叠加仅在新会话首轮触发,且需要满足:

  1. CellSpec 或运行时配置中 CrossSessionDays > 0(默认 0 = 整面关闭)
  2. 存在之前的会话摘要
  3. 摘要尚未过期(距今不超过 CrossSessionDays 天)
  4. Key 不是当前正在开的会话(避免自引用)

ColdStartCarriesRow

Cold-start 层携带的条目由 ColdStartCarriesRow 判定:

Kind是否携带说明
context✅跨会话摘要的主要载体
episodic❌仅当前会话内有效
其他❌由 Eager 或 Lazy 层覆盖

注入位置

用户消息 "你好,继续上次的工作"
    ↓
BuildColdStartOverlay(actor, sessionID)
    ↓
查找之前会话的 KindContext 条目
    ↓
ActorVisible 过滤(读私有域)
    ↓
RecallQualityOK 过滤
    ↓
CrossSessionDays 过期检查
    ↓
排除当前 sessionID
    ↓
注入到用户消息副本中

Cold-start 内容作为上下文注入到用户消息的副本中,不是系统提示词也不是独立消息。


可见性

Cold-start 与 Eager 使用相同的可见性对——ActorVisible(读私有域)。这意味着一个 actor 只能看到自己之前会话的摘要。


质量门控

所有 Cold-start 注入的条目都经过 RecallQualityOK 检查。被 Digest 标记为 Conflicted 或 stale 的摘要不会被注入。


Store 看不见的门

Cold-start 有两个条件不是条目本身的属性,Store.Validate 对此报告为"条件性"而非直接答案:

  1. CrossSessionDays > 0:这是 Cell 配置,不是行属性
  2. Key 不是当前会话:这取决于调用上下文

裸答"可召回"会在整面关闭的 Cell 上被读成"这条会注入"。


与 CognitiveSettlement 的关系

Cold-start 读取的 KindContext 条目通常由 CognitiveSettlement 在上一个 Run 结束时产出。如果 Settlement 降级或失败,Cold-start 可能没有摘要可以注入。


不变量

INV-MEM-50:Cold-start 的 1 个 arm 必须经过 RecallQualityOK 质量门控。


相关文档