📚 知识自举机制 v2.0¶
Agent 记忆体系架构 — 不让 Agent 忙了一整天却什么都没学到
参考 2026 年最佳实践:Datadog Agent 内存报告 + Towards AI 7 大设计模式
📋 目录¶
1. 问题:为什么需要知识吸收守门员¶
真实踩坑记录(2026-07-28)¶
全天被突发事件占满:处理插件问题 → 修复模型配置 → 同步 Skill 文档。
忙了一整天,但 Agent 本身没有学到任何可复用的新知识。
明天遇到同样的问题,还得从零开始重新解决。
2026 年 Agent 内存问题数据¶
| 数据 | 来源 |
|---|---|
| 69% 的 LLM 输入 Token 都是系统提示 | Datadog 2026 State of AI Engineering |
| 对话历史占上下文窗口的 40-60% | Towards AI 2026 |
| 90% 的历史信息在 3 天后完全没用 | Agent 记忆系统调查报告 2026 |
2. 五级 Agent 记忆体系¶
┌─────────────────────────────────────────────────────────┐
│ 🔴 L5 核心记忆(永久保留) │
│ 用户偏好、工作流习惯、核心原则、长期目标 │
│ (写入本 Skill 文件,跨会话永久有效) │
├─────────────────────────────────────────────────────────┤
│ 🟡 L4 重要记忆(保留 1 个月) │
│ 项目路径、常用配置、最近的任务上下文 │
│ (写入 memory/context-memory.md) │
├─────────────────────────────────────────────────────────┤
│ 🟢 L3 任务记忆(保留 1 周) │
│ 当前正在做的任务、中间结果、待办事项 │
│ (会话级上下文,结束后归档到 memory/) │
├─────────────────────────────────────────────────────────┤
│ 🔵 L2 工作记忆(本次会话) │
│ 临时变量、刚才说的话、工具调用结果 │
│ (存在上下文窗口里,会话结束就丢) │
├─────────────────────────────────────────────────────────┤
│ ⚪ L1 瞬时记忆(本轮交互) │
│ 当前正在生成的内容、用户刚说的话 │
│ (模型内部状态,用完即弃) │
└─────────────────────────────────────────────────────────┘
记忆迁移规则¶
每轮交互结束 → 自动评估
│
├─── 重复出现 3 次以上 → L3 → L4
├─── 用户明确说「记住」 → L4 → L5
├─── 固化为通用规则 → 写入 Skill → 永久保留
└─── 单次临时信息 → 会话结束直接丢弃
3. 每日知识吸收检查清单¶
达标标准:满足任意 1 项 即可¶
| 类别 | 检查项 | 质量评分 |
|---|---|---|
| 📦 新知识入库 | skills/ 目录有新增/更新 |
⭐⭐⭐⭐⭐ 最高 |
| 📝 反思沉淀 | memory/ 目录有当天的反思记录 |
⭐⭐⭐⭐ |
| 🔧 工具经验 | 学会了某个工具的正确用法 | ⭐⭐⭐⭐ |
| 🔍 搜索引擎产出 | 搜索结果转化为了可复用的知识 | ⭐⭐⭐ |
| 💡 问题解决 | 解决了新问题,且有可复用的经验总结 | ⭐⭐⭐⭐ |
守门员警报触发条件¶
⚠️ 警报:今天可能是零产出的一天!
检查发现: - skills/ 目录今天没有更新 - memory/ 目录没有今天的记录 - 没有执行 web_search 并产出对应知识
建议:运行下面的快速吸收流水线,用 5 分钟把今天的收获固化下来。
4. 快速吸收流水线¶
触发守门员警报后的 3 个选项(每个 5 分钟)¶
选项 A:论文速读¶
目标:从今天的 arxiv 入库中挑 1 篇,5 分钟吸收
步骤:
1. 看标题和摘要,挑一篇最感兴趣的
2. 读结论部分,忽略中间的方法/实验
3. 提取 3 个关键点
4. 用这 3 句话写成一条知识卡片
5. 写入 knowledge/papers/YYYYMMDD-标题.md
输出标准:500 字以内,3 个要点,不要啰嗦
选项 B:工具踩坑复盘¶
目标:把今天某个工具的调用坑,固化成正确用法
步骤:
1. 回忆今天哪个工具调用出错了
2. 当时怎么错的?正确用法是什么?
3. 写成「❌ 错误写法 / ✅ 正确写法」对比
4. 写入对应的 Skill 文件的「踩坑记录」章节
5. 如果还没有 Skill 文件,新建一个小的
选项 C:今日最大坑复盘¶
目标:把今天踩的最大的一个坑,变成永久经验
步骤:
1. 今天最浪费时间的问题是什么?
2. 为什么会发生?根本原因是什么?
3. 下次怎么避免?
4. 写成三条可执行的检查项
5. 写入 memory/daily-retrospective/YYYYMMDD.md
5. 知识质量评分体系¶
六星评分标准¶
| 星级 | 标准 | 例子 |
|---|---|---|
| ⭐⭐⭐⭐⭐⭐ | 能直接变成 Skill,下次自动遵守 | 「skill_view 不要带 .md 后缀」 → 写成规则 |
| ⭐⭐⭐⭐⭐ | 能变成检查清单,下次照着做 | 「Cron 任务必须加心跳 ping」 |
| ⭐⭐⭐⭐ | 通用原则,需要时能想起来 | 「不要用字符串拼接路径」 |
| ⭐⭐⭐ | 事实性知识,备查 | 「Healthchecks.io 免费额度 20 个监控」 |
| ⭐⭐ | 临时信息,很快过期 | 「今天 arxiv 出了一篇关于 RAG 的论文」 |
| ⭐ | 纯对话记录,没有可复用价值 | 「用户说这个不行,改另一个」 |
知识迁移漏斗¶
对话/工具调用(100%)
↓
提取可复用点(20%)
↓
写成笔记(10%)
↓
变成检查清单(5%)
↓
固化为 Skill 规则(1%)← 最高价值
6. 记忆清理策略¶
自动过期规则¶
| 记忆级别 | 保留时长 | 清理方式 |
|---|---|---|
| L5 核心记忆 | 永久 | 人工审核,用户说「不用记了」才删 |
| L4 重要记忆 | 1 个月 | 每月 1 号自动清理过期的 |
| L3 任务记忆 | 1 周 | 每周一清理上周的任务上下文 |
| L2/L1 工作记忆 | 会话结束 | 自动丢弃 |
记忆压缩机制¶
问题:Datadog 2026 报告显示 69% 的 Token 都是系统提示和历史对话,上下文被垃圾信息填满。
解决方案:渐进式摘要压缩
会话进行中:保留完整对话历史
↓
会话结束时:压缩成 3 句话摘要
↓
3 天后:压缩成 1 句话
↓
1 周后:只保留「有没有学到什么可复用的」,其他全删
🔄 知识自举闭环¶
每日活动 → 守门员检查 → 零产出警报 → 快速吸收 → 写入知识库
↑ ↓
└──────────── 下次遇到同类问题直接复用 ◄─────────────┘
📈 成熟度评分¶
| 维度 | 评分 | 状态 |
|---|---|---|
| 五级记忆体系 | ⭐⭐⭐⭐⭐ 5/5 | ✅ 完整架构 |
| 守门员警报 | ⭐⭐⭐⭐⭐ 5/5 | ✅ 检查清单完整 |
| 快速吸收流水线 | ⭐⭐⭐⭐⭐ 5/5 | ✅ 3 条 5 分钟流水线 |
| 质量评分体系 | ⭐⭐⭐⭐ 4/5 | ⚙️ 标准完成,待验证 |
| 记忆清理策略 | ⭐⭐⭐⭐ 4/5 | ⚙️ 规则完成,自动化待实现 |
| 整体 | ⭐⭐⭐⭐⭐ 5/5 |