Xinwei Xiong · 2026 年 7 月 17 日
9 分钟 · 4412 字 · | EN

搭建 AI 知识库:从零散笔记到可执行工作流

本文记录我如何把零散笔记建成一座可执行的 AI 知识库:用真实战绩约束方法卡,用目录和 Skill 装配创作上下文,用人工验收、失败日志与三日和七日复盘抵抗模型漂移。适合希望让个人知识管理真正进入内容工作流,又不愿把自动化误当成可靠性的创作者与工程团队。核心不是让 AI 代替判断,而是让每条方法可追溯、可比较、可撤回。

连接证据卡、可执行工作流、内容平台与反馈回路的私有 AI 知识兵工厂

框架立完之后,我发现自己没有「第一现场」

「从信息到创作」五篇写完,框架是立住了:信息采集降噪,记录沉淀半成品,知识结构化成能力,创作面向受众重组。但写完第三层·知识 里那句「知识库是你和 AI 共用的第一现场」之后,我一直有点心虚——

我自己并没有这样一个现场。

我的方法论散落在四个地方:博客文章里写过的道理、笔记软件里的碎片、几个 Obsidian 库里的项目资料、还有大量只存在于「上次好像这么干成过」的肌肉记忆里。每次想认真写一篇小红书或者规划一个新平台,都要从头回忆一遍「我是怎么做成上一次的」。

于是我做了一件事:把知识层从概念变成实体——一个私有仓库,代号 arsenal,兵工厂。这篇番外记录它的设计,以及设计背后我真正想清楚的几件事。

对内和对外,是两个系统

第一个想清楚的事,是把「对内」和「对外」彻底分开。

对外的东西大家都看得到:博客、小红书、未来的 X 和短视频。它们是阵地——面向受众、遵循平台逻辑、追求被收到和被连接。这是四层框架里的创作层。

对内的东西只有我自己(和我的 AI)看得到:每个平台的作战手册、验证过的标题公式、我自己的声音规范、踩过的坑。它们是兵工厂——面向自己、追求可复用、只解决一个问题:让下一次开火更准。这是知识层。

        对内(私有仓库 arsenal)
┌────────────────────────────────────┐
│ identity/   我是谁:声音、定位、红线 │
│ playbooks/  每个平台一本作战手册     │
│ methods/    hook 库、结构库、SOP     │
│ swipe/      未验证区(允许乱)       │
│ retro/      复盘与回流车间           │
└──────────────┬─────────────────────┘
               │ 弹药单向输出
               ▼
        对外(各平台阵地)
   博客 / 小红书 / X / 短视频
               │
               └──反馈单向回流──▶ retro/

分开之后,很多长期的拧巴一下子消失了。写给平台的内容不用再顾虑「这个方法要不要藏着」,因为方法本来就不在阵地上;沉淀方法的时候也不用操心排版和表达,因为兵工厂里没有观众。内外混在一起,两头都做不好——这其实就是总纲里「知识解决自己的问题、创作解决别人的问题」的物理隔离版。

下面是我正在使用的脱敏目录。名字是真实的,选题、账号和表现数据没有公开。

arsenal/
├── CLAUDE.md              # 运行规则与权限边界
├── index.md               # 简短路由图,不是第二套知识库
├── log.md                 # 只追加的入库与退役日志
├── identity/
│   ├── voice.md
│   └── red-lines.md
├── playbooks/
│   └── xiaohongshu.md
├── methods/
│   ├── hooks/
│   └── structures/
├── swipe/                 # 外部导入、明确尚未验证
├── retro/
│   ├── reviews/
│   └── failures/
└── skills/
    └── write-xiaohongshu/
        └── SKILL.md

战绩是入库的门票

第二个设计,是给知识库上了一道我以前从来没有的闸门:每张方法卡的 frontmatter 里有一个 evidence 字段,记录它的实战战绩。没有战绩,不许入库。

这是治「收藏夹病」的疫苗。我在第三层里写过,知识库最大的堕落路径就是退化成收藏夹——看到好方法就存,存完就完。这次我把闸门做成了结构性的:外部调研来的结论一律标记 maturity: imported,直译是「进口货」。进口货可以先放着参考,但它在库里是二等公民——只有我自己用过、拿到数据、亲手确认过的,才升级成 tested。

这个设计逼出了一个很健康的副作用:hook 库刻意留空。我没有把调研里那一百条「已验证 hook」搬进来,因为那是别人的验证,不是我的。库里第一张 hook 卡,必须来自我自己第一篇内容的复盘解构。

宁可库是空的,不能库是假的。 空的库会催你去实战,假的库只会给你「我有很多方法」的幻觉——而幻觉正是上一个收藏夹死掉的原因。

一张方法卡故意只保留最少的信息。下面这个例子来自当前仓库,具体账号和内容已经脱敏:

---
id: hook-specific-tension
maturity: tested
platform: xiaohongshu
claim: "具体矛盾比泛泛承诺更值得作为开头候选。"
evidence:
  runs: 2
  compared_with: "同一账号此前十篇同类内容"
  signals: [open_rate, completion_rate, saves]
last_reviewed: 2026-07-17
---

只在正文确实解决了开头提出的矛盾时使用。
如果之后两次运行低于账号滚动中位数,则退役重审。

tested 不等于普遍有效。它只表示这张卡在一个账号、一个明确比较范围里经受过检验。结论走到哪里,适用边界就必须跟到哪里。

目录是地图,宪法、索引、日志

第三个设计直接来自第三层里那个判断:你给 AI 的目录结构,本质上是一张地图。这次我把这张地图画到了底。

仓库顶层有三个控制文件。CLAUDE.md宪法:每个目录负责什么、frontmatter 怎么写、什么东西够格进哪里、AI 在每一层的权限边界。这和 Anthropic 关于 Claude Code 项目指令与记忆 的官方说明一致:Claude Code 可以加载项目级的 CLAUDE.mdindex.md 是我自己设计的总图,不是 Claude Code 的内建能力;我的工作流要求 AI 先读它,再按图索骥。log.md 同样是我自定义的日志:只追加、不修改,每次入库和淘汰都记一笔。

配上三条固定的工作流:采集(新东西先进未验证区,实战有效才提炼入库)、调用(创作任务自动装配对应的上下文)、体检(每月一次:六十天没用过的卡归档,被新数据推翻的结论改写而不是追加,孤儿卡合并或删除)。

写到这里你可能发现了,这就是我在第三层里讲的「淘汰机制」的完整落地——但有一个当时没想透、这次才想透的点:重复维护很适合让 Agent 协助,前提是删除和升级仍由人负责。 Agent 可以提出矛盾、过期卡片和索引变更,但每次运行都会消耗模型 token 和时间,也可能漏掉冲突,或者很自信地归档仍然有用的上下文。所以我的体检工作流只生成可审阅的 diff,不允许静默改写兵工厂。维护变得足够便宜、同时仍可撤回之后,「知识库需要新陈代谢」才从道理变成了我能长期执行的动作。

知识从「文档」变成「动作」

第四个设计,是我认为整套系统里杠杆最长的一根:仓库里带着几个可执行的 Skill。 这里的 Skill 指 Agent 在任务需要时加载的指令目录及其配套资源,结构遵循 Anthropic 的 Agent Skills 官方文档 ;围绕它的路由、证据规则和验收门,则是我自己的设计。

「写一篇小红书」这个 Skill 被触发时,它会尝试装配声音规范、小红书作战手册、匹配的 hook 卡和对应选题卡,然后在这些约束下产出候选稿。输入、输出和验收门都是显式的:

input:
  topic: "为什么 AI 知识库需要淘汰机制"
  audience: "收藏了大量笔记却从不复用的创作者"
  evidence_refs:
    - retro/reviews/2026-07-knowledge-lint.md

required_output:
  - 三个使用不同矛盾的标题候选
  - 一篇为事实主张附上证据引用的初稿
  - 一个封面构想
  - 一份禁用词与无证据主张报告

acceptance:
  - 不得编造第一人称经历
  - 不得把 imported 方法写成已验证
  - 每张引用卡必须存在且未超过复查日期
  - 发布前必须由人确认

这件事的意义值得说透。传统知识库里的知识通常是被查阅的:你要先想起来查、找到、读完、再应用,每一步都在漏。Skill 可以让一部分知识变得可执行:工作流每次主动请求相关材料,不再只依赖我的记忆。但这不等于它会被稳定地「强制注入」。上下文窗口、路由歧义、指令冲突和模型更新,都可能让卡片被漏读或误用。

我在第三层里说「你每把知识库结构化一分,AI 就多懂你一分」。现在我愿意说得更克制:结构让意图更容易被检索,可执行让意图更容易被检验。 Agent 不会因此变成我,它只是在约束下交出一个候选结果;失败日志会告诉我,约束在哪一层失效。可检验,才是我愿意押注的那部分。

第一条真正有用的失败,恰好来自声音层。一次生成加载了「金句应当放在论证末尾」这条规则,却漏掉了前提:先完成论证,才配得上金句。结果每句话都像我,整篇却不像我。我没有再补一个形容词,也没有堆更多范文,而是在验收门里新增一条:每个金句都要指回建立它的那一段论证。失败只有在能被命名、能被测试之后,才有资格变成规则。

声音是从旧作里挖出来的,不是凭空定义的

第五个设计针对一个具体的恐惧:AI 味。

兵工厂里最重要的一个文件是声音规范(brand voice)。但我没有坐下来「定义我的风格」——凭空定义出来的风格全是形容词,「真诚」「有深度」「不装」,AI 拿到这种词什么也做不了。

我做的是反向工程:把自己已经发布的、自己最满意的几篇拿出来,从里面反推出可观察的动作规则。比如:小标题必须是完整的判断句,不是名词短语;抽象道理必须配一手案例,不许用编造的「小明」;金句只能出现在论证的末尾,是结果不是装饰;每套方法讲完必须有一段泼冷水。再配一张禁用词表——那些一出现就宣告「这是 AI 写的」或者「这是平台腔」的词,直接列名单枪毙。

声音规范和爆款解构积木,是对抗 AI 味的两道防线。 前者告诉 AI「我从不这样说话」,后者告诉 AI「我上次这样说成功了」。两者都来自真实发生过的东西,这是它们有效的唯一原因。

飞轮的轴:回流比囤积重要

最后一个设计,回应收官篇里那个内容飞轮。飞轮好画,难的是找到轴——到底是哪个具体动作让「反馈回流成新洞见」真的发生,而不是停留在示意图上?

我的答案是一张强制的复盘卡。每篇重要发布,我在第三天看一次早期快照,第七天再看一次慢指标。这不是平台定律,只是适合我当前发布节奏的检查点;如果平台的分发周期更长,复查窗口也应该跟着移动。

复盘卡固定记录五类信号:

信号和什么比较回答什么问题
曝光量此前十篇同类内容的滚动中位数分发是否变化
打开率或点击率同一账号、形式和流量来源开头是否挣到了注意力
完读率相同长度区间的内容结构是否托住了注意力
收藏或有效回复按曝光量归一化内容是否值得保存或讨论
下游行动主页访问、订阅或相关对话注意力是否连接到真实目标

一篇内容高于中位数,不足以让方法升级。第一次只生成候选卡,第二次可比较的运行才可能把它推到 tested;后续回落则退回重审。有了这道闸门,可重复的超预期内容才会被解构,hook 和结构带着明确范围的证据入库;哑火的内容则把死因写进平台手册的反例区。

这个动作的优先级,高于往库里添加任何新知识。因为囤积让库变大,只有回流让库变准。一个只进新知识、不回流战绩的库,本质上还是收藏夹——哪怕它结构再漂亮。

泼冷水:别先把系统搭满

按惯例,方法讲完要泼冷水。这次的冷水我泼给三天前的自己。

设计这套系统的时候,我一度想把所有平台的 playbook、所有结构卡、完整的选题库一次建齐。这正是收官篇里警告过的陷阱:把「搭一套很酷的系统」当成了目的,摸锤子摸得爱不释手,一颗钉子没钉。

实际的冷启动只需要四个文件:一份宪法、一份从旧作里挖出来的声音规范、一本你最想突破的那个平台的手册、一个写作 skill。然后去真实地发一篇。 剩下的一切目录,让它们在真实的发布和复盘里自己长出来。系统是庄稼,不是建筑。

检验标准,还是那一个

这套东西刚建好,它现在的状态是:结构完整,弹药库基本是空的。按我自己定的规矩,它甚至还没资格叫「知识库」——它只是一个承诺。

它好不好,不看我这篇文章写得圆不圆,看下一个复查周期:hook 库里有没有长出带边界的战绩卡,反例区里有没有诚实的尸体,工作流能不能抓住无证据主张,同类内容的结果有没有变化。

孤立的信息很便宜,没有边界的方法论也贵不到哪里去。真正开始值钱的,是带着适用范围的证据、能够检验它的工作流,以及敢于让它退役的复查机制。兵工厂已经建好了,它仍然需要一个清醒的军需官。接下来,该开火了。


本文是「从信息到创作」专栏的实践番外。回到总纲 纵览四层框架,或从第三层·知识 重看这套设计的理论出发点。

读者回响

加入讨论

新文章写好,先寄给你

每有新文章,寄一封信到你的邮箱。双重确认,随时退订。