联邦知识库要避免失控,关键不是让 AI 少做事,而是让跨边界动作变成明确接口。
如果项目 AI 可以随意读取中央知识库、直接修改 wiki、把项目文档复制到公开站点,系统很快会变成一团混乱。你需要的不是更大的上下文,而是一组小而清楚的命令。
我把这组命令分成三类:lookup、promote、publish。
规则文件不够,还需要操作接口
Karpathy-style LLM Wiki 里有一个很重要的启发:AI 维护 wiki 不能只靠自然语言愿望,需要 schema 或规则文件约束 agent 怎么 ingest、query、lint。AGENTS.md、CLAUDE.md、skill 文件都可以承担这种角色。
但规则文件只回答“应该怎么做”,还不够。
知识系统还需要一组可执行操作,回答“现在到底能做什么”。否则 AI 读完规则以后,仍然可能用自己的方式扫目录、改 wiki、复制材料或生成公开稿。
所以我把 federation 规则落成命令:
status -> know the current mode
lookup -> reuse central knowledge
promote -> send stable project knowledge into review
publish -> prepare, review, and sync public output
这些命令不是为了炫技,而是把知识边界变成可执行的协议。
第一步:先判断当前模式
任何跨项目知识工作开始前,都应该先问:我现在在哪个目录?
命令形态是:
kb status
它应该告诉你当前是 central mode、project mode,还是 external mode。
这一步看似简单,但非常重要。因为同一个 Codex,在不同目录里的职责完全不同:
- central mode 可以整理全局知识。
- project mode 默认只处理本地项目。
- publication node mode 负责渲染和构建,不负责补知识真相。
如果没有 mode 判断,AI 很容易在错误目录里做正确动作。
lookup:只查需要的中央知识
当项目里需要复用已有概念或避免重复造轮子时,不要让 AI 扫完整中央库。
用 lookup:
kb lookup "project skill governance"
lookup 的目标不是把所有资料塞进上下文,而是返回相关的概念页、专题页或来源摘要。AI 得到的是一组窄结果,而不是整个 vault。
适合 lookup 的场景:
- 当前项目里出现一个可能已有的概念。
- 需要确认某个方法论是否已经沉淀。
- 需要引用中央库里的公开边界或治理原则。
- 准备晋升项目前,先查是否已有类似知识对象。
不适合 lookup 的场景:
- 让 AI 搜全部隐私材料。
- 用中央知识替代项目事实。
- 为了偷懒跳过当前项目 README、AGENTS 或代码。
promote:稳定项目经验才进入中央待编译入口
项目里经常会产生有价值的经验。但不是每个经验都应该立刻进入中央 wiki。
正确动作是 promote:
kb promote path/to/stable-note.md
promote 的意义是把稳定结论送进中央待编译入口,而不是直接写入长期知识页。
一个内容适合 promote,通常要满足三个条件:
- 它不是临时判断。
- 它对当前项目以外也有价值。
- 它能追溯回原始项目、日期和来源。
这可以避免中央知识库变成项目草稿堆。
publish:公开内容必须走候选、审查和同步
publication 是另一条边界。
公开文章不应该从项目目录直接复制到站点,也不应该在站点里临时补事实。更稳的流程是:
source draft -> prepare -> review -> sync -> set site status
命令形态是:
kb publish prepare <source>
kb publish review <candidate-id>
kb publish sync <candidate-id>
kb publish set-site-status <candidate-id> --status published
prepare 负责生成公开候选和双语 sibling。review 检查隐私、路径、双语、metadata 和 source hash。sync 只把 reviewed candidate 写到站点生成目录。站点负责渲染和构建,不负责发明缺失内容。
这三个接口组成一个闭环
lookup、promote、publish 对应三种动作:
reuse knowledge
promote knowledge
publish knowledge
它们让 AI 可以参与知识系统,但不能绕过边界。
这也是为什么我更愿意做窄接口,而不是把中央知识库直接 mount 给每个项目 AI。接口越窄,责任越清楚;责任越清楚,知识库越能长期维护。
好的知识自动化不是“让 AI 全自动整理一切”。
好的知识自动化是:每一次跨边界动作都有名字、有来源、有状态、有审查。
