# 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 或回填分数。