# Evolve 阶段报告 v2 — h3-video-prompt(SKILL.md v0.3.0 重训) 任务:T-mtadwn5l|训练人:innovator-evolver|日期:2026-08-26|Large Loop 重训 触发:真实生产场景 conv-mtabpqx9「你出去看看」人工评测 **6/10** 基准:`train/digest/benchmark_v2.md`(9 维度,D5/D7 硬错误下限,§3.3 阻塞产出评分规则) 场景集:`train/digest/test_scenarios_v2.json`(12 场景) > ⚠️ 分数可比性说明(先说清楚):本报告的所有分数都来自 `benchmark_v2.md`(9 维度), > 上一轮报告(evolve_report.md)的 97~100 分来自 `benchmark_v1.md`(6 维度)。两套基准的 > 维度数、权重结构、硬错误规则都不同,**两组数字不能直接对比、也不能相减得出"提升了 X 分"**。 > 本文第三节的表述以此为准。 --- ## 一、最终分数表(12 场景,round 3 / SKILL.md v0.3.0) | 场景 | 模式 | 处理 | 最终得分 | 说明 | |---|---|---|---|---| | TS-01 | T2VA | 复用+v2 校验 | **98** | D8=4(核心主体以标注假设推定、未反问,判断性扣分) | | TS-02 | I2VA | 复用+v2 校验 | **100** | — | | TS-03 | FL2VA | 复用+v2 校验 | **100** | 指令行占位符 round 2 已修复 | | TS-04 | L2VA | 复用+v2 校验 | **100** | 同上 | | TS-05 | Ref2VA | **重新生成** | **100** | 素材职责分别声明 + 人物 Subject 具体可辨识特征 | | TS-06 | Ref2VA | **重新生成** | **100** | 3 图合并同一 Subject + 时间戳连续 | | TS-07 | 边界-信息不足 | 重新核对 | **100** | 判断性打分(反问交付,沿用 v1 报告 4.2 惯例) | | TS-08 | 边界-矛盾指令 | 重新核对 | **98** | D8=4(场景以标注假设推定、未反问,判断性扣分) | | TS-09 | Ref2VA | **重新生成** | **100** | §3.3 正确阻塞(scene 水印无清洗版)+ 附修正示范 | | TS-10 | T2VA | **重新生成** | **100** | N/A 精确条件首次被真实触发并正确执行 | | TS-11 | T2VA | **重新生成** | **100** | 带感叹号对白逐字保真 | | TS-12 | Ref2VA | **重新生成** | **100** | §3.3 正确阻塞 + 多 note 类型区分处理 | ``` 总分 = 1196 / 12 → 平均 99.67(精确值 99.666...) 最低分 = 98(TS-01 / TS-08,均因 D8 判断性扣 1 分档) 低于 90 分的场景:无 算术回溯:每场景加权和 = Σ(维度得分/5 × 权重),D1=20、D2-D9 各 10, 已逐一回溯核对(如 TS-01 = 20 + 10×7 + 8 = 98),明细见 round_outputs_v2.md。 ``` **本次评测对应的目标行为核查(task book §四 逐项)** | 要求 | 结果 | |---|---| | TS-09 正确阻塞(不静默引用带水印 scene) | ✅ 产出为阻塞报告,`references` 未含任何素材;附「修正示范」演示清洗版可用时的 4 条修正 | | TS-10 全程静音才写 `overall_soundscape: N/A`、配乐显式 `N/A` | ✅ 两字段均显式 N/A,且画面细节未因静音而变空 | | TS-11 感叹号逐字保留 + 无高风险剧情推断 | ✅ `[Chinese] 别过来!`;女孩反应中性/短暂/开放 | | TS-12 多 note 类型区分(A 无替代→阻塞 / B 有替代→选对版本 / C 正常引用) | ✅ 三类分别处理,未一刀切全阻塞 | | TS-05/06 Ref2VA 重新生成 | ✅ 六字段齐全、职责声明、特征具体 | | TS-07/08 重新核对 | ✅ 通过,各有 1 处判断性扣分如实记录(仅 TS-08)/ 无违规(TS-07) | | TS-01~04 复用并逐项过 v2 机械校验 | ✅ 4 个场景 D9 全部通过,无需因新判据重新生成 | --- ## 二、是否达标结论 - **90 分硬性部署线(passing_score):达到**,最低 98 分,余量明显。 - **95 分目标线:达到**。 - **D1 封顶规则全程未触发**:12 个场景 D1 全部 = 5(≥3 不封顶)。 - **D5/D7 硬错误下限全程未触发**:唯一产出多句对白的 TS-11 写法正确(D5=5);两个触发阻塞条件的场景(TS-09/TS-12)都走了 §3.3 的"正确阻塞"路径,没有静默引用污染素材(D7=5)。 - v0.3.0 重点修复的 6 类失败模式(F1-F6)在 12 场景层面均已覆盖且未再出现:F1→TS-09/TS-11,F2→TS-09/TS-12,F3→TS-09 修正示范,F4→TS-09 修正示范/TS-11,F5→TS-02/TS-08 校验点,F6→全部场景的第 11 项机械清单。 **结论:v0.3.0 在 benchmark_v2 下达到训练收敛目标,建议部署。** 但"达到收敛目标"≠"生产风险清零",局限见第五节——尤其 5.1(阻塞行为只有 1 条真实输入先例)和 5.3(评分者与执行者是同一个我)。 --- ## 三、训练过程简述 本次任务是 **Large Loop 重训的单轮收敛**(Round 3,接在 v1 任务的两个 round 之后),不是多轮迭代: Digest v2 重新定义了基准与场景集之后,把 feedback_eval 评审给出的「七步工作流」整体落进 SKILL.md (v0.2.0 → v0.3.0,diff 见第四节),然后一次性对 12 个场景执行任务书规定的处理要求 (6 个重新生成 / 2 个重新核对 / 4 个复用+v2 校验),逐场景按 D1-D9 打明细分。全部产出与打分明细见 `round_outputs_v2.md`,逐条改动记录见 `iteration_log.md` Round 3 段。 两次独立复核(详见 iteration_log.md): 1. **算术复核**:对所有非满分场景手工重算加权和与封顶判断(TS-01/TS-08 的 98 分、 N/A 维度按 §3.1 记满分的处理),与自动打分一致,未发现封顶规则漏算。 2. **跨引用复核**:核对阻塞报告内"补齐后的预案"与 TS-09 修正示范实际使用的 references 顺序 / `` 绑定 / `` 绑定是否互相一致——一致(scene 单独成条作 Picture 1, npc/player 只作 Subject 外观来源),即"声称会怎么做"与"示范里真的怎么做"没有脱节。 这是 dream 经验里「单份日志撑不起 resume/reuse 场景,要加跨引用校验」在本轮的直接应用。 --- ## 四、SKILL.md v0.2.0 → v0.3.0 改动 diff 来源:`git diff system/agents/h3-video-prompt/train/evolve/SKILL.md`(256 行插入 / 32 行删除)。 diff 属实可查,以下按节归类列出,不做选择性摘录。 | # | 章节 | 改动类型 | 内容 | |---|---|---|---| | 1 | frontmatter | 改+增 | `version: 0.2.0 → 0.3.0 (evolve iteration 3, Large Loop retrain)`;新增 `v0.3.0_changes` 说明字段(融入七步工作流 + 生产输入格式处理,对应 benchmark_v2 D5-D9) | | 2 | §0(开头) | 删 | 移除针对 agent.md 语言规则冲突的重复论述段(该冲突的处理立场已在 v1 报告 4.5 立案,正文保留官方规则的正面陈述即可) | | 3 | **§0.5** | **新增整章** | 「内部固定工作流:七步总览」+ 优先级顺序声明(先硬性格式和引用规范 → 再用户意图 → 再冲突与不可用素材 → 再可拍摄性 → 最后电影感);下设 §0.5.1 提取硬约束(7 项内部约束表)、§0.5.2 引用素材预检(不可用判定 + 5 条处理规则 + 阻塞报告应包含的 4 要素)、§0.5.3 输入冲突解决(5 级优先级表 + 最小改动范例"蜡烛保留但写明未点燃")、§0.5.4 扩写边界(四类内容分类表 + "一句台词时对方反应保持中性/短暂/开放")、§0.5.5 对白三条核心、§0.5.6 指向 §5.3、§0.5.7 输出前机械验收(11 项固定清单)、§0.5.8 阻塞交付形态(禁止报阻塞同时附带污染 Prompt) | | 4 | **§0.6** | **新增整章** | 生产输入格式处理:参考图菜单 `{id, role, url, note}` + 主体定义 + 立绘绑定规则 + 要拍的意图的结构示例,以及从这份输入构造最终产出的 6 步流程(references 按菜单顺序不重排 / 只有场景图单独成条作 `` / 立绘只作 Subject 外观来源 / 逐条预检 note / 台词逐字进 `` / 输出形状处理) | | 5 | §1 Step 0 | 增 | 信息收集新增一项:逐条提取素材 note 的禁止/替换/版本要求;新增"核心主体未知优先反问,不要替用户编造外观"硬规则 | | 6 | §2 Step 1 | 增 | 模式判断新增一条:"生产输入菜单 + 主体定义 + 立绘绑定规则 → Ref2VA,不要降级当 I2VA 处理";边界引用从 §Step 8 改指 §10.1 | | 7 | §3.1 | 改 | 占位符硬规则与 §0.5.7 清单第 11 项建立联动(不再是孤立提醒) | | 8 | §4.1 | 增 | 新增"生产输入格式下的绑定写法":`` 直接绑定立绘时用立绘做来源声明 + 从文字设定提取的具体特征(附白衣女子示例) | | 9 | §5.1 | 增 | 矛盾运镜反例扩为两类:除"推进又环绕"外新增 `static shot with small amplitude shake`,给出两种干净的替代写法(`remains locked off` / `shakes slightly while maintaining the same framing`) | | 10 | **§5.3** | **新增节** | 物理与镜头一致性检查(六条):唯一光源真唯一 / 人物出现要有过程 / 道具位置不跨镜头跳变 / 运镜不互相冲突 / summary-retention-detailed 三字段讲同一件事 / Shot 编号与时间戳连续——对应七步工作流第六步与 benchmark_v2 D6 | | 11 | §6 | 增 | 对白语法新增一条硬规则:"不擅自添加/删除/改动标点——原句没有句号就不加句号,原句带感叹号就保留感叹号,不补省略号";说话方式/音色/动作永远写在 `` 外 | | 12 | §7 | 改 | N/A 精确条件规则不变,标注口径改为"v0.2.0 用原文纠正、v0.3.0 沿用"(措辞统一) | | 13 | §8 | 增 | 元指令("越震撼越好""要有科技感""高大上")按具体性三问转译,不要照抄进最终提示词 | | 14 | §9 | 增 | 自查清单由 15 条扩到 **20 条**:新增第 16 条对白逐字标点、17 条素材 note 逐项预检与阻塞、18 条冲突按优先级最小改动、19 条未经授权的剧情结果、20 条输出前过 §0.5.7 十一项;自查顺序重排为"① 素材预检 → ② 冲突与扩写 → ③ 对白 → ④-⑩ 原有顺序 → ⑪ 机械验收" | | 15 | §10 | 增 | §10.1 补"核心主体未知时同此处理(反问),只有时长/情绪基调这类低风险参数可在标注假设下推定";**新增 §10.3 素材阻塞(生产级)**,明确"这不是失败,是正确行为" | | 16 | §11 | 增 | 交付清单新增:冲突取舍或阻塞要说明处理方式;**交付前必须通过 §0.5.7 十一项机械验收**(由"建议"升为"必须") | | 17 | §12 | 增 | 来源标注补充 v0.3.0 依据:feedback_eval(2026-08-26)+ benchmark_v2 | **落地自检(对照 task book §六.1)**:七步工作流的 7 步在正文各有一个操作细则落点(§0.5.1 / §0.5.2 / §0.5.3 / §0.5.4 / §6 / §5.3 / §0.5.7);生产输入格式有专门小节 §0.6; 阻塞行为由 §0.5.2 第 2/3 条 + §0.5.8 + §10.3 三处共同固定,均为"必须/停止生成"的指令式写法, 不是可选项。 --- ## 五、诚实的局限说明(沿用 v1 报告 4.x 的写法,不只报喜) ### 5.1 「阻塞」这一新行为的真实先例数量:1 条输入,0 次真实部署 本轮最重要的新行为(必需素材不可用 → 报告阻塞)是在 2 个场景(TS-09 / TS-12)上验证的: - **TS-09** 的输入确实取自真实生产对话(conv-mtabpqx9 的完整菜单原样重建),所以 "note 说要换清洗版 + 输入没给清洗版 → 应阻塞"这条判定**有 1 条真实先例支撑**。 - **TS-12** 是 Digester 为了覆盖"A/B/C 三种 note 类型"而**构造**的场景,不是真实发生的请求。 更关键的是:v0.3.0 **还没有在任何一次真实调用中跑过**。也就是说,"正确阻塞"这个行为目前的 真实证据形态是"对过去那条失败案例的复盘式重放,结果正确",而不是"下一次同类真实请求不会再错"。 真实生产里还有两类变体本轮完全没测到:① note 说「必须替换」但**菜单里有**清洗版(应选清洗版继续, 不阻塞也不静默);② 多份素材同时不可用(部分必需、部分可选)。这两条的预期行为写在 §0.5.2 里了, 但没有对应的场景产出,属于**规则已落地、行为未验证**的状态。 ### 5.2 构造性判据的真实先例数量:本轮仍为零 TS-09 附带的「修正示范」(假设清洗版可用时怎么写)是**构造出来的展示产出**,目的是让 F1/F3/F4 三类修复有真实的 Prompt 文本可核对,而不是只在打分表里说"会这么做"。它本身有效,但要如实记录: | 判据 | 来源 | 性质 | |---|---|---| | 「油灯唯一光源 + 蜡烛写明未点燃」最小改动的实际产出效果 | 仅存在于 TS-09 修正示范 | **构造性**(无真实生成) | | 「一句台词后反应中性/短暂/开放」的效果 | 仅存在于 TS-09 修正示范 / TS-11 | 半构造(TS-11 是完整生成的 Prompt,但场景本身也是 Digester 构造的) | | 「`` 逐字 + 感叹号保留」 | TS-11 实际产出 | 已验证(文本层面) | | 「带水印素材进 references 会被模型学进成片」造成的画面污染程度 | **从未观测过** | 无先例 | 最后一行值得单独强调:我们验证的是"不再把污染素材送进 references"(流程层),而没有验证 "如果不送,成片质量到底差多少"(效果层)——后者需要真实出片才能知道,本技能无法自证。 ### 5.3 所有打分都是自评,评分者与执行者同为一人 12 个场景的 D1-D9 明细是我自己按 benchmark_v2 打的,没有第三方盲评,也没有把产出交给 org-innovator 复核后再计分。打分依据都已写明(每个维度带依据列),算术可回溯,但"这份依据算不算 命中 tier 4"这类判断仍是自我裁量的。上一轮报告中 TS-05 得 92 分那一档的自我扣分是可信的 (有具体缺陷文本佐证),同理本轮 TS-01/TS-08 的 D8=4 也是自我扣的——方向上应该是诚实的 (扣了分而不是白给),幅度上无法自证客观。需要 org-innovator 或独立评审抽 1-2 个场景复核 (建议抽 TS-09 和 TS-05),确认判分尺度没有系统性偏松。 ### 5.4 本轮仍未被任何场景实际验证过的判据 benchmark_v2 的判据里,以下几条在本轮 12 个场景中**没有任何一条被真实触发**,因此 v0.3.0 是否能 在它们上得 5 分仍是未知数,只能确认"没有发生过反向证据": | 未触发的判据 | 所属维度 | 为何没测到 | |---|---|---| | 人物无进入过程突然出现在画面里 | D6 | 没有"人物凭空出场"的反例场景 | | 道具位置跨镜头跳变 | D6 | 没有多镜头道具连续性的专项场景 | | 画外音 `says in an off-screen voiceover` + 嘴唇保持闭合 | D5 | 没有画外音场景 | | 多说话人 `(S1)`/`(S2)` 编号稳定且一一对应 | D5 | 只测了单说话人(TS-11 仅 S1) | | Ref2VA 的音频素材(音色锚定) | D1/D7 | 12 个场景的素材全是图和视频,没有 audio 类素材 | | JSON 是否真的可解析、无 schema 外字段 | D9 | 测试产出是 markdown 正文形态,没有走真实 `{"prompt", "references"}` 序列化通道 | | 输入 schema 有错误通道时的正确用法 | D7 | 两个阻塞场景碰到的都是"schema 无错误通道"分支 | | 歌词/可见文字(招牌字幕霓虹灯字样)保留原语言 | D5 | 没有歌词或画面文字场景 | 这些与 v1 报告 4.4(N/A 条件未被触发)性质相同,区别在于本轮已把其中最重要的一条(声音 N/A)用 TS-10 真实验证掉了,其余仍在清单上。建议 Digester 下一批场景优先补齐"双说话人 + 音频素材"这一组, 因为它们在 Ref2VA 场景里出现的概率不低。 ### 5.5 一个尚未裁决的评分惯例问题(继承自 v1 报告 4.2,并在本轮被放大) "N/A 按'未发生违规'记满分"这条惯例在本轮覆盖的范围比 v1 大得多:v1 只用于 TS-07 这一个反问场景, 本轮还覆盖了 TS-09/TS-12 两个阻塞场景的全部正文类维度。直接后果是**12 个场景里 10 个拿了 100 分**, 分数分布几乎没有区分度。这不是打分错误(§3.3 就是这么设计的),而是**这套规则天然让"正确放弃"和 "完美达成"拿同样的分**。如果 Digester 认为"一份高质量的阻塞报告"应该比"一份刚好合格但毫无亮点的 Prompt"得分更高(现在两者并列 100),或者反过来认为阻塞场景根本不该参与平均分计算,都需要拍板—— 本轮不改分数、不改 benchmark,只把这个结构性问题摆出来。 ### 5.6 需要决策的事项:v0.2.0 存量产出与新规则的张力(TS-01 / TS-08 的那 1 分) TS-01 和 TS-08 都是复用 v0.2.0 产出,各自因"核心主体/场景缺失时以标注假设推定、未反问"扣了 D8 的 1 分档。三点如实交代: 1. 这个行为在 v1 基准下是完全合规的(当时的规则就是"能合理推断的直接采用并注明"),所以这两个 场景**没有因 v0.2.0 写错了什么而失分**,失分是因为 v0.3.0 把标准收紧了——这是基准演进的正常 现象,不是回归。 2. 按任务书要求,这两条属于"复用 + 校验"范围,本轮**没有**用 v0.3.0 重写它们去抹掉这 1 分; 如果重写(像 TS-07 那样先反问),预计都能回到 100。 3. 但这里有一个真正的开放问题需要拍板:**"开箱视频"这种情形,到底应该反问还是合理推断后开工?** 反问会让体验变重(一个纯娱乐请求被列 6 个问题),推定则有替用户编造主体外观的风险。v0.3.0 目前 选了"优先反问"的一侧。如果 org-innovator 认为低风险娱乐场景应当默认推定、只在歧义大时反问, 那么 §0.5.4 / §10.1 的这条收紧就要回调,且 TS-01/TS-08 的 D8 应当改回 5 分——这两种取向都有道理, 不是我能在训练里擅自决定的,所以分数维持现状。 ### 5.7 仍然悬挂的两条旧账(承接 v1 报告 4.5 / 4.6,本轮未处理) - **agent.md 的语言规则校准冲突**:官方原文要求结构化字段一律英文、只对白/可见文字保留原语言, 而 `system/agents/h3-video-prompt/agent.md` "交付形态"一节写的是"跟随用户输入语言"。v0.3.0 正文 已删除对该冲突的重复论述(见第四节 #2),但 **agent.md 本身没有被修改**(超出 Evolver 职权范围), 冲突依旧存在。skill 生产部署用的是 agent.md 还是这份 train/evolve/SKILL.md,需要 org-innovator 明确——如果线上走的是 agent.md,那么本次重训的成果并没有真正生效,这是比分数更重要的问题。 - **飞书标杆文档依旧不可达**(`train/hunt/feishu_access_status.md` 记录的三次尝试结论未变)。 本次重训全部基于官方仓库原文 + feedback_eval 的人工评审意见。如果飞书内部标杆对某些字段有额外 定制约定,本轮无法反映。 ### 5.8 关于"分数提升"的表述纪律 v1 → v2 的分数变化(99.125/98.71 最低 97 → 99.67 最低 98)**看起来只提升了不到 1 分**,但两组 数字在两套不同的 benchmark 上得出,既不能说"进步很小"也不能说"大幅提升"。准确的说法是:v0.2.0 在旧基准下表现良好,但在**新的、以行为约束为核心的基准**下被暴露出 6 类真实失败模式(6/10 评测); v0.3.0 把这 6 类各自的修复落进了正文与固定流程,并在新基准下全部通过。重训的价值体现在**失败的类别 被消灭**(6 类全部有对应的场景级证据),而不是体现在分数涨幅上。 --- ## 六、给部署决策的建议 1. v0.3.0 建议可以进入生产试用,但按 5.1 的结论,首个上线阶段应重点观察两类真实请求: 必需素材带"必须替换"类 note 时是否正确阻塞;菜单里有可用清洗版时是否能正确**选择**而不是误报阻塞。 2. 先解决 5.7 第一条再谈部署:**确认线上实际加载的 skill 文件是哪一份**,若线上走 agent.md, 需要把 v0.3.0 的七步工作流同步进去(或由 org-innovator 排期一次 agent.md 校准)。 3. 若采纳 5.5 / 5.6 中任一调整(阻塞场景计分方式、"反问 vs 推定"取向),会导致本轮分数表变化, 请届时通知重评——那是 Digester / org-innovator 的决定,Evolver 不擅自改 benchmark 或回填分数。