h3-prompt-benchmark.md
8.01 KB
H3 电影级提示词质量评分 Benchmark
用于评估 h3-prompt-writer skill 产出的提示词质量。依据来自 h3-prompt-guide.md(H3 官方方法论)
- 通用电影摄影语言体系 + Veo/Seedance/Kling 等主流文生视频模型官方提示词指南的综合调研,调研全文见
<code>deep-research-cinematic-prompt.md</code>(调研
产出,非项目权威文档,仅作依据存档;正式结论已经吸收进本文件和
h3-prompt-guide.md)。
打分方式
- 满分 100(纯文生模式满分基数 92,最终分 = 实得分 / 92 × 100,因为「8. 素材引用规范性」8分不适用)。
- 第 10 维「输出格式合规性」是硬性 gate,不计入百分制:不合规直接判定本次测试不合格,需先修正 技术参数(分辨率/帧数),修正后再进入其余 9 维打分。
- 维度 1/2/6/7 是硬门槛型:这几维任一维度得分低于该维满分的 50%,即使总分凑够 95,也判定不合格 (防止"总分刷上去但关键维度烂"的情况)。
- 目标:skill 产出的提示词稳定拿到 ≥95 分(且不触发硬门槛熔断)才算通过。
评分维度
1. 三段公式完整性(14分,硬门槛)
- 参考素材说明处理正确:有素材写清楚每个
@图片N/@视频N的用途,无素材合理整段跳过(3分) - 核心创意句五要素齐全:主体(1)+地点(1)+事件(1)+题材风格(1)+运镜(1)(5分)
- 画面过程说明存在且按时间/分镜组织,结构清晰可辨认(3分)
- "想要"与"不想要"两部分区分清晰,不混写(3分)
2. 视觉具体化程度(14分,硬门槛)
- 全篇无"意会型"抽象比喻(如"仿佛""某种感觉""有灵魂"):零处扣分满分,每出现一处扣2分(6分)
- 关键视觉元素(颜色/材质/光影方向/质地/尺寸)有具体可视化修饰,覆盖率高(8分)
3. 镜头语言专业度(10分)
- 使用了准确的景别术语(英文或中文均可,如"中景""close-up")(2分)
- 运镜术语具体化拆解,不写笼统的"环绕运镜"这类词(如写成
truck left+pan right)(3分) - 光线/构图/色彩分级术语覆盖至少2类(如key light、shallow DOF、film grain 任选其二)(3分)
- 术语用法准确,无误用(如把 dolly 和 pan 混淆)(2分)
4. 时间轴/分镜结构化(12分,视频时长≥10s时必需)
- 按 shot 或时间段分段描述(4分)
- 每段包含景别+内容+运镜+动作+音效等要素完整,不是单一维度的流水账(4分)
- 分镜时长与内容量匹配(无"3秒说一大段台词"这类明显不匹配)(4分)
5. 声音设计分层(10分)
- 区分对话(如有,引号标注具体台词内容)/ 配乐 / 环境音效三层,不混为一谈(4分)
- 配乐用相对时序描述("某事件后进入/停止"),不写死绝对秒数或分贝数值(3分)
- 台词具体化到原文,或明确写出"人物不说话"的约束(3分)
6. 约束一致性(12分,硬门槛)
- 正向要求与负向排除之间没有逻辑矛盾(如同时要BGM又说不要BGM)(6分)
- 负向描述写成具体画面(如"空旷荒野无建筑无道路")而非简单否定词堆砌(如"不要丑、不要低质量")(6分)
7. 已知坑规避(12分,硬门槛,H3专属)
- 未出现"不要字幕"这类已知反效果负向词(3分)
- 无对白角色场景,主动加了"保持安静/嘴巴自然闭合/无口型变化"约束防止自动念白(若场景有角色且不需要 说话才适用;场景本就无角色则此项自动满分)(3分)
- 视频内需要出现的文字/Logo/标题/按钮文案,原文一字不差写出(若不需要文字则此项自动满分)(3分)
- 未使用已知会诱发"莫名变暗/聚光灯效应"的负向表述(如"压低背景""聚焦暗化"),改用正向曝光一致性 描述(3分)
8. 素材引用规范性(8分,仅 ref2va/fl2va 模式适用,纯文生模式此项跳过、满分基数改为92)
- 每个引用编号都标注了用途(人物参考/场景参考/风格参考/动作参考/关键帧等)(4分)
- 编号顺序与提交时
reference_image_urls/first_frame_url实际顺序一致(4分)
9. 密度与长度匹配(8分)
- 提示词长度与视频时长/画面复杂度相称:简单单镜头案例不过度堆砌形容词,复杂多分镜案例不因偷懒 只写一两句笼统描述(8分)
10. 输出格式合规性(gate,不计分,pass/fail)
width/height/frames组合在raylight/scripts/server.py的RESOLUTION_CEILINGS安全范围内- 字段类型正确(数值型字段不是字符串等低级错误)
打分记录格式
每轮测试用如下表格记录,方便跨轮对比收敛趋势:
| 轮次 | 测试用例 | 模式 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | gate | 总分 | 硬门槛熔断 |
|---|
2026-08-23 实测收敛记录(h3-prompt-writer skill v1→v5)
打分者:与生成提示词的 agent 相互独立的评审 agent(不共享上下文,只读 benchmark 文件本身打分), 避免自评分数虚高。测试用例 A =「北京烤鸭产品广告」(纯文生,产品/无角色场景), 测试用例 B =「雨夜公寓对峙」(纯文生,双角色对白剧情场景,用于验证 A 上的修复能否泛化到不同题材)。
| 轮次 | 用例 | 自评/盲测 | 总分 | 熔断 | 本轮主要问题 |
|---|---|---|---|---|---|
| 1 | A | 自评 | 94.6 | 否 | (首次自评,未发现结构性问题) |
| 1 | B | 自评 | 95.65 | 否 | |
| 1 | C(ref2va案例,非正式记录) | 自评 | 95.5 | 否 | |
| 2(skill改进后) | A v2 | 自评 | 98.4 | 否 | 自评虚高,未发现真实问题 |
| 2 | A v2 | 独立盲测 | 94.6 | 否 | 负向描述是类别否定非具体画面;展示台材质缺失;静态分镜动作要素偏弱;环境音重复 |
| 3(针对性修复) | A v3 | 独立盲测 | 94.6 | 否 | 分数不变但问题变了:中段漏写环境音(为避免重复整句删掉);结尾2秒塞3个动作;负向清单只具体化了1条 |
| 4(针对性修复) | A v4 | 独立盲测 | 89.1 | 否 | 新发现:全篇按"15秒"叙事但实际提交300帧≈12.5秒,时长与内容不匹配,末段被压缩后更挤;"固定机位"与"dolly in推近"自相矛盾 |
| 5(针对性修复) | A v5 | 独立盲测 | 96.7 | 否 | ✅ 达标。时长精确对齐、运镜表述自洽、材质/尺寸具体化到位 |
| 6(泛化验证,新题材) | B v1 | 独立盲测 | 92.4 | 否 | 环境元素只写了1-2件(漏墙面/家具/窗户);无对白角色缺"嘴巴自然闭合"约束(skill里已有此规则但生成时漏用);曝光负向表述踩"亮度分区"雷区边缘 |
| 7(针对性修复) | B v2 | 独立盲测 | 93.5 | 否 | 环境元素补齐;防念白约束补上;但"亮度分区"雷区词从负向句挪到正向句,词根仍在(本轮新引入) |
| 8(针对性修复) | B v3 | 独立盲测 | 96.7 | 否 | ✅ 达标。彻底删除"亮/暗+分区"类词汇,改用纯光源物理行为描述;分镜密度问题部分改善(未根治但不影响达标) |
结论:两个不同题材(产品广告 / 双角色对白剧情)最终都独立盲测稳定 ≥95 分,判定收敛。过程中
两次「自评虚高、独立盲测发现真实问题」(轮2的94.6 vs 98.4、以及后续多轮"分数不变/下降但问题在
变化")说明自评有系统性偏高风险,后续用这个 skill 时如果要验证提示词质量,应该用独立的、没有
参与生成过程的视角重新审视,不要相信生成者自己的质量判断。收敛过程中最有价值的两个教训:
(1) 提示词里的时长陈述必须跟实际提交的 frames/24 精确对齐,不能照抄案例来源的"标准时长";
(2) 想避开一个已知雷区词时,要检查词根本身有没有被换个句式重新带回来,不能只看"这句是不是负向句"。