用途
Cut Mistakes & Repeats 是自动剪辑流程的第二个 Agent,在 cut-silences(去静音)之后运行。它处理人类剪辑师第二遍才会剪掉的内容:口吃(“the the”“I- I-”)、紧邻的重复词、说了一半又重来的开头(false start),以及重录的台词(保留干净版本,去掉录砸的版本)。触发说法包括“cut the mistakes”“remove stutters / repeats”“clean up the flubs”“keep the best take”“cut false starts”。
主要能力
候选检测脚本 find-cut-candidates.mjs 生成两类产物:结构化的 <stem>.cut-candidates.json(含类型、置信度、建议剪切区间、删除/保留文本、上下文、建议)与可读的 <stem>.cut-candidates.md。候选类型包括 stutter(紧邻词语重复)、retake(通过 Jaccard 相似度识别的重复或近似重复段落)、false_start(短促的放弃短语后重新开始)。
该技能默认设有人工审核关:机械检测无法区分有意的强调或修辞与真实口误,例如“it's never, never hands-off”这类强调性重复、“the piece is, is this…”这种系动词后接问句、以及列举,都属常见误报。因此必须逐条结合上下文判断,不能盲信建议。
使用方式
分三步。第一步查找候选:
node .agents/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
<silence-transcript.json> --out-dir video-projects/<slug>/assets
输入通常是上一个 Agent 的 <stem>.silence-transcript.json,使剪切落在已去静音的时间线上。
第二步审核并写出批准文件,格式为:
{ "cuts": [ { "start": 100.93, "end": 101.06, "reason": "I- false start" }, ... ] }
start/end 为输入转录/视频时间线上的秒数;可以扩大候选区间,例如对重录片段从录砸版本开始剪到干净版本重启处。
第三步应用已批准的剪切:
node .agents/skills/cut-mistakes/scripts/apply-cuts.mjs \
<silence-transcript.json> --cuts approved-cuts.json \
--video video-projects/<slug>/assets/edited-silenced.mp4 \
--output video-projects/<slug>/assets/edited-clean.mp4 --apply
该脚本写出 EDL、重新定时的 <stem>.mistakes-transcript.json(供后续动效图形 Agent 与 validate-beat-sync.mjs 使用)、决策日志,并在带 --apply 时通过 ffmpeg 裁剪加拼接输出音画同步的视频;去掉 --apply 即为试运行。
结果可用共享审核工具检查剪切点与边界:
node scripts/build-edl-review.mjs <stem>.mistakes-edl.json \
--original video-projects/<slug>/assets/edited-silenced.mp4 \
--edited video-projects/<slug>/assets/edited-clean.mp4 \
--output video-projects/<slug>/assets/mistakes-review.html
npx serve . -p 8080 -n
适用场景
适用于口播讲解、课程录制、访谈等内容的口误清理,作为主剪辑工作流的第二阶段,输出交给下一个 Agent(动效图形/分层卡片)继续处理。
限制与注意事项
非常干净的录音可能只产生很少甚至零个真实剪切,这是有效结果,不应为凑数而剪掉自然语言。两个词之间的剪切属于硬拼接,对口吃和开头重启通常干净,若需更紧的音频可后续加 20–30ms 淡入淡出。检测依赖输入转录与相似度判断,存在误报可能,因此审核关为必需环节。