Will's AI Lab
Blog
AI LearningAI PerspectivesCasesTimelineAbout
中文日本語EN
中文日本語EN

© 2026 Will AI Lab. All rights reserved.

Powered by Next.js & AI

Sites

Aboutfuluckai.comFuluck Cattery

Social Links

Instagram@fuluck_catteryGitHub@konayuki56XiaohongshuOsaka Cattery Diary
HomeBlogAI PerspectivesTimeline
Blog
Unrecorded Knowledge Is Lost Knowledge: Designing an AI Auto-Save Pipeline
🎙
播客导读

Listen to this article

AI LearningOriginal

Unrecorded Knowledge Is Lost Knowledge: Designing an AI Auto-Save Pipeline

WillMarch 29, 2026About 7 min read

知识不记就等于没做: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 + 涉及外部工具 → 写操作手册

这是最实用的触发器。如果一个操作满足三个条件:

  1. 步骤 ≥3 个
  2. 用到了 exec、browser、web_fetch、message 等外部工具
  3. 以后可能再做(不是一次性调试)

系统会自动把它写成 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 触发 → 类型=长期偏好 → 双写

  1. 写入 MEMORY.md:"MiniMax TTS 首选音色(全场景默认): Japanese_GracefulMaiden"
  2. 存入向量库:category="preference", importance=0.8
  3. 回复:"已写入 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 倍。


PreviousHow AI Continuously Learns: Auto-Accumulating Reusable Skills from ConversationsNextWhat My AI Team Did Today: 5 Swarm System Improvements
Blog

评论

加载中...

发表评论

0/1000

Table of Contents

  • 核心问题:为什么知识总是丢失?
  • 六种自动触发器
  • T1:活跃 15 分钟 → 静默写摘要
  • T2:对话超过 30 轮 → 保存完整进度
  • T3:明确产出完成
  • T4:操作步骤 ≥3 + 涉及外部工具 → 写操作手册
  • T5:蜂群完成 → 扫描任务总结
  • T6:你明确说"记住" → 立即写入
  • 四类写入目标
  • Daily Notes:今日决策和进展
  • Procedures:可复用操作流程
  • MEMORY.md:长期铁律和偏好
  • Shared-Knowledge:跨实例通用经验
  • 双写原则:为什么同时写文件和向量库
  • 防写入风暴:优先级和互斥
  • 写入前去重检查
  • 写后验证机制
  • 决策路由器
  • 实际例子
  • 例子 1:Supabase 音频更新
  • 例子 2:MiniMax TTS 音色偏好
  • 例子 3:蜂群收尾 takeaway 分流
  • 失败防呆
  • 与 Instinct 的分工
  • 总结