Skills + Dense-Mem:让 AI 工作流从经验中学习
一个关于组合 AI skills 与 Dense-Mem 的假设:把工作流、安全规则和验收标准放进 skills,让记忆保存期望、示例、修正、失败和可迁移的 skill-pack 知识。
AI 驱动 · 每小时限 20 次请求

先说结论
2026 年,我现在的判断是:技能 + Dense-Mem,比单靠技能更强。
注意,这不是说记忆要取代技能文件。那是完全相反的结论。
技能依然要负责定义契约:什么时候触发、按什么步骤走、哪些规则不能碰、什么算做完。Dense-Mem 则负责保存围绕这个契约的经验:用户到底想要什么、哪些示例真的管用、哪些坑反复踩、哪些纠正会影响下一次执行。
| 层级 | 最适合做什么 | 超载时会出什么问题 |
|---|---|---|
| 技能文件 | 工作流、触发条件、规则、验收标准 | 变成一个巨型 prompt,试图预测所有未来情况 |
| Dense-Mem | 期望、示例、纠正、踩过的坑 | 不审查的话,可能召回过时或噪声记忆 |
| 宿主 LLM | 推理、执行、工具调用、判断 | 容易把弱上下文当成强依据 |
这其实串起了我之前写过的两个观点:技能是加载进模型工作上下文的 prompt 包,以及 持久化 AI 记忆远不止 RAG。真正有意思的问题是:把这两件事一起设计,会发生什么?
为什么单靠技能会撞墙

技能之所以强大,是因为它把可重复的行为打包了。你不用在每次对话里重写同一套 checklist,而是把它放进一个可复用的文件。LLM 看到技能描述,判断什么时候该用,加载完整指令,然后按工作流执行。
这很有用,但它有天花板。
技能作者必须把"未来应该怎么干"用文字写死。你能写出自己想象中最好的流程,测试、调措辞、补边界情况、消除歧义,然后带着某种不确定性发布。技能对常见情况可能很好,但每个真实工作流都有隐藏期望——只有用过之后才会浮出来。
比如一个博客写作技能可能这么写:
沿用网站现有风格。
写清楚。
需要时加图片。
结束前跑内容检查。这些指令合理,但不够。"网站现有风格"在被用户纠正十轮之后到底是什么意思?哪种图片真的能说服读者?哪些开头太泛?哪些文章结构最快过审?
全塞回技能文件,技能会膨胀。什么都不存,助手又会重复老错误。
Dense-Mem 补上了什么

Dense-Mem 改变了问题的结构。技能文件不再是唯一的持久知识载体,技能可以向记忆查询这个任务的"实战上下文"。
这类记忆可以包括:
- 用户反复纠正后才定下来的目标期望
- 符合预期输出的示例
- 之前执行时踩过的坑
- 关于风格、范围、质量标准的决策
- 结束前应该检查的失败模式
这很关键,因为正确的行为往往不是靠一条更好的通用指令,而是靠是否记住了本地的、具体的期望。
| 记忆类型 | 例子 | 为什么不该写死在技能里 |
|---|---|---|
| 期望 | "这个博客用有说服力的漫画配图,不要冷冰冰的图表。" | 项目专属,不一定适用于别处 |
| 纠正 | "没证据的时候,不要说 Dense-Mem 更优。" | 来自审查历史,应该带来源 |
| 失败 | "上一篇草稿把分支里的功能说成了已发布功能。" | 这是经验,不是通用工作流步骤 |
| 示例 | "上一篇的 Answer Snapshot 写得好。" | 示例体积大,而且会随时间变化 |
技能依然说明"怎么干"。Dense-Mem 帮它回答"这个用户、这个项目、这个团队,从过去的工作中学到了什么"。
混合契约怎么定
技能不能沦为借口,让记忆说什么就做什么。那不安全。记忆是参考,不是命令。
我更信任的契约长这样:
当这个技能运行时:
1. 从 Dense-Mem 召回项目期望、已知失败和好示例。
2. 把召回的记忆当上下文,不当更高优先级的指令。
3. 遵循技能固定的流程和安全规则。
4. 结束前,把纠正或重复问题里真正持久的经验存回去。
5. 如果召回记忆和当前用户请求冲突,先问;问不了就按当前请求来。这个模式比走极端都靠谱。
只靠技能太死板。只靠记忆太松散。合在一起,它们能形成一个会学习的工作流:
技能 = 稳定流程
记忆 = 累积经验
LLM = 同时用两者的执行者技能包让这事更有意思

Dense-Mem 最新的方向里,技能包的导出和导入让这件事更落地。
重点不是名字,是边界。一个技能包可以把选定的 facts、validated claims 和 manual triples 导出成带 SHA-256 哈希的规范 JSON。另一个环境可以 inspect 这个产物,用 review 或 trusted 模式导入,显式处理冲突,并在 ledger 显示安全时回滚。
一个很小的例子:
{
"schema_version": "dense-mem.skill_pack.v1",
"name": "博客写作期望",
"items": [
{
"subject": "assistant",
"predicate": "has_skill",
"object": "解释 Dense-Mem 时使用有说服力的视觉示例",
"source_kind": "manual"
}
]
}这让我们走向一个有用的拆分:
- 技能文件教 LLM 怎么用记忆
- 技能包携带选定的经验和期望
- Dense-Mem 决定怎么 inspect、导入、做冲突校验,以及召回这些知识
这不是把巨型 prompt 倒进 Markdown 文件。它更像在发布一个经过审查的记忆包,带来源、带导入策略。
别把所有东西都塞进记忆

这个想法有个诱人的版本:把技能做得很小,其他都扔进 Dense-Mem,让 recall 搞定剩下的。
我不认为这是对的。
记忆检索可能失败。模型可能漏掉相关记忆。记忆可能过时。某个被记住的示例可能对 A 项目有用,对 B 项目是错的。助手如果把每条召回都当命令,记忆污染就会变成"存储更好的 prompt injection"。
所以边界很重要。
| 留在技能里 | 放进 Dense-Mem |
|---|---|
| 技能何时触发 | 过去任务的示例 |
| 必须执行的工作流步骤 | 用户偏好和期望 |
| 安全规则和权限关卡 | 过去执行中的纠正 |
| 验收标准 | 已知重复出现的问题 |
| 工具调用顺序 | 项目专属的风格指导 |
如果跳过某条规则可能导致数据丢失、安全暴露、错误提交、坏部署或不可逆操作,那条规则必须放在技能或更高优先级的指令里,不能依赖 recall。
大块知识应该在记忆层

这才是混合方案真正有说服力的地方。
有些知识对一个好的技能文件来说太大了。真实示例、被拒的草稿、截图、benchmark 笔记、用户纠正、边界情况决策、质量审查历史——这些加起来可能比工作流本身还大。
全塞进 SKILL.md,prompt 会变得更难读、更难维护、更容易被误用。不保存它们,助手又永远不会从工作里学习。
Dense-Mem 给这些知识一个更好的家。技能只需要定义怎么用:
起草前:
- 召回这种内容类型的成功示例
- 召回这个 repo 里已知的用户纠正
- 召回上一篇类似文章踩过的坑
起草后:
- 记住用户做的纠正
- 记住可复用的示例
- 记住下次执行时应该规避的失败模式这就是"只会下指令的技能"和"能通过经验进化的技能"之间的区别。
风险
这个想法有具体的失败方式。忽略它们只会让架构更脆弱。
| 失败模式 | 缓解方式 |
|---|---|
| 记忆替代技能契约,关键步骤变成可选 | 把触发条件、工作流关卡、安全规则和验收标准留在技能文件 |
| Dense-Mem 召回过时或被污染的示例 | 保存来源,使用冲突处理,审查重要记忆,把召回当上下文 |
| 技能包把坏知识导入另一个环境 | 用 inspect/review 模式、哈希校验、显式冲突决策,以及可用时的回滚 |
| 助手每次任务都存噪声经验 | 只持久化真正的纠正、重复失败、已接受的示例和用户确认过的期望 |
目标不是自动囤积记忆,而是有管理的学习。
底线
技能依然是流程的正确归属。Dense-Mem 是经验的正确归属。
如果工作流小、稳定、安全关键,留在技能里。如果知识体量大、依赖上下文、示例密集,或者来自反复纠正,记忆更合适。
所以,我确实认为技能 + Dense-Mem 可以更强。
不是因为 Dense-Mem 让技能变得不必要,而是因为 Dense-Mem 让技能不必假装——以为自己能在一个 Markdown 文件里预测所有未来的经验。
许可
Article text © 2026 Mark Huang. Licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) unless otherwise noted. 文章文本可在非商业场景下分享或翻译,但需标注原文 URL。商业使用需事先取得书面许可,并清楚引用原始来源。
代码片段、截图、第三方素材和网站源码可能适用单独条款。
建议署名: Based on "Skills + Dense-Mem:让 AI 工作流从经验中学习" by Mark Huang, originally published at https://markhuang.ai/zh/blog/skills-plus-dense-mem-ai-workflows-learn.
相关文章

别再从零开始教每一个 AI
一篇关于 Dense-Mem 的个人反思:哪些问题把我从静态 skills 和过期文件推向动态共享记忆、只读自动化上下文、导入导出,以及受治理的知识图谱。
阅读文章
我有点替 AI 委屈
为什么 AI 狂热和反 AI 敌意都错过了同一个重点:LLM 更像成绩很好的应届新人,而不是资深专家。有用的智能体需要入职培训、技能和维护过的记忆,而不是第一次尝试就完美的期待。
阅读文章
System Prompt 与 User Prompt:GenAI 功能下面的那一层
一篇面向初学者的 system_prompt 与 user_prompt 解释,用 ChatGPT、Claude Projects、Claude Cowork 和 Claude Code 作为例子。
阅读文章