Will says
让 AI 真正'记住'什么是有价值的,而不是每次从零开始
How AI Continuously Learns: Auto-Accumulating Reusable Skills from Conversations
Does AI forget everything after each conversation? The Instinct mechanism uses pattern recognition, four knowledge types, and confidence scoring to let AI truly accumulate experience.
Listen to audio
AI 怎么持续学习:从对话中自动积累可复用技能
你有没有想过,每次和 AI 助手聊完天,它学到的东西去哪了?
比如你教它一个整理发票的流程,它这次做得很好。但下次换了一个对话,它好像又忘了,你得从头再教一遍。这不是 AI 笨,而是对话结束后,学到的东西就消失了。
这就是 Instinct 持续学习机制要解决的问题。
核心问题:AI 的"金鱼记忆"
想象你请了一个助理,每次见面都是第一次见面。你昨天教他的事,今天他全忘了。这不是助理能力差,而是你们之间没有"记忆传承"。
AI 助手现在就是这样。每次对话是一个独立的 session,聊完就清空。虽然你可以说"记住这个",但到底记在哪、怎么记、什么时候用,其实没有系统性的设计。
Instinct 的核心目标:让 AI 能从对话中识别出"有价值的重复模式",把它沉淀下来,变成可复用的技能。
解决思路:识别 → 打分 → 升级
Instinct 的工作流程可以概括为三步:
第一步:识别重复出现的操作模式
当 AI 发现自己在做一件"似曾相识"的事时,它会警觉:这是不是可以提炼成固定流程?
触发条件有三类:
显式触发——你直接说"记住这个流程"、"以后还会用"、"封装成 Skill"。这种情况下立即进入提取流程,不需要等重复次数。
蜂群扫描——当多个 AI 实例协作完成一个复杂任务后,系统会自动扫描任务总结,看看有没有可复用的经验。
隐式触发——当同类操作出现 2 次以上,或者操作步骤超过 3 步且涉及外部工具时,后台会自动判定这是否值得记录。
第二步:进入候选池,持续打分
被识别出的模式不会立即变成正式技能,而是先进入"候选池"。每个候选都有一个分数,初始在 0.35-0.50 之间。
分数由四个维度加权计算:
- 可重复性(30%):是否在不同场景出现过?
- 可验证性(30%):是否有明确的结果可以验证?
- 可迁移性(25%):是否不依赖特定的上下文?
- 风险可控性(15%):自动复用会不会带来明显风险?
每次成功复用,分数增加 0.08;在不同场景再次成功,额外加 0.05。但如果复用失败,会扣 0.12。30 天没使用扣 0.10,60 天没使用就标记为过期。
第三步:达到阈值,人工确认后升级
当分数达到 0.65,状态变为"准备审查";达到 0.80,系统会立即发消息给你确认:"这个模式已经验证充分,要不要升级为正式技能?"
关键点:永远不会自动创建正式技能。即使分数再高,也必须经过人工确认。这是"默认保守"原则——AI 可以提取、可以建议,但不能擅自改动系统。
四类知识的分流
不是所有经验都应该变成 Skill。Instinct 把知识分为四类,每类有各自的落点:
Skill:可复用的人机协作流程
特征是"有明确的触发条件和工作流"。比如"博客发布流程":写 Markdown → Git 提交 → Vercel 部署 → 生成 TTS 音频 → 上传 Supabase。
这类知识最终会变成 skills/ 文件,有完整的 description、workflow、触发词。
Procedure:操作手册
更像"操作指南"而不是"对话路由"。比如"如何在 Supabase 更新音频文件",有强依赖的命令顺序和 API 调用。
这类知识落在 memory/procedures/<名称>.md,包含前提条件、步骤、验证方法、常见错误。
Rule:高代价踩坑教训
那些"必须记住,否则后果严重"的铁律。比如"MiniMax TTS 必须用 JSON body + voice_setting 对象,否则会报错"。
这类知识写在 MEMORY.md 的 Key Lessons 部分,同时存入向量库便于检索。
Memory:偏好、事实、一次性决策
比如"我喜欢用 Japanese_GracefulMaiden 音色"、"我的 Vercel token 是 xxx"。这些不适合流程化,但值得记住。
这类知识用 memory_store 存入向量库,或者写在 MEMORY.md 的对应章节。
为什么必须人工确认?
你可能会问:既然 AI 能自动识别、自动打分,为什么不能自动升级?
这里有三个原因:
第一,防止垃圾技能泛滥。AI 可能会把偶然成功的操作当成通用模式。比如某次调试时误打误撞成功了,不代表这个方法真的可靠。
第二,边界条件需要人判断。一个流程在什么场景适用、什么场景不适用,AI 很难完全把握。比如"博客发布流程"在普通博客适用,但在需要多语言同步的博客可能就不适用。
第三,系统稳定性。自动修改 Skill 文件意味着改变 AI 的行为逻辑。如果改错了,可能影响后续所有对话。这个风险必须由人承担。
所以 Instinct 的设计是:AI 负责提取和验证,人负责决策和升级。
实际例子:博客发布流程的升级之路
让我们看一个真实的例子。
第一次:你让 AI 帮你发布一篇博客。它完成了:写 Markdown → Git push → Vercel deploy → TTS 生成 → Supabase 上传。这次操作被记录下来,进入候选池,初始分数 0.40。
第二次:一周后,你又让它发布博客。它复用了上次的流程,成功完成。分数增加到 0.48。
第三次:这次是在不同的项目里,流程依然适用。分数再增加到 0.56,同时因为跨场景复用,额外加 0.05,达到 0.61。
第四次:发布过程中遇到了一个之前没遇到过的问题(Vercel 部署失败),但流程里的错误处理步骤帮上了忙。你给了正面反馈"完美"。分数跳到 0.76,状态变为"准备审查"。
第五次:又一次成功复用,分数达到 0.84。系统给你发消息:"博客发布流程已经验证 5 次,建议升级为正式 Skill,确认吗?"
你确认后,系统生成 skills/blog-publish/SKILL.md,包含完整的触发词、流程步骤、边界条件。候选池中的记录被移除,已升级记录存档。
双写原则:文件 + 向量库
重要候选模式会同时写入两个地方:
- 候选池文件(candidates.json):结构化数据,含分数、步骤、来源
- 向量库(memory_store):便于跨 session 检索
这样设计的原因是:文件持久化,不怕丢失;向量库支持语义检索,新 session 可以通过相似度搜索找到相关候选。
比如新 session 遇到"要发布博客"的需求,先检索向量库,发现"博客发布流程"这个候选,然后复用并更新分数。
失败熔断机制
为了防止系统失控,Instinct 设置了多条熔断规则:
- 单日新增候选超过 5 个 → 暂停自动提取,只写日志
- 同类候选重复 3 条 → 触发去重
- 连续 3 次升级建议被拒绝 → 该类别暂停 7 天
这些规则确保即使 AI 判断失误,也不会造成大量垃圾数据。
每周周报
每周日,系统会生成一份周报:
🧠 Instinct 周报 [2026-03-29]
📊 候选池:12个 | 本周复用:8次
⭐ 待确认升级:博客发布流程(分数0.84,类型:Skill)
⏰ 即将过期(7天内):竞品价格采集(分数0.42)
🗑️ 本周清理:3个过期模式
这份周报让你一目了然:AI 正在学习什么、学得怎么样、哪些需要你关注。
总结
Instinct 持续学习机制的核心思想是:先提取,再验证;先候选,后人工升级;只学可复用流程,不学表面措辞。
它解决了 AI"金鱼记忆"的问题,但不是让 AI 自动改系统,而是通过"识别 → 打分 → 人工确认"的保守流程,让有价值的经验真正沉淀下来。
四类知识的分流(Skill/Procedure/Rule/Memory)确保每类经验都落在正确的位置。双写原则(文件 + 向量库)保证既持久又可检索。熔断机制防止系统失控。
最终目标是:让 AI 真正"记住"什么是有价值的,而不是每次从零开始。