oh-my-muse/design-docs/专题-04-生成质量门控与创作健康度设计方案.md
zizi 81a8d1377f docs(设计): 新增专题-08自动化测试方案SoT,蒸馏G1/G4需求缺口
- 新增 专题-08-自动化测试方案:四层测试金字塔、确定性/语义分界判据、语义评测方法论(双盲评委/对照实验Gate B/回放)、测试可判定性合同
- 登记归属:00-文档大纲 + 内容映射表
- 蒸馏G1(收紧自动确认):产品-02 §6.4/§9.1 纳入达标自动确认四条件,消除唯一入口矛盾
- 蒸馏G4(运行时叙事门):专题-04 §4.2.1 补三维量表与通过线(设定≥7.0/角色·场景≥6.0)及四步裁决
- 新增 docs/plans 缺口跟踪:登记10项需求缺口与蒸馏状态
2026-07-30 23:25:15 +08:00

26 KiB
Raw Blame History

专题-04生成质量门控与创作健康度设计方案

  • 目标读者:创作者 / 产品 / Agent 实现者 / 架构 / 前端 / 后端 / 测试
  • 阅读时间25-40 分钟
  • 边界说明:本文件承接阶段 1~5定义质量门控(Quality Gate)、创作健康度(Writing Health)、质量策略、有限重写、质量结果展示和质量观测的产品架构合同。AI 编排、上下文组装和运行时权限见 专题-03;精确 Schema、API 和前端组件由后续阶段承接。

1. 定位

质量门控是候选交付前的质量评分和有限重写机制。创作健康度是面向普通用户的质量感知入口。

它们共同解决四个问题:

  1. 在 AI 候选交给用户前,提前发现设定冲突、角色失声、场景断裂、来源风险和安全阻断。
  2. 对关键维度不达标的候选,在 Shadow 内做有限重写,而不是把低质量候选直接丢给用户。
  3. 用创作语言解释风险、来源和改进建议,帮助用户接受、修改、丢弃或重生成。
  4. 给管理员提供策略、评估集和线上效果观测,不替代用户对正文和作品知识的最终决策。

2. 非目标

质量门控不做以下事情:

  1. 不阻止用户手工写作、保存正文或继续创作。
  2. 不把创作健康度做成跨作品排名、作者评分或竞争榜。
  3. 不把私人写作候选的质量评分变成市场发布审核结果。
  4. 不让 AI 绕过用户直接改正文、正式规划或 Local KB。
  5. 不把知识草稿写入 Local KB。
  6. 不把外部来源撤权、召回或合规阻断解释成“已确认事实自动回滚”。
  7. 不替代输入合规、输出合规、权限过滤、语义安全围栏和静态检查等保护节点。

市场发布仍需要权利、隐私、合规和安全审核;创作健康度只能作为作品内创作辅助信号。

3. Owner 边界

对象 Owner BC 说明
Quality Policy AI BC (grant 包) 管理员配置质量维度、阈值、重写次数、展示规则和评估集
Candidate Quality Result AI Orchestration BC 单次候选的质量评分、风险、重写和展示摘要
AI Suggestion AI Orchestration BC 质量门控作用对象,仍属于 Shadow
Block / Block Source Attribution Work/Content BC 候选被用户接受后才写正文和来源归因
Knowledge Draft Knowledge BC 质量结果可影响草稿可确认性,但不自动确认
Source Status Event 来源 owner / Marketplace/Asset BC 撤权、召回、blocked 等来源变化驱动质量结果失效或重验
Writing Health Display User Workspace 展示面 展示 Candidate Quality Result、风险和下一步动作不拥有质量事实
Writing Health Summary AI Orchestration / Account read model 按作品、场景和策略聚合质量趋势;只做观察和解释,不改写候选

质量门控是 AI Orchestration 链路中的保护节点,用户智能体、市场智能体和工作流智能体不可替换。

4. 质量维度

4.1 硬阻断维度

硬阻断维度不是创作质量偏好,而是权限、安全、来源和结构边界。失败时必须 fail-closed不能被用户智能体、市场智能体或质量分数放开。

维度 代码建议 检查目标 失败影响
来源安全 source_safety 是否引用 revoked、delisted、recalled、blocked、owner_missing 或未授权来源 阻断接受、绑定或导出
输出合规 output_compliance 输出是否违反内容安全、隐私、敏感信息或语义围栏 阻断展示或接受
静态结构 static_contract 候选结构、必要字段、lineage、授权快照是否符合合同 阻断展示或接受

4.2 叙事关键维度

叙事关键维度不达标时,可以触发 Shadow 内有限重写;仍不达标时,通常进入 high_risk、需修改后合并或建议重生成。它们默认不是安全硬阻断除非同时触发来源、合规或静态结构问题。

维度 代码建议 检查目标 失败影响
设定一致性 canon_compliance 候选是否与已确认正文、Local KB、正式规划、Narrative State 和有效来源冲突 触发重写;严重冲突可要求显式确认、修改后合并或重生成
角色声音一致性 character_voice 角色对白、行为、语气是否符合角色档案和近期章节表现 触发重写;失败可允许用户修改后合并
场景结构 scene_structure 场景目标、动作链、因果、视角和段落推进是否完整 触发重写;严重断裂时建议重生成

4.2.1 运行时叙事门量表与通过线

叙事关键维度在运行时按下列量表打分并裁决,不再是模糊词。盲评机制(双盲双评、候选随机化、任一维两次评分差 >0.5 只加一次第三评、稳定配对取中位数、无稳定配对则不得强行给出输赢)只引用 §10.1,本节不重复定义;运行时与离线实验的差异在于:运行时对单个候选裁决,离线实验对种群 A/B 臂裁决。

每维按 0-10 分、0.5 分步长评分并逐项标注证据来自已确认正文、Local KB、正式规划、Narrative State 还是评委自行推断。运行时通过线如下(由质量策略登记、可调,但必须显式登记;未登记视为门控未闭合,候选不得进 shadow_ready

维度 通过线 理由
设定一致性 canon_compliance >=7.0 硬事实层,门槛最高
角色声音一致性 character_voice >=6.0 可修改后合并,门槛次之
场景结构 scene_structure >=6.0 可重写补救,门槛次之

运行时裁决顺序(命中前项即停止,后项不得覆盖前项):

  1. 设定一致性出现硬事实冲突 verdict与已确认正文、Local KB 或正式规划直接矛盾,类比 §10.1 Gate A 的"硬约束覆盖率 <100%"):不论分数,直接 high_risk,禁止接受。
  2. 任一维评分不稳定(无稳定配对)或评测异常:unavailable/needs_recheckfail-closed不放行。
  3. 任一维 < 通过线:触发 Shadow 内有限重写(上限见 §5默认 ≤2 次);重写后仍 < 通过线:high_risk,需修改后合并或重生成。
  4. 三维全 >= 通过线且无硬事实冲突:pass/rewritten_pass,可进 shadow_ready

qualityState 的转移与风险路由优先级只引用 §6本节不重复定义。本节通过线数值是运行时默认值其合理性由 §10 离线实验与回放评测校准;校准责任人与时点登记于质量策略。

4.3 非关键维度

非关键维度只展示评分和建议,交给用户判断。

维度 代码建议 检查目标 展示方式
文风贴合 style_fit 是否贴合作者语气、句式、节奏和文体 建议修改
节奏张力 pacing_tension 是否维持章节节奏、悬念和推进 建议重写方向
信息密度 information_density 是否过度解释、空泛或信息过载 标注风险
情绪连续 emotional_continuity 情绪变化是否突兀 建议过渡
可读性 readability 段落长度、句式、阅读阻力 建议润色

非关键维度不得单独阻止接受候选。

5. 运行时质量门控

标准链路:

AI Suggestion 生成
-> 静态检查
-> 来源状态校验
-> 硬阻断维度检查
-> 叙事关键维度评分
-> 必要时 Shadow 内有限重写
-> 非关键维度评分
-> Candidate Quality Result
-> 候选可接受性实时校验
-> 创作健康度展示
-> 用户决策

硬约束:

  1. 质量门控只处理 Shadow 候选,不直接写正文、正式规划或 Local KB。
  2. 质量门控读取的上下文必须来自 专题-03 的 Context Assembly Snapshot。
  3. 质量门控必须绑定 Agent Runtime Permission Envelope、Authorization Snapshot、Source Summary 和 Quality Policy Version。
  4. 关键维度重写次数有限,默认建议不超过 2 次;超过后不得无限循环。
  5. 重写只能在 Shadow 内替换候选版本,并保留 rewrite trail。
  6. 输出合规、来源安全、静态结构和授权状态的阻断优先级高于叙事质量评分。
  7. 用户最终看到的是候选和解释,不是内部评测 prompt、完整上下文或供应商响应。
  8. Candidate Quality Result 只给出质量和风险事实;候选最终是否可接受由 专题-03 的候选可接受性实时校验合并判断。

6. Candidate Quality Result

候选质量结果是单次候选的质量快照,不能被后续策略静默改写。策略变化后只能重新评分或生成新版本。

最小语义:

字段语义 要求
candidateId 被评分候选
aiTaskId 来源 AI 任务
qualityPolicyVersion 质量策略版本
contextSnapshotRef 上下文组装快照引用
runtimePermissionEnvelopeRef 运行时权限包引用
authorizationSnapshotRefs 参与评分的授权快照
sourceSummary 使用和排除的来源摘要
hardBlockDimensions 来源安全、输出合规、静态结构等硬阻断结果
criticalDimensions 叙事关键维度评分、状态、原因和重写结果
nonCriticalDimensions 非关键维度评分和建议
riskMarkers 风险标记和影响
rewriteCount 已触发重写次数
qualityState pass / rewritten_pass / high_risk / blocked / unavailable / needs_recheck
userExplanation 普通用户可读解释
createdAt 评分时间

6.1 qualityState

状态 含义 用户可做什么
pass 质量和来源检查通过 接受、修改后合并、丢弃、重生成
rewritten_pass 经有限重写后通过 接受、修改后合并、丢弃、查看重写原因
high_risk 存在高风险但未到强阻断 修改后合并、丢弃、重生成;接受需显式确认或按场景禁用
blocked 合规、来源、静态结构或授权硬失败 不能接受;只能丢弃或重生成
unavailable 评分服务不可用或超时 来源、权限、合规和静态检查不可用时 fail-closed非关键叙事评分不可用时可低置信展示
needs_recheck 来源、授权、正文 revision 或策略版本变化 重验前不能接受

6.2 与风险路由的优先级

质量门控不能单独决定候选可接受性。最终动作由候选接受时实时校验合并:

  1. 合规、安全、来源、授权、静态结构硬失败直接 blocked / invalidated。
  2. 市场作品资产 feature gate、owner 预检、workAssetUsePrecheckId 缺失直接 blocked。
  3. 来源 stale、授权过期、策略版本变化或正文 revision 变化进入 needs_recheck。
  4. 硬阻断检查可用且通过后,叙事关键维度才参与 pass / rewritten_pass / high_risk 判断。
  5. 非关键维度只影响展示建议,不单独阻止接受。

候选接受时实时校验消费 Candidate Quality Result 时必须校验 qualityPolicyVersion、质量结果版本、评分时间、来源状态、授权快照、作品资产 feature gate、目标 expectedRevision 和命令幂等上下文;任一输入变化都必须重算或进入 needs_recheck不能用旧质量结果放行 Accept / Merge。

7. 创作健康度

创作健康度是普通用户的质量感知视图,不是后台评分表。

7.1 展示原则

  1. 用创作语言,不用内部模型术语。
  2. 优先解释“为什么要注意”和“下一步可以怎么做”。
  3. 展示关键风险、来源摘要、质量维度和建议。
  4. 不展示跨作品排名、作者得分、系统内部阈值和模型供应商细节。
  5. 用户可以收起或展开,但不能绕过 blocked 级风险接受候选。

7.2 建议展示结构

区域 内容
总体状态 可用 / 已重写后可用 / 高风险 / 已阻断 / 需重验
关键风险 设定冲突、角色失声、来源撤权、合规阻断等
维度摘要 设定一致性、角色声音、场景结构、文风、节奏
来源摘要 使用了哪些正文、Local KB、授权知识哪些来源被排除
下一步动作 接受、修改后合并、丢弃、重新生成、查看知识草稿、重验来源

7.3 用户反馈文案约束

允许:

  • “这段候选与角色最近的说话方式不一致,建议修改对白后合并。”
  • “引用的知识来源已被召回,当前候选不能继续接受。”
  • “系统已根据设定冲突重写过 1 次。”

禁止:

  • “你的作品健康度低于 80%。”
  • “该作品排名低于同类作者。”
  • “系统认为你不能继续写。”
  • “来源已撤权,已自动回滚正式事实。”

8. 来源冲突和授权变化

质量门控必须消费 Source Status Event 和 Authorization Snapshot。

变化 候选影响 知识草稿影响 导出影响
stale 候选 needs_recheck 或 invalidated 草稿需重验 导出前重验
revoked 禁止新生成和接受引用该来源的候选 禁止来源型确认 禁止进入受限导出范围
delisted 禁止新获取;已授权按治理策略限制 视授权快照处理 视许可处理
recalled 相关候选 invalidated / blocked 草稿不可确认或需重验 相关导出撤销或禁用下载
owner_missing 市场作品资产不得模板化、参考写入或进 AI 上下文 禁止来源型确认 禁止受限导出
blocked 阻断展示或接受 阻断确认 阻断导出

已确认正文和正式知识不自动回滚,但受限来源不得继续用于新生成、新绑定、新导出许可范围、未使用下载凭证或新的知识确认。

8.1 下游承接关系

下游场景 承接 owner 质量/来源结果如何使用
候选接受 专题-01 / Work/Content BC blocked、invalidated、needs_recheck 不能写正文;可接受候选写 Block Source Attribution
知识草稿确认 Knowledge BC / 产品-02C 来源 revoked、delisted、recalled、blocked、owner_missing、unauthorized 或授权无效时禁止来源型确认
知识库绑定 产品-02E / Knowledge BC 绑定前必须校验授权快照、来源状态和处理状态
市场资产安装/绑定 产品-02F / Marketplace/Asset BC 召回、下架、授权变化影响安装、绑定和使用状态
导出交付 Export / Delivery owner / 流程-02B 导出前重验来源、许可、included/excluded manifest、download credential 下载凭证和受限资产范围

9. 质量策略管理

管理员可以配置质量策略,但不能用质量策略替用户做创作取舍。

9.1 策略内容

配置 说明
维度启用 哪些关键/非关键维度参与评分
阈值 不同维度的 pass / high_risk / blocked 边界
重写次数 关键维度可触发的最大 Shadow 内重写次数
场景策略 续写、改写、规划、检测、全书解析等不同策略
展示规则 普通用户看到哪些提示和建议
评估集 用于策略上线前回归的样本集
外发规则 是否允许调用外部模型评估、是否脱敏

9.2 策略生命周期

draft -> evaluating -> active
draft -> archived
evaluating -> draft / active / failed
active -> superseded / rolled_back

约束:

  1. 发布质量策略必须记录管理员、理由、评估摘要和影响范围。
  2. 回滚只影响后续候选评分,不改写历史 Candidate Quality Result。
  3. 质量策略不能关闭输入合规、输出合规、权限过滤、来源状态校验、语义安全围栏和 Shadow -> Canonical 规则。
  4. 市场发布审核不能复用私人写作质量策略作为唯一门槛。

10. 离线质量评估

离线评估用于比较智能体、Prompt、上下文策略和质量策略不直接影响用户当前候选。

默认允许进入离线评估的样本只有五类:

  1. 合成样本。
  2. 公开授权样本。
  3. 用户或发布者显式授权用于评估的样本。
  4. 已按合规规则脱敏、去标识化且不可还原到用户私有正文的样本。
  5. 专题-07 §4 两道闸校验的参考作品回放样本(reference_work 授权四值 + 评测用途授权快照;评测产物不留存原书全文)。

默认禁止进入离线评估:

  • 用户私有正文全文。
  • 私人 AI 候选全文。
  • 完整上下文快照。
  • 完整 Prompt / Response。
  • 外部知识或市场资产全文(经上文第 5 类两道闸校验的参考作品回放样本除外)。

如果未来需要使用真实私有内容做评估,必须先有单独的合规访问设计、授权记录、最小化样本、脱敏策略、审计记录和退出机制;不能由质量策略配置直接打开。

评估输入:

  • 固定评估集版本。
  • Agent Version。
  • Prompt Version。
  • Context Assembly Strategy。
  • 知识策略版本(选择契约参数、注入视图定义、判重规则;其回放评测机制见 专题-07-知识消费契约与质量闭环)。
  • Quality Policy Version。
  • Authorization Snapshot 和来源摘要。
  • New-API Binding 摘要。
  • Runtime Permission Envelope 摘要。

评估输出:

结果 说明
维度得分 按关键/非关键维度聚合
分歧情况 多模型或多评审器意见差异
失败样本 失败原因、来源、上下文摘要
回归风险 与当前 active 策略相比的变化
发布建议 可发布 / 需修正 / 不建议发布

评估结果只能用于管理员判断策略、智能体或 Prompt 是否上线,不直接修改用户作品。

10.1 正文实验五维量表、盲评与 Gate A/B

正文回放把创作、语义检测和盲评拆成独立模型职责:

角色 每次调用的唯一职责 不负责
writer 根据最小创作输入生成一章正文 claim、证据缺口、新设定申报、哈希、版本、自检或评分
semantic detector 对一个已绑定候选核对事实、细纲硬约束、证据与新设定 创作、润色、改写、文学评分或运行哈希
blind judge 对盲化候选按预注册维度评分并给出事实/硬约束 verdict 修改正文、替代 detector、读取臂专属上下文或计算运行哈希

“一个职责”不等于“一个字段一次调用”。detector 可以在一份报告中列出同一候选的多条语义 verdictjudge 可以在一份报告中完成同一次盲评的多维评分;创作、检测和评审仍必须是不同调用。

同一样本的 A/B/C 由三个互不共享会话的 fresh writer 调用产生;每个候选各运行一次 fresh detector两个 reviewer 分别运行 fresh blind judge只有评分不稳定时增加一次第三 reviewer。模型、effort、输出 schema、单次预算和公共上下文控制必须在可比调用间一致。

正文回放使用独立的 writer 评测 profile不覆盖细纲、知识或其他评测量表。每个维度按 0-10 分、0.5 分步长评分,并逐项标注证据来自已确认细纲、冻结历史原文、卡索引还是评委自行推断。

维度 评判问题
设定与实体保真 人物、关系、物品、地点、力量规则、知情范围和即时状态是否与冻结事实一致
细纲与情节忠实 细纲硬事件、结果方向、伏笔动作、必须出场实体和章末钩子是否全部兑现,且未被反转或提前回收
文风一致性 叙述声音、角色语言、动作习惯、段落节奏是否与冻结原文证据一致
叙事张力 场景推进、因果、冲突升级、情绪连续和章末牵引是否成立
文笔与可读性 文字是否准确、流畅、具体,是否存在空泛解释、机械重复或明显阅读阻力

每个样本先由两个独立、无会话的评委双盲评分;候选臂名随机化,第二评委反转展示顺序。任一维两次评分差异 >0.5 时,只增加一次第三评委。第三评委后,若三份评分中至少一对差值 <=0.5,该维最终分取三者中位数;若不存在稳定配对,整个样本失败,不得强行给出输赢或方向结论。去盲、稳定性判断和聚合必须机械执行,人工只能复核证据归因,不能手改终态。

blind judge 只能看到盲化 candidate ID、候选正文、所有臂相同的细纲评测字段和 evaluator-only oracleTruthPack不得看到真实 A/B/C 映射、各臂 WriterContext、卡检索轨迹、臂专属原文或 raw 路径。judge 模型只返回五维评分、逐项理由、事实 verdict 和硬约束 verdictcandidate/input/oracle/report/model-receipt hash 由 judge adapter 注入或计算。

预算分为两层:plannedCalls 是单个 Gate 执行的不可变调用计划,maxCalls 是独立安全上限。启动预留只按各角色 plannedCalls × maxBudgetUsdPerCall 计算,不得把安全上限当作调用计划;每次调用前还要校验累计实际成本、剩余计划预留和角色调用数。补证、返修或重跑必须创建新的显式计划与预算预留。

正文实验只允许下列 Gate 顺序,命中前项即停止,后项不得覆盖前项:

Gate A链路可运行

  1. 任一预期调用、schema、hash、冻结、授权、未来泄漏审计、模型回执或 judge 稳定性异常:failed
  2. 预注册评测集自身不足 5 个有效样本或五类场景不全:insufficient_evidence
  3. C 臂存在 detector 高严重度残留或细纲硬约束覆盖率 <100%failed
  4. 其余:passed

Gate A 只证明链路可运行,不代表正文层通过。

Gate B正文层正式裁决

  1. Gate B 运行中任一预期调用、schema、hash、冻结、授权、泄漏审计或 judge 稳定性异常:failed
  2. Gate A=failedfailedGate A=insufficient_evidenceinsufficient_evidence
  3. 预注册评测集作品 <2、任一作品有效样本 <5、总有效样本 <10 或五类场景未覆盖:insufficient_evidence
  4. C 臂硬约束覆盖率 <100%、存在 detector 高严重度残留,或 C-A 的文风一致性/叙事张力在整体或任一非空新角色分层退化:failed
  5. C-A 的设定与实体保真平均增量 >=0.25 且至少 60% 样本增量 >0passed
  6. 其余:no_gain

报告必须列出假阴、假阳、未来泄漏、评委不稳定、新角色无卡和场景选择偏差等混淆项。单章、单作品或只选卡友好场景不得得出普适结论。只有 Gate B=passed 才能声称正文层通过并启动细纲智能体真实能力验收其他终态继续修正文层或补充预注册的合法样本。A/B/C 的冻结与接受隔离合同只引用 专题-03 §4.5,本节不重复定义。

11. 线上质量观测

线上质量观测用于发现策略、智能体、上下文组装和质量门控的真实效果,不用于监控单个作者的创作水平。

观测维度:

维度 说明
质量状态分布 pass、rewritten_pass、high_risk、blocked、unavailable、needs_recheck 的趋势
重写触发 按场景、智能体版本、质量策略版本统计 rewriteCount 和最终状态
用户决策 接受、修改后合并、丢弃、重生成、显式确认的比例
来源风险 revoked、delisted、recalled、blocked、owner_missing、unauthorized、授权过期等事件影响
异常阈值 blocked 激增、unavailable 激增、重写失败率升高、候选丢弃率异常
反馈闭环 用户反馈、申诉、重生成结果和策略回滚建议

线上观测只能保存聚合、脱敏和最小必要摘要。不得为了观测而保存完整 Prompt、完整响应、私有正文全文、候选全文或外部知识全文。

12. 与功能场景的关系

场景 质量门控行为
生成 / 续写 / 扩写 候选交付前评分,关键维度失败可有限重写
润色 / 纠错 / 去 AI 味 重点检查文风、可读性、输出合规和来源继承
修改后合并 对最终正文做输出合规和来源归因校验,旧草稿失效
全书解析 对章节解析结果做静态检查和风险标记,不写 Canonical 知识
一致性检查 输出风险、证据和建议,不直接修改正文或知识
智能体试用 展示试用评分和风险,不进入作品事实
市场资产使用 feature gate 未开启前,作品资产不得进入 AI 上下文;智能体和知识库必须按授权快照使用

13. 验收清单

阶段 6 后,本专题必须满足:

  1. 质量门控不会绕过用户主权直接写正文、正式规划或 Local KB。
  2. 接受候选不会同时写入 Local KB。
  3. blocked 级来源、安全或合规风险不能被用户智能体绕过。
  4. 创作健康度不做跨作品排名或强制创作门槛。
  5. Candidate Quality Result 绑定质量策略、上下文、授权快照、来源摘要和运行时权限包。
  6. 来源撤权、下架、召回、blocked、owner_missing、unauthorized 会让相关候选、草稿、导出或下载进入重验、失效或阻断路径。
  7. 管理员质量策略只影响后续候选评分,不改写历史结果。
  8. 离线评估默认不得使用用户私有正文、私人候选全文、完整 Prompt/Response 或完整上下文。
  9. 线上观测只能保存聚合、脱敏和最小必要摘要。

14. 关联阅读

  • 产品-01-产品定位与核心价值.md
  • 产品-02-核心功能与交互边界.md
  • 产品-02B-管理员控制台功能规格.md
  • 产品-02C-用户工作区与作品工作台功能规格.md
  • 产品-03-用户旅程与操作流程.md
  • 流程-01B-普通用户操作流程(操作视角).md
  • 流程-02B-普通用户系统处理流程(系统视角).md
  • 架构-02-核心数据结构与双轨模型.md
  • 架构-04-状态机与约束清单.md
  • 专题-03-AI编排上下文与质量评测实现规范.md
  • 专题-07-知识消费契约与质量闭环.md