模块 VIII — 数据、知识与上下文
模块 VIII 是受治理的数据平面:它构建知识库,并在一个可插拔的向量索引之上运行语义 RAG, 按身份、分类与驻留地(residency)治理每一次检索,并以**仅追加的血缘(lineage)**记录实际跨越边界的 内容以及驻留门控拒绝的内容,从而以证据支持数据驻留主张,而不是直接断言。它还以数据——而非承诺—— 的形式持有版本化的 prompt 注册表、受治理的智能体记忆,以及 上下文/压缩(compaction)策略。
该模块编排数据平面;它不会重新实现其邻居模块。它从只读数据 connector(连接器)拉取内容, 在任何内容被分块、嵌入、哈希或存储之前,先让每一段正文、prompt 模板和记忆条目经过它自己的 redactor(脱敏器),然后依据身份模块所声明的授权来治理检索。嵌入被委托给一个模型接缝——该模块 绝不直接调用某个提供方——而排序被委托给一个向量索引接缝,因此无论检索是在进程内运行还是针对外部 ANN 后端运行,治理契约都是相同的。
这条红线不可妥协:产品治理客户的数据,绝不出售或外泄这些数据。数据只有通过操作员配置的路径 才会跨越边界——外部嵌入提供商或 SIEM/webhook 输出;驻留门控会对所有其他目的地默认拒绝 (deny-closed)。设计中以三种机制将其记录在案——索引前脱敏、egress gate(出口门控),以及记录 实际边界跨越的血缘。
模块 VIII 在共享数据模型中声明了八个租户范围内的实体:知识库、文档(元数据与来源出处,绝不含 正文)、chunk(已脱敏文本,外加一份继承而来的分类与 ACL)、prompt 及其仅追加的不可变修订、 受治理的智能体记忆、上下文/压缩策略,以及仅追加的血缘行。它的路由挂载在模块自身的命名空间下, 并以认证、租户范围限定与授权进行包裹;读取知识与血缘是一项特权的、被审计的操作。
检索就是安全契约,而顺序就是契约:解析该身份的授权(fail-closed——守卫错误即拒绝,绝不降级放行)、 施加驻留地门控、嵌入查询,然后在排序之前按分类与 ACL 过滤候选项,使得该身份无法看到的 chunk 永远不会进入排序集合,接着排序,最后追加不可变的血缘行。egress gate 叠加在其上构成:一个驻留地 锁定的知识库会拒绝使用会造成出口外泄的 embedder 进行 ingest(摄取)或检索,并在 create、update、 ingest 与 retrieval 各环节强制执行(纵深防御)。文档内容按设计经由一条有类型的 connector 契约传递, 而非事件总线——批量参考数据不得被广播。
在事件总线上
Section titled “在事件总线上”模块 VIII 产生 finding.reported 事件:每次 ingest 中当一个密钥或 PII
被脱敏时产生一份经哈希的 FindingReport,以及当驻留地或 egress gate 拒绝时产生一个 finding——
仅含经哈希的细节,绝不含密钥或正文。取证与合规会消费血缘与这些 finding。就内容而言,它从总线上
不消费任何东西:按设计,内容走的是一条有类型的拉取契约,因此最小化数据是连接的一种属性,
而不是事后施加的运行时过滤。