← [ BACK_TO_NOTES ]

AI Agent Memory Layer

解释 coding agent 的 memory layer 是什么,以及它与上下文、知识、技能、文件化规则和外部 memory backend 的边界。

#ai #concept #growing

[!info] related notes

AI Agent Memory Layer

[!abstract] 一句话定义 Agent Memory Layer 是跨消息、会话或任务保存并按需取回用户事实、项目知识和历史经验的系统。它负责记忆的生命周期与治理;模型真正推理时,只有被选择并注入 Context 的那部分记忆才可见。

核心架构

Conversation / Event / Tool Result
→ Memory Candidate Extractor
→ Policy + Validation
→ Memory Store / Index
→ Retrieval + Rerank
→ Context Builder
→ Model

Memory Layer 不等于某个向量数据库;存储只是其中一部分。

它应承担什么

  • 候选信息提取;
  • Scope、来源、置信度和敏感度标记;
  • 去重、版本与冲突处理;
  • 短期/长期生命周期;
  • 关键词、结构化和语义检索;
  • Freshness、Permission 与 Context Budget 过滤;
  • 用户查看、纠正和删除;
  • 使用效果、误召回和泄漏评估。

典型作用域

作用域示例
Run / Session当前任务、最近工具结果
User回答偏好、长期目标
Project / Repository架构决策、常用命令、历史故障
Organization团队规范、共享流程
Agent / Tool某个 Agent 的专门经验和限制

作用域必须显式,不能把个人偏好默认共享给所有项目和 Agent。

与相邻信息层的边界

Context
→ 当前调用直接可见的信息包

Memory
→ 使用过程中沉淀、跨轮次复用的状态

Knowledge / RAG
→ 外部资料和可检索事实源

Instruction Files
→ 明确、可审计的规则和流程

Business State
→ 业务数据库中的权威事实

Memory 被取回后会进入 Context,但 Memory 本身不等于 Context。

Coding Agent 为什么特别需要

Coding Agent 会反复进入同一仓库,持续面对:

  • 目录和架构边界;
  • 构建、测试与发布命令;
  • 历史设计决策;
  • 用户代码风格和审阅偏好;
  • 过去出现过的故障与修复;
  • 跨天继续的 Plan / Execution。

但当前代码、测试结果和显式规则通常比旧 Memory 权威。记忆应帮助定位,不应覆盖现场证据。

常见存储形态

  • 关系表:结构化 Fact、Scope、Version、TTL;
  • 文档 / Markdown:可审阅规则和长期知识;
  • 向量索引:语义候选召回;
  • 图结构:实体、关系和时间演进;
  • Event Log:历史 Episode 与 Provenance。

成熟系统常组合多种存储,而不是把所有内容塞进同一向量集合。

常见失败模式

  • 把最近聊天历史叫做“长期记忆”;
  • 自动保存模型推断,未标记置信度;
  • 旧项目事实覆盖当前代码;
  • 跨用户或跨租户泄漏;
  • 检索结果过多,污染 Context;
  • 只支持新增,不支持修正、失效和删除;
  • 把 API Key、Token 或敏感医疗信息无条件长期保存。

最小实现顺序

1. Explicit scoped facts
2. Source + version + updated time
3. User-visible edit/delete
4. Retrieval filters
5. Semantic search as candidate recall
6. Conflict / forgetting policy
7. Eval and observability

先把结构化、可控的少量记忆做好,再扩展自动抽取。

学习检查

不看正文回答:

  1. Memory Layer 为什么不等于向量数据库?
  2. Candidate extraction、policy、store、retrieval、rerank、context injection 分别承担什么职责?
  3. Memory 与当前 Context、RAG Knowledge、Business State、Instruction File 的边界分别是什么?
  4. 为什么项目代码和当前测试结果通常应比旧 memory 更权威?
  5. User / Project / Session / Organization scope 为什么必须显式?
  6. 什么情况下“自动记住更多”反而会降低 Agent 质量?
  7. 为什么 Memory 系统必须支持纠正、失效和删除,而不能只 append?
  8. 给一个 coding agent 跨天继续任务的案例,设计需要记住与不应该长期记住的内容。

掌握验收

  • 能画出写入、存储、检索、过滤和注入链路。
  • 能说明 Memory 与 Context / RAG / Business State 的区别。
  • 能为用户、项目和会话设计隔离 Scope。
  • 能处理冲突、过期、纠正和删除。
  • 能用任务指标评估 Memory,而不只看召回率。
创建于 2026/4/20 更新于 2026/9/30
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本