复刻产线 · 质检系统 · 2026-08-05 架构更新

生产一步,
独立审核一步

前五节保留 12 道卡点和《开工前必买 5 样》的真实体检账;第 06 节把目标系统改成分阶段放行:文稿、素材、口型和成片各自审核,通过后才能进入下一步。

只想看审片那五道各自的判据怎么定的,读 《AI 成片自动审查系统 · 说明》; 本页覆盖当前全产线 12 道,并附一次实跑的账。直接看分线后的系统 →

12当前卡点总数
2 条线目标:生产 / 独立审核
~50 秒当前总检跑完一次
0当前机器实际拦截权

12 道卡点只是检查工具,不等于完整审核系统。当前严重缺口是:做片的人同时运行检查、解释报警,并且观察模式会把退出码压成 0。目标也不是等成片做完才统一审核,而是把生产权和判定权交给两套独立进程:每完成一个阶段就冻结版本、独立检查;灰区当场进人工复核,明确失败或没跑成绝不能进入下一阶段。

01

卡点挂在产线的哪里

挂位只有一条原则:挑最便宜的那一刻拦。同一个错,在写稿阶段发现改一行字,拖到口型跑完再发现要重付 $1.45。

① 写文稿 ② 选 B-roll ③ 配音 TTS ④ 口型同步 ⑤ 合成成片 ⑥ 交付 文稿体检 镜头撞车 内部跨剪辑点 源片红线 画面对题 / logo 语速快不快 句内停顿离群 预算硬顶 $6 口型崩坏 口型偏移 段内闪切 无(纯拼接) 哈希对得上吗 此刻返工,要花多少 0 元 0 元 $0.03 $1.45 $1.45+ 全部重来 改一行字 换一条素材 重合一次音 整条口型重跑 得退回上游 已经发出去了 ↑ 出错最多的一段,也正是改起来最不花钱的一段
琥珀色框是 B-roll 那一簇——四道卡点全挂在这儿。三条片子人眼抓到的真问题(竞品 logo、水泥拍成吊顶、跨剪辑点、拿源片自己的镜头)无一例外都出在选素材,而这一段返工是免费的。

12 道卡点,各查什么

阶段卡点查什么 / 判据
① 文稿script_guard 字数、平均句长、清单项数量对不对得上源片。不过不许进 TTS。
② 素材check_dup_scenes 几个镜头是不是同一个地方。比 16×16 灰度构图,误报高,服从下面那道仲裁
② 素材check_broll_cuts 一条空镜中间换没换镜头。看场景有没有永久改变(跳变点前后各 12 帧求平均再比),不是看像素跳没跳——动作快也会跳。
② 素材check_source_reuse 红线。有没有拿被复刻那条源片自己的镜头。按 pHash 画面指纹比,不按 md5——同一条片子在库里有过两个 md5。
② 素材check_shot_semantics 唯一真看得懂画面的一道:对不对题、撞不撞车、有没有第三方店名/品牌。走 OpenRouter,主模型 qwen3-vl-235b,兜底 30b。
③ 配音check_speech_rate 净语速(去掉静音后每字多少毫秒)和停顿密度两条线,分别判「念得快」和「断得碎」。
③ 配音check_pause_outlier 句子中间有没有莫名其妙的长停顿。有意设计的项间停顿会被排除。
③ 配音budget_guard 单条硬顶 $6,超了直接拒。不能调高上限。
④ 口型check_lipsync_quality 嘴部有没有被重绘崩坏。量嘴区差相对本批中位的离群度。
④ 口型check_lipsync_offset 嘴和声音差几帧,外加逐窗口找局部低谷。静音段会被排除。
④ 口型check_seg_flash 主播切片里有没有闪进别的画面(孤立高帧差)。
⑥ 交付archive_guard 交付的成片 sha256 跟审过的是不是同一个。审完又换素材重合成,旧报告作废。
02

一份报告是怎么下判定的

这套系统最反直觉的一条设计:「没跑成」比「有问题」更严重。有问题至少是查过了;没跑成会伪装成通过。

工作目录 切片 · B-roll · 源片 预检 · 自动接目录 命名不合约定就建软链 9 道闸门 并发跑,约 50 秒 退出码 2 退出码 1 退出码 0 压顶判定(上盖下) ⛔ 有 1 道没跑成 → 整份报告不可信,先别谈交付 ❌ 有闸门发现问题 → 其余全部执行并通过 ✅ 9 道全部执行并通过 → 另列「本次根本没查」几项 观察模式:退出码强制压成 0 照亮灯、照记账,但拦不住任何东西
琥珀框那一档是 2026-08-04 补上的。此前报告头一行只写「1 道闸门发现问题」,另外 5 道没跑成的事得往下翻才看得到——读起来像只有个小毛病。现在「没跑成」抢在最前面,并且明说这份报告不可信。
镜头撞车 · 比 16×16 灰度构图 ❌ 报 s03 ≈ s13 画面对题 · 真看得懂画面 ✅ 判不撞车 推翻 降级为通过,原报警留档 报告里写明「被谁推翻、原报警是什么」
两道闸门视野不重叠,打架时以看得懂画面的那道为准。实测依据:灰度闸门在 50 张建材特写上报了 37 组撞车,人眼复核真撞车 0 组;这次报的「银白隔音棉包管 ≈ 深色泡水木地板」也只是两张都「一条斜杠占画面大半」。

三档退出码

0 通过 · 1 有问题 · 2 没能执行。第三档单独占一位,就是因为它会伪装成第一档。

观察模式

这是现状,不是目标方案。照跑照记,退出码恒 0、拦不住任何东西。分线后不再把失败压成通过:只有审核策略预先列出的视觉灰区能记 WARN 并交给独立人审;FAILNOT_RUN 和必检项跳过仍然硬阻断。

批次相对,不用固定阈值

同一个「像不像」的分数,全景图和特写之间会漂。判据一律是「相对这一批的中位数」,不是写死的数。

哈希绑定

审过的是哪一版,靠 sha256 记账。交付时对不上就拒绝——专治「审完之后又换素材重新合成」。

03

那一趟实跑,它到底管没管用

对象是《开工前必买 5 样》。这是修复之前的账,下一节讲怎么修的。

2 / 6真问题里它抓到的
4 / 6真问题靠人眼抓的
4 / 6它报的警是虚惊
$1.45它这一次省下的返工

最贵的一次刹车是它踩的,最险的四个坑是人看见的。

闸门结果核对结论
check_speech_rate真阳性 这次唯一真正省到钱的一道。判「念得快 + 断得碎」,拦在付 $1.45 口型钱之前。倍速 1.24→1.08 才过。
check_lipsync_offset真阳性 +误报 a06 报对了:置信度只有同批 53%,重跑后 84%。a00 报错了:那个位置是纯静音,本来就没声音。
script_guard误报 说「源片 6 项你只写 5 项」。它把「全屋用水的第一道防线」当成了一个清单项。
check_dup_scenes误报 说 s03 和 s13 撞车。一个是银白隔音棉包管、一个是深色泡水地板,只是灰度构图都像「一条斜杠」。
check_pause_outlier误报 它量到了我有意补进去的项间停顿。换成按切片扫,7 条全绿。
check_lipsync_quality通过 7 段中位 10.20,全在 0.87–1.13×,无离群。
gate_faces_yunet通过 13 条 B-roll 全无人脸,且帧数与分镜表逐条吻合——说明它真读到了画面,不是空输入假绿灯。
check_seg_flash通过 主播切片无闪切。
check_shot_semantics迟到 1h20m 被另一个会话占着显卡。补跑后 14/14 通过,但它看到的是我已经修好的版本——前面那两个真错它连见都没见过。
budget_guard通过 实际 $2.07 / 上限 $6。
archive_guard通过 交付哈希与审查记录一致。

六个真问题,谁发现的

问题谁发现的说明
配音语速太快闸门付费前拦下。
第四项主播口型对不上闸门重跑那一段修好。
项间停顿只有句内的 1.21 倍人眼观众分不清讲到第几项。至今没有闸门管这件事。
s10 素材内部跨了剪辑点人眼取到的是铺贴不是开孔。已补 check_broll_cuts。
s13 生成图看不出积水人眼口播说「泡了家具」,画面只是间发潮的空房。仍是盲区,见第 05 节。
被复刻的原片就躺在素材库里人眼红线级隐患。已补 check_source_reuse。本条实际引用 0 次,未违规。
04

三个结构性毛病,怎么修的

2026-08-04 定位、当天修完,已合进产线。

① 首轮总检 7 道里 5 道没跑成 → 入口自己把目录接上

根因是目录名不合约定(工作目录长的是 aroll/+aud/+sync/,闸门约定的是 seg/+ls/)。不能只靠改措辞——现在入口认出常见排法就自动建一层符号链接(不动原文件),接不上才报错。同时把「没跑成」提到报告头一行并盖过「有问题」。

② 唯一看得懂画面的闸门排在决策链外 → 从显卡搬到 OpenRouter

它原本跑本机模型、要抢显卡单实例锁,那一次等成片定稿、人工审完之后 1 小时 20 分才补跑。现在改走 API:主模型 qwen3-vl-235b、兜底 30b,16 张图约 20 秒、约 $0.004,快到可以每次都在选素材阶段跑。本机那条路保留为无 key 时的退路。

③ 误报率太高 → 修掉四个误报源 + 让看得懂画面的那道仲裁

清单项正则改成只认句首、静音段判据取「整窗 / 左半 / 右半」三者最小值、停顿闸门排除有意设计的项间缝、灰度撞车服从看图闸门。观察模式继续保留——误报降了不等于校准完了。

05

还剩的盲区(老实说)

程度题「够不够惨」判不准。「地面有点潮」和「地面泡了家具」这类程度差别,主模型答不稳定——同一张图两次跑给出「潮湿」和「积水」两种答案。避坑类的翻车镜仍须人眼过一遍。
项间停顿清单体里「讲到第几项」的节奏感,没有任何闸门管。目前靠人量「项间÷句内 ≥2」。
logo 一项标定用的靶子里没有带 logo 的样本,这一项的准确率从未验证过
兜底模型qwen3-vl-30b 在 14 张合格样本上误报 9 张。它只是主模型挂掉时的可用性兜底,不能当准确性备份
拦截权旧生产入口已经排空锁门;分阶段独立审核的基础代码已合并,但 V1 仍关闭,Producer 和 Reviewer 均未部署运行。启用前,这个风险不能算完成修复。
06

修改后的目标系统:生产一步,独立审核一步

状态:安全锁门基础代码已合并,生产仍暂停

Store 已部署锁门版,旧生产入口保持排空,审核 V1 保持关闭;Producer 与独立 Reviewer 的代码已合并,但两个部署任务都被硬跳过。下面的流程已经写入代码合同,不代表云服务器正在按此生产。启用前还必须补齐私有素材存储、不可变人物与声音引用、固定字幕/OCR 时间线、签名发布回执、逐任务隔离、依赖哈希和独立验签。

任务状态只允许这样流转

script_ready → script_review → materials_ready → materials_review → lipsync_ready → lipsync_review → candidate_ready → final_review → human_review → delivered
任一 review 失败 ↩ 回到同一阶段;新版本生成后,该阶段及其下游旧结论全部失效

不是只有成片有版本

文稿、分镜与素材包、口型包、最终成片都要各自冻结并生成哈希;审核结果只对那个版本有效。

改动会作废哪些审核

改文稿会作废全部下游结果;换 B-roll 只作废素材阶段及其下游;重跑口型只作废口型阶段及其下游。

灰区何时处理

只有策略预先列出的视觉灰区可以记 WARN,并在发现它的阶段带证据完成人工判断,不必等到成片。

服务器何时允许交付

四个阶段的版本与审核链都匹配当前成片、无硬失败、最终人工清单已保存,才允许放行。