2026-08-28·by Sijie Wang#cybernetics#engineering#agents

audit-the-artifact

审计要看真实产物,而非断言

上级:disciplines。 上位:site-audits-where-checking-is-cheap——本条是那条判据的推论。产物才是让检查变便宜的那个东西;描述会让每一个检查都变贵。

更深一层的失败:没有硬工具的审计只是表演

第一轮"通过"其实是假的,是负责人亲眼抓到一段沉闷、无声、黑白的视频,才把它揭穿:那次审计没有任何工具——它读的是一份文字计划加上我自己的断言("假设音频没问题"),从来没有看过渲染出来的文件。没有工具的审计者只会盖章放行;agent 则会不断地宣称胜利。修法是做一个带硬工具、直接检查产物的审计services/media-audit/video_audit.py):ffprobe(到底有没有音轨?)、volumedetect(能不能听见,还是实质静音 → FAIL)、以及视觉判官必须看的抽帧(钩子 / 是真实素材还是抽象画面 / 字幕 / 色彩 / 运动)。审计一份计划或一句声明,是无效的。 比"硬工具"更根本的规则是:审计的输入必须是独立取得的真实产物——绝不能是来自生成者或编排者的一句声明、一份计划、一段描述或一个假设。硬工具只是你用来读取非文本产物的手段;真正的不变量是你审计的对象是什么。把"假设音频没问题"交给审计者去审,本质上是在审计自己的断言——无论有没有工具,这在结构上就是无效的。(判断的第一法则:发布者对已提交的内容重新运行;审计者读的也是已提交的内容。)

这和整个信任基座的教训是同一条——验证真实产物,永远不要验证断言——只是应用到了媒体上。

看帧审计持续证明自己的价值(动画那一轮,2026-07-17)

给 Remotion 视频加动效时(用 animate 技能:逐行错开入场、用 ease-out-quint/expo 代替生硬的 spring、共享的进度轨、卡片入场、偏冷色调的中性色)——带硬工具、真正去看渲染出来的帧的审计,立刻抓到了两个只靠读代码或读断言的审计会放过的缺陷:(1)CTA 卡片上出现了字面上的 \n——这是一个 JSX 的坑:字符串属性text="a\nb")不会解释反斜杠转义,而 {} 里的 JS 表达式(.split("\n"))会,于是两者悄悄地对不上;用 | 作哨兵字符解决。(2)mean_volume −91 dB——Remotion 生成的是一条无声的 aac 音轨(只看 has_audio_stream:true 这个标志是个陷阱;只有 audible 才能抓到问题);靠混入背景音乐(−30 dB)解决。同时还修复了硬工具本身的一个漏报(vertical_9x161080x1920x 解析错了)。这些问题没有一个是"代码看起来没问题"能看出来的——只有读真实的字节才能看见。同一条法则,再一次:验证真实产物,永远不要验证断言。

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →

audit-the-artifact