联邦知识库要避免失控,关键不是让 AI 少做事,而是让跨边界动作变成明确接口。

如果项目 AI 可以随意读取中央知识库、直接修改 wiki、把项目文档复制到公开站点,系统很快会变成一团混乱。你需要的不是更大的上下文,而是一组小而清楚的命令。

我把这组命令分成三类:lookup、promote、publish。

规则文件不够,还需要操作接口

Karpathy-style LLM Wiki 里有一个很重要的启发:AI 维护 wiki 不能只靠自然语言愿望,需要 schema 或规则文件约束 agent 怎么 ingest、query、lint。AGENTS.mdCLAUDE.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 全自动整理一切”。

好的知识自动化是:每一次跨边界动作都有名字、有来源、有状态、有审查。