2026-08-14 Codex 教程录制链路打磨 · 复盘
事实记录(不可修改区)
- 项目:《Codex 保姆级教学》操作部分录屏,上接 2026-08-13_Codex教程操作部分_26段重录复盘(19/26)
- 日期:2026-08-14
- 战略转向:跳蛛先生与内容组对齐后决定——暂停录新内容,先打磨通用录制链路; 等内容组调整逐字稿后统一补录。诊断:逐字稿先写、录制去复刻,而 AI 有随机性, 复刻必然难,这是结构性问题而非执行问题
- 本日产出(全部实测验证,非纸面设计):
preflight.py开录前自检:11 项检查;--fix从”什么都没开”自动拉起全链路到全绿stage.take()三道机器关:ffprobe → 黑屏占比 → 内容指纹(新增)- 录制看门狗:
max_take_seconds到点强停+判废+复位
- 端到端测试:正常镜头(三关全过归档)/ 挂死镜头(15s 看门狗触发停录标废)/ 复位后再录正常,三用例全过
- 附带事实:OBS 实际装在
D:\obs-studio(不在默认位置,注册表HKLM\SOFTWARE\OBS Studio可定位); ChatGPT 桌面端是 MSIX 包,启动走shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App; 桌宠 DeskPond 的悬浮窗标题全是零宽字符(\u200b\u202c\ufeff…)
一、战略转向:为什么”复刻逐字稿”注定难
内容组先写逐字稿,录制侧努力去复刻画面——但分镜里一半以上的镜头要展示 AI 的实时输出, 而 AI 每次输出都不一样。逐字稿描述的那个画面在录制时根本不会复现。
8-13 的数据恰好支持这个诊断:唯一一次七条全一次过的批次是 332-338 「输入提示词不发送」系列——恰好是完全不依赖 AI 输出的确定性镜头。 失败率高的全是要展示 AI 响应的镜头。
→ 提炼成律:录屏分镜按确定性分层_生成性镜头逐字稿后配_v1
二、链路四道防线(与 8-13 的痛点一一对应)
| 防线 | 拦什么 | 对应 8-13 的哪次翻车 |
|---|---|---|
| preflight 自检(事前) | 环境/OBS/窗口/输入链路缺一不可 | 四大根因全部可被 10 分钟自检拦下,实际却每撞一次修一条 |
| ffprobe(事后1) | 容器参数 | —(一直有) |
| 黑屏占比(事后2) | 内容无 | 318/321-323 全黑片 |
| 内容指纹(事后3) | 内容错位:录到壁纸/错屏/窗口没绘制 | 324-331 录成定价页;「属性全对但 z-order 掉桌面之下」录到壁纸 |
| 看门狗(事中) | 录制失控 | 接手当天卡录 2h33m / 6.46 GB |
preflight 里最有价值的两项,都是把 8-13 的”只有人眼能发现”变成了机器判据:
- 窗口真的在绘制:
PrintWindow抓窗口自身内容 vsBitBlt抓屏幕同位置,比对差异。 8-13 收尾那种渲染僵死(句柄/可见性/最大化/前台全对,屏上只有壁纸,hover 前后像素 完全一致)从”卡一小时”变成”一项 FAIL” - 中文真的能打进去:往真实输入框打 8 个字的探针再撤销,用暗像素增量断言。
type_keys打不出中文那个头号根因,从”录完 7 条空片”变成”一项 FAIL”
三、方法论沉淀
[判据阈值必须两端实测标定,直觉会差一个量级]
核心:内容指纹的阈值我凭直觉预设 45%(“完全不同的画面总得差一半吧”)。 实测标定:
| 场景 | 灰度差异 |
|---|---|
| 同一条视频自比对 | 0.00% |
| 同界面、隔一天实况 | 1.02% |
| 完全不同内容(Chrome 定价页 vs Codex 主界面) | 14.30% |
两个白底应用页面的灰度差只有 14%——45% 的阈值会把 8-13 那批「录成定价页」的废片 全部放行,这道防线等于没建。正确阈值 8%,取正常水位(1%)与最难分错误(14%)的中间。
为什么直觉错得这么远:人眼看”完全不同”看的是语义(这是定价页!那是对话页!), 灰度比对看的是像素——白底页面 80% 的像素都是一样的白。
验证状态:⚠️ 初次记录,但与两条既有律同族—— 自动化产出双重验收_机器验参数人眼验内容_v1 2026-08-05 边界补充(换一类信号先拿 已知答案的样本标定)是同一骨架:判据上线前,必须拿”已知好”和”已知坏”各标定一次, 两端都没标过的阈值不是阈值,是猜想。
操作规则:
- 新判据上线前,正例反例各测一次,阈值放两者中间,并把标定数据写进代码注释
- 反例要选最难分的(同为白底页面),不是最容易分的(壁纸 vs 应用)
- 直觉阈值只配当标定前的占位符
[事后验收关能前移的就前移成事前断言,剩下的做成录中防线]
核心:8-13 的教训是”机器验参数、人眼验内容”;本日把这条又推进一层—— 人眼关兜底的范围可以持续收窄。三类失败三种时机:
- 环境/能力类(中文打不进去、窗口没上台)→ 事前 preflight
- 过程失控类(录制不停)→ 事中 看门狗
- 内容错位类(录到壁纸/错屏)→ 事后 指纹,但参照帧是事前抓的
验证状态:⚠️ 初次系统化(8-13 复盘的”下次改进”第 1 条当日落地并验证)
[大段替换编辑会丢行,链路测试是唯一可靠的网]
核心:给 take() 加看门狗时,整块替换把 o.start_record() 弄丢了——
三条测试录出 落盘: None 当场暴露。如果没有端到端测试直接投产,
下一批素材会全部是”没开录就跑完了演示”。
操作规则:改录制主干后必跑一次最小 take(6s 静止镜头即可); 调试这类”每步都该有状态”的流程,摊开逐步打印比读代码猜快得多(两分钟定位)。
验证状态:⚠️ 单案;与 Claude完成报告核查心法 的”改完必须实证”同族
四、下次改进
- 演示原语库(打字并校验/发送并等完成/开窗上台/切视图/滚动展示)刻意没做—— 接口形态取决于新逐字稿长什么样,提前抽象是白抽象。等内容组定稿再设计
- preflight 的输入探针坐标目前硬编码 ChatGPT 主界面,换应用要参数化
- 指纹判据对”同 app 不同页面”的区分度(14% vs 8% 阈值)余量不大, 若未来出现更相近的错位场景,考虑换成分块比对(布局级差异比全图均值敏感)
五、一句话结论
8-13 证明了”参数全对不等于内容对”,8-14 把这句话变成了四道可执行的防线; 而更上游的教训是:录制可靠性和镜头对 AI 随机输出的依赖度强相关—— 确定性镜头才配得上自动化复刻,生成性镜头应该先录再配稿。
关联文档
- 2026-08-13_Codex教程操作部分_26段重录复盘 —— 上一日:四大根因与 19/26 重录
- 录屏分镜按确定性分层_生成性镜头逐字稿后配_v1 —— 本日提炼的一句话律
- 自动化产出双重验收_机器验参数人眼验内容_v1 —— 本日给机器关加第三道(内容指纹)
- UI自动化的固定坐标必须绑前提断言_v1 —— preflight 是它”断言写在动作前”的工程化落地
- 交接文档不是需求原文_接手先回溯上游_v1 —— 同项目 8-13 提炼
- 代码资产索引 —— stage.py / preflight.py 登记处
- 04_方法论与洞察索引