点击播放本文语音版
知识不记就等于没做:AI 自动沉淀流水线设计
知识不记就等于没做:AI 自动沉淀流水线设计
你有没有这样的经历:
花了两个小时解决一个技术问题,当时觉得"这辈子都忘不了",结果两周后又遇到同样的问题,完全想不起来当时怎么解决的,只能重新查资料、重新踩坑。
或者,你和 AI 助手一起完成了一个很棒的流程,下次想复用时,发现它"忘了",你们得从头再来。
这就是知识管理的痛点:做了很多事,但知识没有沉淀下来。
知识自动沉淀流水线,就是用来解决这个问题的。
核心问题:为什么知识总是丢失?
知识丢失通常有三个原因:
第一,没有记录习惯。忙起来就忘了写,或者觉得"这次这么简单,不用记"。
第二,不知道记在哪。是写进备忘录?还是发到 Slack?还是存进某个文档?选择成本让人放弃记录。
第三,记了也找不到。即使写了,散落在各处,需要的时候检索不到,等于没记。
知识流水线的目标是:消灭"靠人记",让知识自动落地到正确的位置。
六种自动触发器
流水线的核心是"自动触发"。当特定条件满足时,系统自动把知识写入对应的位置,不需要你主动说"记一下"。
这六种触发器按优先级排列:
T1:活跃 15 分钟 → 静默写摘要
对话开始约 15 分钟后(大约 10-15 轮交互),系统自动把这段对话的核心决策和产出写入 daily notes,不超过 5 行。
这是"静默写入"——不打断对话,不告诉你,只是默默记下来。就像一个好的助理,在你聊天的时候做笔记,但不会在你说到一半时插嘴"我记一下"。
T2:对话超过 30 轮 → 保存完整进度
当对话超过 30 轮,说明这是一个复杂任务。系统会保存完整的产出清单和未完成任务,写入 daily notes 和 /tmp/openclaw_progress/。
这样即使 session 意外中断,新的 session 也能从进度文件接手,不会从头再来。
T3:明确产出完成
当出现明确的交付物(一份报告、一段代码、一个部署结果),系统会在 daily notes 记录产出的位置和状态。
如果这个过程形成了通用流程,会交给 T4 判断是否需要写成 procedure。
T4:操作步骤 ≥3 + 涉及外部工具 → 写操作手册
这是最实用的触发器。如果一个操作满足三个条件:
- 步骤 ≥3 个
- 用到了 exec、browser、web_fetch、message 等外部工具
- 以后可能再做(不是一次性调试)
系统会自动把它写成 procedure 文件,包含:概要、适用场景、前提条件、步骤、验证方法、常见错误、踩坑记录。
T5:蜂群完成 → 扫描任务总结
当多个 AI 实例协作完成一个复杂任务后,系统会读取任务总结的 takeaways,分类处理:
- 踩坑铁律 → 写进 MEMORY.md + 存入向量库
- 可复用流程 → 交给 Instinct 进入候选池
- 普通过程记录 → 写 daily notes
- 跨实例相关 → 额外写 shared-learnings.md
T6:你明确说"记住" → 立即写入
当你明确说"记住"、"别忘了"、"存一下"、"以后会用"、"沉淀下来"时,系统立即判断知识类型并写入对应位置。
写入后会回读验证,然后回复确认:"已写入 [文件路径]"。如果是重要铁律或偏好,会同时写入文件和向量库。
四类写入目标
知识不是随便写在一个地方,而是根据类型分流到四个目的地:
Daily Notes:今日决策和进展
记录本 session 做了什么决定、完成了什么、还有什么没做完。
格式是时间戳段落,包含:事项、产出、决策、未完成、下一步。
这是"过程记录",不是"长期知识"。一周后这些记录的价值就会下降,但短期内对任务接续很重要。
Procedures:可复用操作流程
步骤 ≥3、涉及外部工具、以后可能再做的操作,会写成操作手册。
比如"Supabase 音频更新流程":删除旧文件 → 上传新文件 → 更新 Markdown 的 audioUrl。
这类文件包含完整的前提条件、步骤、验证方法、常见错误,让下次执行时可以直接照做,不需要重新摸索。
MEMORY.md:长期铁律和偏好
那些"一周后还有价值"的信息:你明确说的规则、踩坑后的教训、不随时间变的偏好。
比如"MiniMax TTS 首选音色是 Japanese_GracefulMaiden"、"自动化任务连续失败 3 次必须停止"。
这类信息写在 MEMORY.md 的 Key Lessons 部分,同时存入向量库便于检索。
Shared-Knowledge:跨实例通用经验
涉及多个 AI 实例的配置、操作、踩坑,或者多实例共用的规范。
比如"四实例同步 SOP"、"浏览器自动化规范"。这类知识写在 ~/.openclaw/shared-knowledge/,所有实例共享。
双写原则:为什么同时写文件和向量库
重要内容会同时写入两个地方:
| 重要度 | 文件写入 | 向量库 |
|---|---|---|
| 铁律/踩坑 | ✅ MEMORY.md | ✅ importance=0.9 |
| 偏好 | ✅ MEMORY.md | ✅ importance=0.8 |
| 操作流程 | ✅ procedures/ | ✅ importance=0.7 |
| 工具/命令 | ✅ TOOLS.md | ❌ |
| 日常记录 | ✅ daily notes | ❌ |
为什么这样设计?
文件持久化:即使系统重启、数据库丢失,文件还在。这是"最后一道防线"。
向量库可检索:通过语义相似度搜索,新 session 可以找到相关的历史知识,即使关键词不完全匹配。
比如新 session 问"怎么发博客",向量库可以检索到"博客发布流程"这个 procedure,即使标题里没有"发"这个字。
防写入风暴:优先级和互斥
多个触发器可能同时激活。比如对话超过 30 轮(T2),同时你明确说"记住"(T6),同时又有明确产出(T3)。
这时候按优先级处理:T5(蜂群收尾)> T6(session 收尾)> T4(明确要求)> T3(明确产出)> T2(长对话)> T1(活跃 15 分钟)。
高优先级完成后,同一时间窗口(15 分钟内)的低优先级只补事件日志,不执行主流程。
这样可以避免重复写入、文件冲突。
写入前去重检查
真正写入前,系统会做一次轻量检查:
- MEMORY.md / procedures / TOOLS / daily notes 中是否已有高度相似条目?
- 如果有,是更新原条目还是新建?
长期知识:更新原条目,不重复新建。
Procedures:优先补充已有 SOP,不新开重复文件。
Daily notes:追加模式,绝不整段重写覆盖。
写后验证机制
每次写入后,系统会至少做一项验证,不允许"假装已保存":
文件类验证:文件存在、新增内容包含关键字、没写到错误文件。
结构类验证:procedure 包含前提/步骤/验证;progress 包含状态/卡点/下一步。
语义类验证:长期偏好没误写成临时状态;单次任务没污染 MEMORY;敏感信息没写到共享文件。
决策路由器
新信息出现时,系统按以下逻辑判断写入位置:
新信息出现
↓
是不是未完成事项?——是→ progress + daily
↓否
是不是长期偏好/事实/决策?——是→ MEMORY + memory_store
↓否
是不是≥3步可复用操作?——是→ procedure(写后交 Instinct 判断是否候选)
↓否
是不是工具/命令/本机参数?——是→ TOOLS
↓否
是不是跨实例通用经验?——是→ shared-knowledge
↓否
是不是可升级的模式?——是→ instinct 候选池
↓否
写入 daily note 作为过程记录这个路由器的价值是:你不需要想"这个该记在哪",系统会自动判断。
实际例子
例子 1:Supabase 音频更新
场景:你让 AI 帮你在 Supabase 上传了音频文件(3 步:删除旧文件 → 上传新文件 → 更新 Markdown 的 audioUrl)。
系统判断:步骤=3 ✓,用了 curl ✓,以后可能再做(博客音频会反复更新)✓ → 触发 T4
写入 procedures/supabase-audio-update.md,包含前提条件、步骤、验证方法、常见错误。
写后验证:读取该文件,确认包含前提/步骤/常见错误三个段落。
例子 2:MiniMax TTS 音色偏好
场景:你说"记住,MiniMax TTS 首选音色是 Japanese_GracefulMaiden"。
系统判断:明确说"记住" → T6 触发 → 类型=长期偏好 → 双写
- 写入 MEMORY.md:"MiniMax TTS 首选音色(全场景默认): Japanese_GracefulMaiden"
- 存入向量库:category="preference", importance=0.8
- 回复:"已写入 MEMORY.md + 向量库"
例子 3:蜂群收尾 takeaway 分流
场景:蜂群任务总结的 takeaway 是"MiniMax TTS 必须用 JSON body + voice_setting 对象"。
系统判断:这是踩坑铁律(Rule),不是可复用流程(Skill)→ 不进候选池
- 写 MEMORY.md Key Lessons
- 存入向量库 category="fact", importance=0.9
失败防呆
流水线设计了多重防呆机制:
| 失败模式 | 后果 | 防呆规则 |
|---|---|---|
| 什么都往 MEMORY 写 | 长期记忆污染 | MEMORY 只收"一周后还有价值"的信息 |
| 只保存"结果",没保存"未完成项" | 下次接手断档 | 长对话+session 收尾时强制检查未完成事项 |
| 保存了但没验证 | 口头上记住,实际上丢了 | 写后立即 read 回读关键段落 |
| 流程经验直接升 Skill | 技能泛滥 | 流程经验先给 instinct candidate,不直接升 |
| 共享文件泄露私密信息 | 隐私风险 | shared-knowledge 不写私人数据/客户信息 |
与 Instinct 的分工
知识流水线和 Instinct 持续学习机制是上下游关系:
- 知识流水线:负责把内容存下来,放到正确位置,保证下次能接手(收纳系统)
- Instinct:从已存内容里看出模式,判断是否制度化,发起升级建议(模式升级系统)
会话内容 → knowledge-pipeline 落盘 → Instinct 识别模式 → 人决定是否升级硬边界:对于"≥3 步且涉及外部工具/API"的内容,默认先由流水线落 procedure / daily notes,再由 Instinct 判断是否进入候选池。不允许两边各自独立生成重复资产。
总结
知识自动沉淀流水线的核心价值是:消灭"靠人记",让知识自动落地到正确位置。
六种触发器(T1-T6)覆盖从"静默记录"到"明确指令"的各种场景。四类写入目标(daily notes / procedures / MEMORY / shared-knowledge)确保每类知识都有合适的归宿。双写原则(文件 + 向量库)兼顾持久化和可检索性。
优先级互斥、去重检查、写后验证、失败防呆,这些机制确保流水线既自动化又可靠。
最终目标是:踩过的坑不重复踩,做过的流程能复用,重要的信息随时能找到。
记住:Text > Brain,写下来比记脑子里可靠 100 倍。
Text > Brain,写下来比记脑子里可靠100倍