oh-my-muse/design-docs/专题-06-元数据驱动的智能体架构.md
zizi 2124a79312 docs(design): 补知识效用缺环——新增专题-07 消费契约与质量闭环 + 七册配套拍板
第一性原理结论:知识的价值只在被选中并改善产出的那一刻兑现;此前 SoT 钉死了治理
(谁能读什么),缺消费选择(该读哪几条)与输入侧质量(什么算好知识、怎么测)。

- 新增 专题-07 v1(唯一 owner):术语桥(卡↔SoT 载体)、按用途默认消费合同与注入
  视图两档、知识质量三性(可命中/可行动/可持续+口径)、回放评测(参考书=标准答案,
  三评测线+两道合规闸+知识策略对象与上线门禁)、长线进度三期消费、实验台实证附录、
  验收清单 8 条
- 专题-06 v4:拍板双层型判定(craft 1326 条实测无损→不拆,判据不变);新增 §6.4
  参照作品面(参考书实体演变=系统侧证据资产,蒸馏成叙事域成长曲线范式才入 Global);
  世界域六型登记演变历程元素;读取器 purpose 枚举 parse→extraction
- 架构-02 v11:aiContext 值域升级为布尔或用途集(实验台字段级用途裁剪实证反哺)
- 专题-03 v3 / 专题-04 v2(补 .md 改名+离线评估允许样本第 5 类)/ 后端-05 v11 /
  前端-03 v7 / 产品-01·02、前端-02、后端-03 断链修复 / 大纲 v10 / 映射表 v8
- prototypes/ 新增四页签开发者总览

依据:设计文档全库横切取证 + 实验台 9 批实拆实证(活卡 8587、消费端 0 实现、升格
卡向量 0%、p50 实例数 1)。经 codex 与 opus 双独立评审,必修项全部落实。
2026-07-18 00:02:51 +08:00

41 KiB
Raw Blame History

专题-06元数据驱动的智能体架构

  • 版本v4
  • 更新日期2026-07-17
  • 目标读者:架构 / 后端 / 前端 / 产品
  • 边界说明:本册是「元数据驱动的智能体架构」这条横切主线的单一 owner收束四件此前散落无主的事——元引擎与功能链如何共同驱动智能体、拆书作为通用抽取智能体的两处用场、target type 结构本体的全清单与分层判据、统一创作数据读取器与 base 内置机制。术语与双轨不变式的权威在 架构-02-核心数据结构与双轨模型MetaSchema、Canonical/Shadow、domain/scopeAI 链路合同与 Context Assembly 在 专题-03-AI编排上下文与质量评测实现规范;外部 Agent 协议在 专题-05-AI统一交互协议与外部AgentAdapter设计;表结构与字段合同在 后端-04-统一数据库Schema-v1。上述对象本册只链接、不重复定义。
  • 变更记录v42026-07-17拆书实验台证据回填——§4.5 拍板双层型开放问题(craft 公共面实测无损写入同一字段合同单模具双库成立不拆并登记世界域实体型共享「演变历程」元素§6 新增 6.4 参照作品面(参考书实体演变卡 = 系统侧证据资产,蒸馏为叙事域成长曲线范式后才入 Global KB知识消费选择契约与质量闭环整体归新册 专题-07-知识消费契约与质量闭环本册补链接§7 读取器 purpose 枚举 parse 统一为 extraction、字段级裁剪随 aiContext 值域升级(布尔或用途集,权威在 架构-02 §9对齐表述。v32026-07-09结构本体补全 scope 轴空格位——新增 chapter(章节容器)、scene(场景卡)、narrative_state(叙事状态模具)三型,清单 20→23、scope 七值全挂靠,种子四档同步 23 项;钉死读取器只依赖 owner api 模块具名端口(服务即 API与 storage_binding 的权力边界映射非数据通道。v22026-07-09新增 §2.1 检索基座的替换合同与演进方向(引擎缝 + 引擎中立合同,预期纯 Java 自研PG 向量插件 + New-API 嵌入/重排切块收回保护节点。v12026-07-09定稿自 2026-07-08 架构评审将「agent = f(作品 + 元数据 + 知识库)」主线、三体关系、20 型结构本体、统一读取器与 base 机制蒸馏为 canonical。

1. 中枢:元引擎与功能链双枢

理解本册全部内容的钥匙是一句话:Muse 不是「一个功能挂一个外部 app」而是一套元数据驱动的智能体编排。它的中枢在 muse-cloud 的元结构模块里,由两套彼此正交的东西组成。

元引擎MetaSchema是结构模具。它定义一个角色有哪些属性、一段文风从哪些维度刻画、一次转折由哪些要素构成,以及每个字段是否可见、可编辑、可检索、是否可进入 AI 上下文。它约束的是智能体「读哪些字段、抽哪些实体、产出什么结构」。其权威定义见 架构-02 §9 MetaSchema 与配置模型

功能链FunctionChain是流程骨架。一条链由若干节点串成,节点分两种:开放槽位允许替换子智能体,保护节点不可替换。它约束的是「智能体按什么次序跑、哪一步不能外包」。功能链的节点/开放槽位/保护节点语义见 专题-03 §2 系统功能链路,落地的槽位模型见 架构-02 §5.2 系统功能编排与槽位

一句话区分:MetaSchema 定义「结构」FunctionChain 定义「流程」。二者同住元引擎Meta BC——功能链的定义、版本、节点、槽位与 MetaSchema 是一族数据,表结构见 后端-04 §7.2 系统功能链路和槽位。AI runtime 不自持一套编排,而是经 FunctionChainQueryApi 读端口取激活的功能链,据此解析节点序列与开放槽位再做运行编排。这样「谁来定义能力怎么串」与「谁来执行这次编排」分属两个 BC定义在 Meta、执行在 AI避免编排逻辑在两处各写一份而漂移。

由这两枢得到本架构最重要的性质:每个智能体都是 f(作品 + 元数据 + 知识库)。任何智能体运行时同时结合三样输入——作品提供「写什么/改什么/查什么」的对象与近邻语境,元数据决定「读哪些字段、抽哪些实体、产出什么结构」(它是产出结构的模具),知识库提供「作品事实」与「公共参考」两类支撑。因此智能体的类型是固定的产品功能(写死在功能链节点上),但产出是元数据驱动的动态结果:管理员在元引擎里给「世界设定」加一个字段「金手指类型」,或给「文风」加一个维度「反转密度」,不改一行智能体代码,拆书就会多抽这个属性、规划会多生成这个字段、检测会多查这个维度。这就是「类型固定、元数据变则产出变」。

flowchart TB
    subgraph Meta["元引擎 MetaSchema结构模具"]
        MS["target type / 字段 / 枚举 / 校验<br/>aiContext 开关 / 输出合同"]
    end
    subgraph Chain["功能链 FunctionChain流程骨架 · 经 FunctionChainQueryApi 激活)"]
        direction LR
        N1["保护节点<br/>输入合规 / 权限过滤"] --> SLOT["开放槽位<br/>能力子智能体"] --> N2["保护节点<br/>质量门控 / 输出合规"]
    end
    W["作品 Content"] --> SLOT
    K["知识库 Knowledge"] --> SLOT
    MS -. 约束读入与产出结构 .-> SLOT
    MS -. 定义可入 AI 字段 .-> W
    SLOT -->|候选| Shadow["Shadow 待审"]
    Shadow -->|用户确认| Canonical["Canonical 正式事实"]

2. 三体关系muse-cloud / dify-agent / dify-rag / New-API

先破一个误解:dify-agent 与 dify-rag 不是两套部署,而是同一个 Dify 实例的两个功能平面,靠两类 API key 区分——app key 只能打 app/workflowdataset key 只能打 datasets混用即被拒。四方职责如下。

角色 是什么 持有什么 边界
muse-cloud 大脑与主权 元引擎、功能链、运行权限包、双轨Shadow/Canonical、审计、用量归属、编排 业务事实源与权限裁判;绝不让外部写 Canonical
dify-agent 开放槽位的能力执行 Dify chat/workflow app 只是能力节点,只返回候选,不是可入库事实
dify-rag 检索基座 Dify Datasets每知识库一物理库 检索基座不等于事实源;缺来源/授权的结果不进上下文
New-API 底层模型网关 真实模型与向量/重排 用量、成本、归属的权威Dify 用量仅作脱敏审计

主权原则一句话:Muse 编排Dify 执行Muse 裁判。两个 Dify 平面都是可替换的外部底座——指定了 Dify 却未配置时失败关闭,绝不回退 New-API 伪装成功Dify 全挂时 Muse 也只失败关闭,用户读写 Canonical 不受影响。外部运行时接入的统一协议与 adapter 边界见 专题-05

2.1 检索基座的替换合同与演进方向

检索基座的可替换不是口号,而是由两道既有接缝保证的。引擎缝:知识域内部只有一个检索运行时接口,引擎实现(当前是 Dify Datasets未配置时是失败关闭的空实现按装配切换dataset 等引擎侧标识全部收在接缝之下;合同缝知识域对上AI 编排、统一读取器)暴露的检索 facade-api 是引擎中立的——请求携带租户、用户、作品等隔离与授权要素,返回携带来源标注与被剔除来源清单。由此,查询语义(查什么、按什么授权、怎么进上下文)永远在 muse-cloud引擎只执行「给定集合范围内的相似度检索」;逻辑与物理的用户隔离同样是 muse-cloud 服务端的裁决引擎不承载信任边界——Dify 并不认识 Muse 的用户,今天的隔离本来就是「每知识库一 dataset + Muse 侧授权前置」。

这两道接缝决定了演进路径:当期取 Dify Datasets 快速闭环;预期演进方向是纯 Java 自研检索基座方向性预期非当期承诺——PostgreSQL 向量插件承担向量索引与行级隔离过滤(向量检索与作品/库/用户过滤在同一条查询内完成,隔离强于外部 dataset嵌入与重排经 New-API 端点调用(二者本就是模型调用而非库能力),切块收回 Muse设计上它本就是保护节点专题-03)。迁移成本被接缝锁定为:一个新的检索运行时实现加摄入链,上层合同、统一读取器与双轨全部不动。

一次生成的完整数据流由 muse-cloud 全程编排,外部两平面只在「检索」与「能力执行」两处被调用,产出一律以候选身份回到 Muse 的保护节点。

sequenceDiagram
    participant U as Studio 用户
    participant M as muse-cloud编排 + 主权)
    participant R as dify-rag检索
    participant A as dify-agent能力执行
    participant N as New-API模型网关
    U->>M: 续写请求
    M->>M: 生成运行权限包 + 按 MetaSchema 组装上下文
    M->>R: 按授权检索绑定库
    R->>N: 向量检索 / 重排
    R-->>M: 授权片段(带来源 / 状态)
    M->>A: 组装后的上下文
    A->>N: 模型推理
    A-->>M: 候选(仅候选)
    M->>M: 保护节点:静态检查 / 质量门控 / 输出合规
    M-->>U: Shadow 候选 + 创作健康度解释
    U->>M: 接受 / 改后合并 / 丢弃
    M->>M: 写 Canonical 正文 + 来源归因

3. 智能体三层清单

按主权边界,智能体分三层,只有第一层可以挂 Dify app。这样切分有三个理由主权Shadow→Canonical 的裁决不能被外部替换)、可替换性(同一开放槽位可在 Dify、New-API、未来 AgentScope 之间换而不动主链)、可解释与可审计(保护节点必须产出 Muse 可追溯的结论)。

第一层 · 开放能力子智能体(可挂 Dify app/workflow 或 New-API也是用户/市场智能体的插入点):

智能体 做什么 依赖(作品 + 元数据 + 知识库) 产出与边界
写作 续写/改写/扩写/润色/纠错/去 AI 味/角色声音 近邻正文 + style/pacing/craft + Local KB 与检索片段 只进 Shadow不写 Canonical不替换保护节点
拆书/分析 按 MetaSchema 从文本抽实体/关系;全书解析、章节抽取、结构拆解 源文本 + 实体类 target type + 目标库Global/Local 章节审阅后才建草稿;系统级只产抽象范式、不留原文
检测 一致性/角色声音/文风/风险/语义偏离检查 候选或正文 + 检查约束 target type + Local KB Canonical 只产解释与定位,不直接改正文或知识
规划 生成大纲/世界设定/人设 作品方向 + work_core/outline/world/character + Local KB 规划候选只进 Shadow未确认不得进后续生成上下文

第二层 · 保护节点智能体Muse 自持,即使调用 LLM 也不外包为可配置 Dify app只走受控内部路径质量门控与 LLM-Judge 在候选交付前按质量维度评分并做 Shadow 内有限重写;合规与语义围栏对输入输出做失败关闭的合规裁决,不可被质量分放开;离线质量评估对智能体/Prompt/策略跑评估集回归,不影响用户当前候选。它们是「先审后入」主权的执行者,质量维度的定义见 专题-04-生成质量门控与创作健康度设计方案

第三层 · 知识基座不是「app」RAG 检索按授权从绑定库的 Dify dataset 循环检索合并,返回带来源/授权/状态的片段;切块、入 RAG、索引是资料摄入的保护节点处理未过不得进生成上下文。

三层与功能链节点一一对应:生成链对应写作智能体,分析/导入解析链对应拆书智能体,检测链对应检测智能体,规划链对应规划智能体,知识处理链对应拆书入库与 RAG质量链与合规链落在保护节点智能体上。功能链是编排骨架智能体是槽位里的能力。


4. target_type 结构本体

4.1 元数据用途类与本体分组的分层

元数据不是一张平表。它按用途分五个元数据用途类,其中只有第一类是「实体有哪些属性」、被拆书与生成直接消费;其余四类各有独立 owner本册只在此定位、不重复定义。

元数据用途类 管什么 载体与 owner
① 结构本体 实体有哪些属性(拆书抽、生成写、检测查的结构模具) MetaSchema target types本册 §4.2 起)
② 质量维度 怎么评判好坏 Quality Policy专题-04;输入侧知识质量维度与回放评测见 专题-07
③ 编排 智能体怎么串 FunctionChain本册 §1落地见 后端-04 §7.2
④ 智能体配置 每个能力怎么配prompt/模型绑定/工具授权/输出合同) Agent Version专题-05
⑤ 可见与策略 每字段的权限行为与灰度 MetaVisibilityPolicy架构-02 §9

为免「大类」串词,下文一律称这一层切分为元数据用途类(五类),称结构本体内部的分组为本体分组(作品骨架/世界设定/人物/画像/技法,加容器、系统侧、配套三个附组)。「固定」的是这几个用途类;类型与属性是开放集——管理员可增类型、用户可在作品级扩字段。

4.2 前置地基domain 与 scope 两轴

结构本体的每个 target type 先由两根正交的轴定位。这两轴的概念权威在 架构-02 §9,此处给的是面向本体分类的应用视图。

domain 描述语义域,不描述存储 BC——它回答「这块结构属于哪个意义世界」,与实例落在哪个 Bounded Context 无关;例如 Local KB 实体的实例存 Knowledge BC但其 schema 多属 world 或 narrative 域。scope 恒等于实例对象的粒度,取值是 work/chapter/block/entity/relation/event/agent 之一;系统级与作品级之分不占 scope 轴,由 effective_scope 承载(见 §5

domain 一句话判据 承载
content 作者对作品的戏外承诺与计划,角色感知不到 作品容器、创作定位、大纲
world 角色可感知的戏内世界事实 世界观、地点、组织、力量体系、物品、事件、角色、关系
narrative 只关「怎么讲」、不关「讲什么」的叙事表达层 文风、节奏、技法、桥段、套路
knowledge 知识库域自身的资料资产结构(非知识实体的内容结构) 参考作品档案
ai_context AI 上下文组装与输出合同的结构 生成上下文快照模具

有一处同词须点明target type world(世界观总纲,一个具体结构型)与 domain world(世界事实语义域)字面相同却分属两轴,前者是「型」、后者是「域」,不是一回事。

4.3 结构本体全清单23 型)

下表是与两轴对齐后的 target type 全清单,给的是归属、粒度与本体分组的总览;落地节奏由执行计划承载,本表只陈述设计本身。

# domain scope target_type 中文名 本体分组
1 content work novel_work 作品容器 容器
2 content chapter chapter 章节容器 容器
3 content block scene 场景卡 容器
4 content work work_core 作品核心 作品骨架
5 content work outline 大纲 作品骨架
6 content work narrative_state 叙事状态 配套
7 world work world 世界观总纲 世界设定
8 world entity location 地点 世界设定
9 world entity faction 组织阵营 世界设定
10 world entity power_system 力量体系 世界设定
11 world entity item 物品 世界设定
12 world event event 事件 世界设定
13 world entity character 角色 人物
14 world relation character_relation 角色关系 人物
15 narrative work style 文风画像 画像
16 narrative work pacing 节奏画像 画像
17 narrative entity craft 叙事技法 技法
18 narrative entity combat 打斗桥段 技法
19 narrative entity emotion 情感桥段 技法
20 narrative entity scene_pattern 通用桥段 技法
21 narrative entity trope 套路 技法
22 knowledge entity reference_work 参考作品档案 系统侧
23 ai_context agent generation_context 生成上下文 配套

scope 落座有两处最易被误判,须点明。outlinework 而非 chapterscope 是实例集合的聚合归属粒度,大纲是全书单一计划,其内部的全书/卷/章三层用字段表达层级,不改 scope。worldwork:按边界判据它不可数、无法单章出场,是每作品一份的单例总纲,故归 work 而非 entity。

三处命名也须点明。型 chapter 与 scope 值 chapter 同词不同轴(同 world 先例),前者是章节容器这个「型」、后者是粒度轴的一格。型 scene 落 scope=block 而不叫 blockBlock 的粒度已定为场景/小节级,型名取产品语义「场景卡」,并避免与 scope 值同义反复(与 character_relation 不叫 relation 同理);它与 scene_pattern 是实例与范式的关系——前者是本作品某一场戏的结构卡content 域后者是跨作品的场景公式narrative 域公共范式。「段落」不独立建模Muse 的正文最小编辑单元就是 Block段落的结构语义由 scene 承载。

补全后一个完备性事实值得留档scope 的七个取值work/chapter/block/entity/relation/event/agent每一格至少有一个型挂靠轴上不再有空格位。

4.4 精炼原则与拆分判据

一型一格位、一概念一 owner。一个候选要挣得独立 target type须同时占据「它是什么实体/计划/画像/装置/范式)× 谁在何时消费(规划/写作/检查期)」平面上的一个空格位,且承载邻接型收编不了的字段合同;否则按三条规则降级:差异只能举例、给不出判据的变体收进枚举(如拍卖会、比武会);属性可由他型查询导出的投影收进读模型(如时间线、关系网、伏笔看板);离开某型无独立生命的附属收进字段(如金手指例外)。这条准绳兑现「类型可更多但边界必清晰」——品类增型走同一判据,判据说不出一句就降级,杜绝为拆而拆。

判断「一个概念落一个还是多个 target type」用四条判据与上面三条降级规则叠加使用。粒度判据两个用场里实例挂靠的粒度不同work 级单例画像 vs entity 级多条目),倾向拆。字段合同判据:字段交集不足一半、或校验规则互斥,拆。消费判据:仅消费链路不同而字段相同,不拆,消费差异走可见性策略。写入路径判据:进 Canonical 的入口不同(用户直接命令 vs 确认链),倾向拆。四判据回答「拆不拆」,三条降级规则回答「不拆时降到哪一级」。

17 个结构骨架型(容器、系统侧、配套三个附组不计入)的边界判据如下,每型给最锋利的一句「纳入 / 排除去向」;完整字段合同落 后端-04,管理面见 产品-02B-管理员控制台功能规格

target_type 层次 边界判据(纳入 ‖ 排除→归哪)
work_core 骨架 只有作者读者知、角色感知不到的作品级承诺 ‖ 角色可感知世界事实→world;逐章安排→outline
outline 骨架 对「接下来写什么」的计划(全书/卷/章任一层级)‖ 戏内已定事实→event;跨作品公式→trope
world 骨架 角色可感知但不可数、无法单章出场的世界级规则格局 ‖ 可指名出场者→location/faction/item;决定强弱排序→power_system
location 骨架 可到达、可发生场景的具名空间 ‖ 弥漫地理→world;空间上的组织→faction
faction 骨架 有宗旨/层级/成员的具名集体(含组织化种族、朝廷)‖ 无组织的文明背景→world;成员个体→character
power_system 骨架 直接决定角色强弱排序的规则(可多套并存)‖ 约束所有人而不排序→world;具体功法技能→品类开放集增型
item 骨架 可持有可流转的具名物件(含秘籍载体)‖ 「怎么描写」的笔法→style 公共层
event 骨架 戏内时间轴上有参与者与因果的已定/预定事实(时间线=event 有序投影,不另设型)‖ 作者写作安排→outline;节奏分布→pacing
character 双层 具名/可指认的行动主体,说话方式即该角色语言指纹 ‖ 作者全书指纹→style;关系→character_relation;集体→faction
character_relation 骨架 演变轨迹本身就是剧情、值得立传的关系 ‖ 只更新当前值的结构性从属→Knowledge Relation 边+枚举;推进公式→trope
style 双层 与章序无关的语言表层指纹(打乱章序不变)‖ 顺序敏感分布→pacing;单角色语言→character 说话方式
pacing 双层 顺序敏感的分布(值是曲线/比率,打乱章序即毁)‖ 单个爽点构成→craft;逐章安排→outline
craft 双层 单点装置——删去它场景仍成立、读者体验变平;台账只收有跨章履约的装置 ‖ 承载整场戏→桥段三型;跨章公式→trope
combat 公共 以武力/超自然力分胜负的对抗场景 ‖ 非武力博弈(商战/权谋/斗嘴)→scene_pattern;情绪弧主导→emotion
emotion 公共 以情绪弧为主体的场景(告白/离别/爆发)‖ 武力分胜负→combat;关系实体本身→character_relation
scene_pattern 公共 有「目标-推进-收束」完整结构的场景范式,枚举显式排除打斗与情感 ‖ 点装置→craft;跨场景公式→trope
trope 公共 规定「这条线接下来几章怎么走」的公式 ‖ 单场景流程→scene_pattern;本作品自己的计划→outline(挂引用)

四条外边界与型内判据同等效力:质量维度不进本体(模具与检尺分立,见 专题-04两者单向咬合、不共享定义叙事运行态的事实载体独立Narrative State 归 Content 聚合,见 架构-02 §3 作品内容模型narrative_state 型只是它的字段模具同容器型逻辑不把状态实例当知识实体管理RAG 文档面不进本体(上传的百科语料是检索素材,非实例,除非经确认链落成作品实体);品类特化与作品私有字段不进基础层,走开放集增型与作品级 override。

4.5 三层浇铸与双层型

结构本体按浇铸去向分三层:结构骨架只浇作品事实实例,入 Local KB 或规划;公共参考只浇跨作品范式,由系统级拆书入 Global KB只存抽象范式与脱敏例证、不留原文双层两处都浇(参考书的世界域实体演变另有落位,见 §6.4 参照作品面)。所有型共享名称/别名/摘要/标签等基础字段,各型只在此之上标注特有字段;世界域实体型(location/faction/power_system/item/event/character)在此之上共享演变历程元素({章, 台阶, 周期} 结构化里程碑,实验台已在六型实证;长线消费语义见 专题-07 §5,字段合同落 后端-04)。

characterstylepacingcraft 四型是双层型。主案取单模具双库——一型一 schema作品面实例与公共范式共用同一字段合同公共面实例落 Global KB。是否为公共面另立独立的 *_paradigm 型,判据本身不变——三样本实测无损写入则不拆、字段合同不同构才拆。craft 已由拆书实验台以远超三样本的量级实测通过1326 条公共范式无损写入同一字段合同),拍板不拆character/style/pacing 依同一三样本判据在各自公共面首批落库时判定,无损即沿用单模具。判定机制至此闭合,不再是开放问题。


5. 作品容器与 base 内置机制

5.1 作品容器 novel_work 与 work_core 拆两 schema

作品容器不是新造的抽象。muse_content_work 已有一批固定列——归属用户、书名、品类、简介、状态、字数、章节数、导入与解析状态,并已预留可选关联 MetaSchema 的钩子;作品动态字段的修改入口也已预设校验 schemaVersion表与接口见 后端-04后端-05 §4.3 作品和正文。容器 schema 化是给这批既有固定列补上元描述,不是无中生有。

容器(novel_work)与作品核心(work_core)拆成两个 schema依据是四判据的字段合同与写入路径两条。字段合同不同构容器承载书名、简介、封面、状态、字数、时间这类运营与结构身份work_core 承载题材、主题立意、基调、禁区、结局方向这类创作承诺。写入路径不同:容器走用户直接修改加系统回算,work_core 走规划确认链。消费面不同:容器喂列表、卡片、导出与市场快照,work_core 喂全部开放智能体的上下文。

5.2 同体加投影storage_binding

容器 schema 与 Work 聚合的关系是同体加投影,不派生——不另建实例表避免双写漂移。schema 是对 Work 固定列的元描述与读投影模具:字段合同为每字段标注落点,native_column(物理列)、extension_json(扩展字段)或 computed(回算字段,用户不可编辑),这就是 storage_binding 机制,由 muse_meta_field 承载对固定列的元描述(属性落点见 后端-04。它与「MetaSchema 不替代事实载体」一致(架构-02 §9)。一条权力边界必须写死:native_column 映射是元描述、不是数据通道——Meta 不因持有映射而获得读写 Content 表的任何权力,字段值的读写永远经值的 owner 自己的 API模具经 meta-api与值经 owner api在消费方组装Meta 侧不出现对他模块表的连接查询。卷章结构不进容器字段合同,按「投影收进读模型」降级,由 §7 统一读取器的作品分区输出。

容器组不止作品一级,chapterscenenarrative_state 是同一机制在章节、Block 与叙事状态上的适用:固定列(章节标题/序号/字数、Block 归属与修订)走 native_column 元描述,创作侧结构字段走 extension_json 扩展。这不是凭空加需求——专题-03 §4.2 的近邻正文层早已把「章节目标、近期叙事状态」列为续写不可省略的输入,而章节表的固定列里并没有「目标」这个字段,章节容器的扩展字段(本章目标、伏笔清单、情绪曲线)正是这处既有设计欠账的落点;场景卡承载 POV、地点、出场角色、时间锚与情绪基调正文本身仍在 Blockschema 只管结构面。

5.3 base 是全局 active schema叠加与继承

base 不是新机制:base 就是 effective_scope=全局 的 active schema 版本,「内置」就是系统出厂 seed 的那批全局 schema。一个作品能看到的结构是三层叠加全局 active ⊕ 类型灰度版本 ⊕ 作品级 override。override 只增不改——只能扩展字段,不能删改全局字段的定义与可见性;这是 架构-01 BC 边界的推论,全局定义的主权不因作品扩展而被作品侧改写。

继承靠动态合成、不靠复制:系统不落 per-work schema 实例,读取时按投影版本动态合成。新作品开箱即有全部结构,因为全局 schema 天然生效、零初始化;容器上预留的品类包钩子默认空,即纯继承。

系统内置的 base schema 出厂全集是 23 项,分四档,每档的开箱形态与可见性基线如下。

开箱形态 schema 可见性基线
作品与结构身份档 开箱即有 novel_workchapterscenework_core 可见、可编辑(容器与结构回算字段除外)、可进 AI 上下文(禁区/结局方向按需)
创作骨架档 开箱即有、空实例 outlineworldlocationfactionpower_systemitemeventcharactercharacter_relationnarrative_state 可见/可编辑/可检索三者全开
画像与技法档 开箱即有画像;公共范式随 Global KB 绑定进入 stylepacingcraftcombatemotionscene_patterntrope 作品面全开;公共面例证与出处字段的可见性待例证口径
系统侧档 用户不可见 reference_work(仅管理面)、generation_context(运行时) 不可见、不可编辑

6. 拆书与参考作品

6.1 一套模具,两处浇铸

拆书不是管理员专用的一次性管线,而是一个通用抽取智能体给定文本、MetaSchema 与目标库,按 target type 定义的实体类型解析出实体并入库(经 Shadow→Canonical。同一个智能体有两个用场产出结构都由 MetaSchema 决定,因此系统级参考库与作品级实体库天然共用一套结构。

  • 系统级(管理员):把几十上百本参考书拆成小说公共属性范式,沉淀进全局知识库。产出的是抽象属性与技法范式,不是逐字原文(版权约束,且 专题-03 禁「作品资产模板化」)。
  • 作品级(用户):每确认一章正文,拆本章新实体与关系入局域知识库的确认链;质量校验智能体同时查与既有事实的一致性。

拆书的入库不越过双轨——系统级入 Global KB 与作品级入 Local KB 都走 Draft→确认→Canonical接受 AI 候选只写正文、不自动确认知识(不变式见 架构-02 §1 双轨模型)。全局公共库作为每个作品的默认可检索来源,但走显式绑定、不自动注入:用户或管理员把公共属性库绑定到作品后才进入检索选库集,用量归系统、口径可控。

6.2 参考作品档案 reference_work

系统级拆书要吃进的参考书本身得有个落处,即 reference_workdomain=knowledge、scope=entity——一份系统侧的资料资产档案不是用户创作事实。它不复用作品表参考作品的 owner 是系统、生命周期是「采购→拆解→归档」,与用户创作的「起草→连载→完结」是两码事,塞进 Content 会违反「Content 只拥有正文和作品结构」的边界。库位落 Global KB 的 document 特化Knowledge BC复用既有的资料、版本与处理任务链表见 后端-04,知识库治理面见 产品-02E-知识库工作台功能规格);拆书任务本身归 AI BC是一类新的抽取任务 reference_extraction

字段合同分四组。标识:书名、作者、品类、别名。来源:上传、公开语料或授权采购。版权授权状态licensedpublic_domainresearch_onlyunauthorized 四值,其中 unauthorized 失败关闭,不进任何拆书任务。拆书处理状态pendingparsingextractedcuratedfailed

6.3 范式溯源与版权传播

范式的溯源不新设 target type、不新建表复用知识域既有的来源 lineage、快照与状态事件机制架构-02 §4.3 来源和 lineage)。每条进 Global KB 的范式 Canonical 记录带上来源快照引用与 lineage 载荷,指向它的 reference_work、拆书任务与章节定位摘要——只存定位摘要,不存原文段落(版权约束)。「某本书贡献了哪些范式」不是一张新表,而是按 lineage 的读模型投影。

当某参考作品的版权状态收紧,走既有的来源状态变化传播(架构-02 §11.3 来源状态变化阻断该来源派生范式的新使用,但不回滚已确认的 Canonical,与知识域现有来源传播语义一致,不引入新机制。

系统级范式的入库走一条专门入口——「管理员确认系统级知识草稿 → Global KB 范式 Canonical」确认人是管理员产出走 Draft→确认→Canonical 同构链。该入口是双轨 Canonical 封闭枚举的一项,权威登记见 架构-02 §1.2 进入 Canonical 的入口

6.4 参照作品面:参考书实体演变的浇铸位

系统级拆书除产出抽象范式外,还会按章推进沉淀参考书自身的实体演变卡——力量体系、物品、角色等世界域形态,带真实章号的 {章, 台阶, 周期} 里程碑。这类产物不进 Global KB、不可被用户作品绑定,浇铸位是参照作品面:挂在 reference_work 档案之下的系统侧中间资产knowledge 域),生命周期随参考作品档案的「采购→拆解→归档」走。它的正式用途只有两个:回放评测的标准答案底座叙事域范式的蒸馏源(两个用途的定义见 专题-07)。

进入 Global KB 的只能是蒸馏后的叙事域「成长曲线范式」(trope/pacing 形态:台阶间距分布、周期结构、爆发节奏),溯源与版权传播沿用 §6.3——只存定位摘要,不存原文。一句话钉死边界:世界域形态是证据叙事域形态才是范式参照作品面存证据Global KB 只收范式。

承载与治理三条钉死:参照作品面不是第四类知识库,不进 架构-02 §4.1 的三类库清单,用户不可见、不可检索;物理承载复用 §6.2 已定的 Global KB document 特化与资料处理任务链,父对象是 reference_work 档案,随档案「采购→拆解→归档」同生命周期;参考作品版权状态收紧时沿 §6.3 的来源传播语义处理——阻断其派生证据用于新的评测与蒸馏(均属新使用),不回滚已确认的范式 Canonical。


7. 统一创作数据读取器

f(作品 + 元数据 + 知识库) 里「读入」这一半,落在一个专门的读取层上。它不是第四套读设施,而是把既成的 Context Assembly专题-03 §4 上下文组装)的取数面,显式分层为 AI Orchestration 内部的服务端读取器。它按 actor、作品与分区请求及授权上下文经各 owner 的 facade-api 拉数——Content 出作品容器、章节、正式规划与叙事状态Knowledge 出 Local KB 实体、关系、事件与绑定库检索Meta 出模具投影——再对每条数据套上该 target type 的 active MetaSchema 投影,做字段级 aiContext 裁剪、按 target type 结构化、附来源标注。模块边界从严:读取器是 AI 模块的内部组装件,不是新模块,它对各 owner 的依赖只允许落在对方的 api 模块(具名只读端口)上,服务即 API——每个分区的取数能力就是一个端口合同owner 没暴露的端口就先在其 api 模块补端口,绝不绕到对方 server 实现或数据表(模块依赖红线见 后端-02 §3。Context Assembly 消费它完成分层组装与 Token 预算(分层定义见 专题-03 §4.2 四层上下文);检测、导出预检等非生成链路复用同一读取器,不各自重写取数与裁剪。

它与用户面的 meta-projections 同源不同面:共享模具投影的计算,不共享裁剪策略——用户面按 uiVisible/userEditableAI 面按 aiContext 裁,两者互不蕴含(架构-02 §9)。一条负约束必须写死:读取器只作为服务端内部端口存在,不暴露为通用 app API,否则它会成为与「通用写 SDK」对称的滥用面。

读统一、写各 owner。写侧零新设计——动态字段没有跨 owner 的通用写接口,前端禁通用写 SDK前端-03 §5.2Canonical 入口是封闭枚举,智能体产出只进 Shadow这些约束一条不改。统一读取器对写的唯一贡献是沿用动态字段校验接口「校验加路由建议、不写入」的语义把「智能体想改哪个字段」翻译成「该走哪个 owner 的命令」。

最小读合同

  • 输入六项actorworkId分区请求集作品容器 / 规划 / 按 target_type 与 scope 过滤的 Local KB 实体 / 仅限已绑定的 Global KB 公共范式对齐「显式绑定不自动注入」运行权限包引用其分区许可上限只能收紧不能放宽purposegeneration/detection/planning/extraction授权按用途裁对齐 专题-03 §4.3 来源和授权 的「允许阅读不等于允许进 AI 上下文」);期望 schemaVersion可选防任务中途版本漂移
  • 输出:分区化的结构块列表,每块含 targetTypeschemaKeyschemaVersion、已按 aiContext 裁剪的结构化字段值、dataRevision、来源标注(对齐 专题-03 §5.3 检索结果合同),以及 omittedFields 及原因。

裁剪分三级、同时生效:字段级aiContext 不含本次 purpose 的字段剔除——false 即任何用途不入、true 即全用途可入,值域权威见 架构-02 §9)、来源级(状态受限的来源整块不进)、用途级(来源授权 allowedPurpose 不含本次 purpose 的剔除)。任一级判定剔除,数据即不进上下文。受限来源整块进 omittedSources,失败关闭并留痕可审计。


8. 关联阅读

主题 权威文档
MetaSchema、domain/scope、双轨不变式、来源 lineage、Canonical 入口枚举 架构-02-核心数据结构与双轨模型
BC 边界与协作规则、override 只增不改的边界推论 架构-01-系统全貌与边界上下文
AI 编排、Context Assembly、检索合同、质量评测 专题-03-AI编排上下文与质量评测实现规范
质量维度定义与创作健康度 专题-04-生成质量门控与创作健康度设计方案
知识消费选择契约、知识质量三性、回放评测、长线进度消费语义 专题-07-知识消费契约与质量闭环
外部 Agent 统一协议与 adapter 专题-05-AI统一交互协议与外部AgentAdapter设计
MetaSchema 表、功能链表、reference_work 表、storage_binding 落点 后端-04-统一数据库Schema-v1
作品与动态字段接口契约 后端-05-统一API契约-v1
拆书公共属性本体管理面与参考作品治理 产品-02B-管理员控制台功能规格
知识库三库两面与全局库绑定 产品-02E-知识库工作台功能规格