跳到主要内容
版本:1.0(冻结)

记忆架构

记忆不是上下文窗口的无限扩展,也不是把所有日志放进向量数据库。记忆是经过选择、评价、编码、存储、检索、使用和遗忘的经验。

记忆与其他数据的区别

数据类型目的是否直接影响未来决策
原始日志记录系统活动否,需要解释和筛选
事件记录描述已发生事实可能,是记忆候选来源
快照恢复一致状态是,但不等于经验
上下文支持当前推理是,通常短期有效
记忆保存可复用经验是,需要来源和适用范围
知识库提供外部参考资料是,但不属于 Agent 自身经历

把日志直接称为记忆,会丢失“为什么值得记住”和“未来何时适用”两个关键问题。

五层记忆模型

层级回答的问题典型内容默认生命周期
Working Memory我正在处理什么?当前目标、计划、局部推理、临时变量任务或会话级
Episodic Memory我经历过什么?事件、过程、结果、参与者、评价中长期,允许压缩
Semantic Memory我知道什么?从多次经验或可信来源抽取的事实与规律长期,需更新和冲突处理
Procedural Memory我会怎样做?已验证技能、流程、策略和适用条件版本化长期保存
Self Memory我如何变化?能力表现、失败模式、偏差、限制、成长历史长期且高敏感

这五层可以采用不同存储技术,但必须通过稳定引用互相关联。

记忆生命周期

Experience
-> Candidate Selection
-> Evaluation
-> Encoding
-> Storage
-> Retrieval
-> Use and Outcome
-> Reinforce / Revise / Decay / Forget

经验形成

经验由一组带时间和因果关系的事件组成。单个工具返回值通常不足以成为经验;至少需要目标、动作、结果和评价上下文。

候选选择

以下情况可以提升记忆价值:

  • 结果显著优于或差于预期;
  • 发现了新的稳定规律;
  • 出现高风险故障或恢复成功;
  • 人类显式要求保存;
  • 经验可以泛化到多个未来场景;
  • 经验改变了自我模型或能力判断。

频繁、低价值、可从权威数据重新计算的内容通常不应进入长期记忆。

评价与编码

记忆编码至少保存:

MemoryRecord
├── memory_id
├── agent_id
├── type
├── summary
├── source_refs
├── observed_at / encoded_at
├── scope and applicability
├── confidence
├── sensitivity and visibility
├── evaluator and evaluation_method
├── version / supersedes
├── retention_policy
└── usage_stats / last_used_at

摘要不能替代来源。任何抽取或压缩后的记忆都应能追溯到原始事件或权威资料。

检索模型

检索不是只按向量相似度排序。一个可解释的候选评分可以综合:

score = relevance
× confidence
× applicability
× permission
× freshness
× historical_utility
- contradiction_penalty
- sensitivity_cost

具体公式是实现选择,但以下约束必须成立:

  • 权限不满足的记忆不能因相关性高而被返回;
  • 已过期或被新版本替代的记忆必须降权或隐藏;
  • 冲突记忆不能被静默合并为单一事实;
  • 检索结果应说明为什么命中以及来自哪里;
  • 使用后的实际效果应反馈到记忆效用评价。

冲突与更新

当新经验与旧记忆冲突时,不应直接覆盖。处理流程应为:

  1. 保存新观察及其来源。
  2. 标记冲突范围和受影响记忆。
  3. 比较来源权威性、时间、环境和适用条件。
  4. 选择确认、修订、限定适用范围或保留不确定性。
  5. 建立 supersedes 或冲突关系。
  6. 重新评价依赖旧记忆的程序性策略。

遗忘、降权与压缩

遗忘是资源治理和认知质量机制,不是简单删除。可以采用:

  • 时间衰减:长期未使用且低价值的记忆降低权重;
  • 结果衰减:多次使用未产生正向效果时降低权重;
  • 摘要压缩:将大量相似情景合并为保留来源的模式;
  • 版本替代:隐藏已被新事实或新流程明确替代的内容;
  • 策略删除:根据隐私、合规或所有者请求删除;
  • 冷归档:退出在线检索但保留审计能力。

删除必须考虑派生数据:删除原始记忆后,基于它生成的语义结论、程序性策略和自我模型也可能需要重新评估。

共享与隔离

记忆可见范围至少包括:

  • private:仅所属 Agent;
  • relationship:指定协作关系内可见;
  • team:团队或任务空间内可见;
  • tenant:租户内受策略控制地可见;
  • public:允许公开检索。

共享需要同时满足:原始来源允许共享、内容敏感度允许共享、接收方有用途授权、派生使用受同等或更严格约束。

“共享摘要”也可能泄露原始敏感信息,不能因为经过模型总结就自动降低安全等级。

自我记忆的特殊风险

Self Memory 会直接影响 Agent 对自身能力和限制的判断,因此需要更严格的证据:

  • 模型自述不能单独证明能力;
  • 一次成功不能证明稳定熟练;
  • 一次失败不能永久定义能力上限;
  • 能力评分需要明确任务分布、评价方法和样本规模;
  • 更新自我模型应保留旧版本和回退原因。

记忆安全

主要风险包括提示注入被长期保存、隐私数据跨 Agent 泄露、错误摘要覆盖事实、过期策略继续被使用,以及攻击者通过重复输入提高错误记忆权重。

防护要求:

  • 进入长期记忆前进行来源和内容检查;
  • 将外部指令与系统授权分离存储;
  • 对敏感字段分类、加密和最小化;
  • 检索时重新执行权限检查;
  • 对高影响程序性记忆设置人工或自动验证门禁;
  • 记录每次记忆使用对决策的影响。

记忆质量指标

指标含义
Precision被检索的记忆中实际有帮助的比例
Recall需要的关键记忆是否被找到
Provenance coverage有完整来源引用的记忆比例
Contradiction rate检索结果中未处理冲突的比例
Staleness使用已过期记忆的频率
Utility记忆使用后对任务结果的实际改善
Leakage越权或跨边界暴露次数

只优化相似度或检索速度,不能证明记忆系统有效。

验收场景

  • 同一事实出现互相冲突的来源时,结果保留冲突和来源,而不是随机选一个;
  • 权限被撤销后,缓存或索引不能继续返回受限记忆;
  • 删除敏感情景记忆后,派生摘要和程序性记忆被识别并处理;
  • 旧流程被新版本替代时,执行面不会继续检索旧版本;
  • 一次异常成功不会立即提升长期能力评分;
  • 快照恢复后,记忆索引游标和权威存储保持一致。