zizi 091b66a9bb 重构: 收敛 Agent/Skill 运行时与创作质量闭环
将角色与 Skill 从 .claude 迁入 .agent,移除 Claude CLI 运行时并接入固定 Opus 角色 profile、完整 schema、预算 deadline、raw 与回执证据链。

同步拆分 Skill 职责、复利 lesson、Gate 回放、Dashboard 人审入口、数据库登记和机械门禁;候选设计正文不包含在本提交中。
2026-08-22 02:12:32 +08:00

9.5 KiB
Raw Blame History

name, description, disable-model-invocation
name description disable-model-invocation
score-content-quality 按独立 rubric 评分在线正文、正文回放或细纲回放,产出逐维分数、引文证据与理由。候选交付用户前或回放实验需要独立质量判断时使用;只评分不裁决——集合级通过/不通过归 adjudicate-quality-gate;不改候选、不放宽阈值。 true

质量评分(scenario: quality_gate | 保护节点→judge | 上下文=writer 基线包,同证独立)

何时用:候选章交付用户前评分(C6);eval 收敛环的打分步。硬阻断三维(source_safety/output_compliance/static_contract)是规则层检查,不在评委职权。

评分不等于裁决。 本 Skill 回答"这一章多好",输出逐维分数与证据;"这一组样本够不够放行"由 adjudicate-quality-gate 按父仓专题-04 的固定顺序裁决。达标口径(维度、锚点、阈值)的单一来源在本 Skill,裁决器导入而不复制。

输入

模块 职责
scripts/writer_rubric.py 正文 rubric 维度定义与结构化评审裁决(writer_replay/quality_gate);达标口径单一来源。
scripts/fine_outline_rubric.py 细纲 rubric 维度定义与报告校验(fine_outline_replay)。
scripts/run_writer_blind_judge.py blind judge v4 输入/报告绑定与 v3 模型输出适配、独立评审编排(向下引用 execute-role-task)。

依赖方向:本 Skill 向下引用 execute-role-task 与 record-run-evidence,向上被 evaluate-frozen-replay、replay-writer-gate 与 adjudicate-quality-gate 引用。

元数据驱动

维度体系是元数据(专题-04 §4 质量策略族)——维度/阈值/重写次数由策略定义,评委只执行不自造;策略变(如加维度),本 skill 更新表格,judge 一字不改。

叙事关键维度(各 1–5;三维全部 ≥4.0 = 过门;不达标触发 eval 环重写建议)

维度 5 分长什么样
设定一致性 canon_compliance 与已确认正文/知识卡/正式规划/状态台账零冲突;有出乎意料处,回看全在设定与伏笔之内
角色声音 character_voice 语言指纹可辨认——遮住名字能认出谁在说话;行为符合行事逻辑与近期章节表现
场景结构 scene_structure 场景三件套(目标/推进/收束)齐整,因果与视角不断裂,与上章即时局面无缝衔接

非关键维度(各 1–5;只产生建议,不单独否决候选)

维度 5 分长什么样
文风贴合 style_fit 对照文风画像与达标样张无违和;AI 味黑名单零命中
节奏张力 pacing_tension 章目标完成,局面发生不可逆变化;章末钩子让人想点下一章
信息密度 information_density 不过度解释不空泛;新信息与埋设按需给,无灌水段
情绪连续 emotional_continuity 情绪变化有过渡,不突兀跳变
可读性 readability 段落长度与句式无阅读阻力

输出合同

返回当前调用要求的结构化评分结果:逐维分数、引文证据和理由。报告存储位置由编排器决定;judge 不读取或写入创作目录。

数据边界

不读写创作正文/规划表。外部副作用:经 execute-role-task 的评委模型调用;raw prompt/response 由 record-run-evidence 落受控归档;稳定报告后可写 example_lesson(效果信号,非正文)。评分报告只留分数、引文、理由与哈希。

红线

  • 只评分,不改候选、不放宽阈值。维度、阈值与重写次数是元数据(父仓专题-04 质量策略族),评委只执行不自造。
  • 不产生 Gate 终态。集合级通过/不通过只能由 adjudicate-quality-gate 产生,本 Skill 与人工都不得改写。
  • 每维必须给出可定位的引文证据;无证据的分数按不合约处理,失败关闭。
  • 盲评隔离与逐字引文是硬门,不因重试放宽;第三稿仍不合约即失败关闭。

细纲回放 profile(fine_outline_replay)

细纲评分是结构事实评估,不复用正文 style_fit、readability、文风一致性、文笔 等维度。每维 1–5 分,分数必须有结构化证据摘要;评委只使用冻结快照和评测侧的 reference scaffold proxy,不读取目标章全文。

维度 ID 评分问题
structure_completeness 目标、关键事件、实体、伏笔、状态变化和钩子是否齐全
direction_causality 关键冲突、结果方向和事件因果是否命中且成立
order_pacing 事件先后和章内推进节拍是否接近结构化标准
entity_state 实体身份、阵营、能力层级和 N 时点状态是否一致
foreshadowing_action 伏笔埋设、推进、回收和时机是否正确
handoff_hook 能否从 N 时点自然承接,并立住下一步钩子

评审报告使用以下最小形状:

profile: fine_outline_replay
scores:
  direction_causality:
    score: 4
    evidence: "事件-2 的触发和结果方向与标准事实摘要一致"

两次独立评审的同维差异大于 0.5 时只输出稳定性警告,不据此下卡效用结论。三臂顺序、arm 名称和卡 manifest 对评委隐藏;汇总报告分别给出每维分数、结构门结果、B-A 和 C-A,不压成没有统计意义的单一“卡质量总分”。

正文回放 profile(writer_replay)

正文回放与在线 quality_gate、细纲 fine_outline_replay 完全独立。当前策略版本为 writer-replay-rubric-v2:四个通用维度跨章节保持同义,另一个兼容维度按预注册场景类型加载独立问题、判据和五档分数锚点。每位 fresh 匿名评委最多调用三次:首轮或后续已返回草稿但被本地稳定合同拒绝时,可携带原草稿与错误原因纠错最多两次;任一轮是带可信成本回执的瞬时 API_ERROR 时,可不带 correction 重发同一盲评输入,但与格式纠错共用三次总调用额度。认证、预算、本地合同或成本未知错误不重试,第三稿仍不合约则失败关闭;逐字引文、完整覆盖和盲评隔离等硬门不因重试而放宽。模型输入同时给出精确候选/维度/断言/约束顺序、期望数组数量、完整评分策略元数据,以及从当前候选确定性切出的逐字引文提示;adapter 仍独立重算笛卡尔积并逐字校验。失败安全诊断只记录错误码、尝试/评委/调用次数、数组计数及缺失/重复/越界计数,完整草稿只进入 raw 归档。adapter 保留全部调用回执,只允许有可信成本的 API 失败回执出现在最终成功之前,并把最终合约报告绑定到对应终稿回执,再绑定 reviewer 身份、候选 hash、字符 offset、输入/报告 hash。每维 0-10 分、0.5 步长;双评委独立无会话,第二评委严格反序。报告在去盲前只保留随机候选 ID,禁止出现 A/B/C 或证据策略名称。

层 维度 ID 评分问题
通用 setting_entity_fidelity 设定、实体、关系、能力边界和冻结时点状态是否保真
通用 fine_outline_fidelity 细纲硬事件、结果方向、伏笔动作、出场实体和章末钩子是否忠实
通用 style_consistency 与冻结历史原文的人物声音、动作习惯、句式和叙事质感是否一致
通用 prose_readability 语言、指代、空间、动作和转场是否准确、自然、清晰
场景 narrative_tension 兼容 ID;必须按当前场景策略评分,不得按抽象通用“紧张度”评分
场景类型 场景评分问题
battle 战斗的空间、攻防因果、策略升级、力量边界和结果代价是否成立
character_dialogue 人物声音、对话目标、潜台词、关系推进和信息交换是否成立
turning_point 转折是否有前因、触发、不可逆变化、人物反应和后续驱动力
information_reveal 信息来源、知情边界、揭示时机、清晰度和揭示后的影响是否成立
returning_character 角色状态与声音是否连续,回归动机、他人反应和剧情作用是否成立

通用维度可以跨章节聚合;场景维度只能在相同场景类型内聚合。跨场景平均会让一类场景的增益抵掉另一类的退化,因此聚合规则是 rubric 的一部分,不是裁决器的自由裁量;据此产生的场景级失败条件见 adjudicate-quality-gate。

每维必须给出具体 reason、在对应候选中唯一可定位的 candidateQuote 和受控 evidenceRefs。模型证据类型只能是 candidate、fine_outline、oracle_assertion 或 judge_inference,引用 ID 必须来自当前匿名输入;盲评输入不含卡,禁止评委声称证据来自 card_index。模型还必须给出每维匿名候选完整排序,并逐候选覆盖全部 oracle assertion 与 hard constraint verdict。双评同维分差大于 0.5 时启动且只启动一次 fresh 第三评委。第三评后,任一评分对差值不大于 0.5 则取三者中位数;否则整章为 invalid_unstable,不得强行计算胜负或进入 Gate 增益统计。

复利合同

  • 评分报告与 rubric 版本是 Gate 与归因的输入证据。
  • 回写:run_writer_blind_judge_panel 在稳定报告产出后经 propose_lesson_dedup 登记 example_lesson(绑 runId、rubric 版本与候选哈希);离线测试传 persist_lesson=False。Gate 终态 lesson 仍由 adjudicate-quality-gate 单独登记,标题不冲突。
  • rubric 维度/阈值变更必须版本化并留 Git 证据;不得静默改口径冒充同一策略族。