video-workbench/docs/cases/on-the-road-project-evoluti...

22 KiB
Raw Blame History

《在路上》项目从无到有到全量 slide 完成:文章素材文案

文档定位

  • 类型:文章素材底稿 / case material。
  • 用途:为未来写一篇关于 video-workbench 和《在路上》项目实践过程的文章提供素材、时间线、案例细节和可引用表述。
  • 状态:素材草稿,不是工作流规则,不替代 VIDEO_WORKBENCH.mdproject.mdexecution-plan.mdslides/slides.md
  • 项目路径:projects/2026-06-23-在路上
  • 当前项目状态:当前 51-shot 表的 shot-image production 已完成,项目进入 assembly / closeout 待启动阶段。

一句话主线

这个项目的关键,不只是“用 AI 生成了 51 个画面”,而是从一个还没有稳定形状的视频工作台开始,把一套 GPT 前期策划逐步压缩成本地可执行的项目骨架、视觉系统、参考图规则、slide 生产流水线、子会话协作机制和生产轻量化规则,最后完成了《在路上》当前 51-shot 表的全部图片生产。

更准确地说,它完成了两件事:

  1. 《在路上》作为一个 MV / slide-image 项目,从策划文本变成了有视觉系统、有角色锚点、有 51 个画面单元、有完整图片产物的本地生产包。
  2. video-workbench 作为一个工作台,从“需要摸索机制”演化成了“能用 production-light 直接批量生产,并靠 handoff / callback 可靠续跑”的工作流。

可直接放进文章的开场素材

一开始,video-workbench 并不是一个已经完全定型的生产系统。它更像一个本地工作间:有方向,有一些相邻仓库,有 GPT 输出的前期规划,也有 Codex 可以执行的本地文件系统,但真正的问题是,怎样把这些东西变成一个可持续生产的视频项目。

《在路上》就是这个工作台的第一个完整压力测试。

它不是从一张 prompt 开始的,也不是从“批量生成 51 张图”开始的。它从一组已经被接受的 GPT V2 策划材料开始MV 总纲、通用表达与视觉系统设计、人物锚点板说明、风格锚点板结构、51-shot 镜头骨架、核心单镜扩展。Codex 的任务不是再写一遍策划,而是把这些材料转成仓库能持续执行的控制文件。

这一步很关键。因为真正能把项目带到结尾的,不是更长的灵感文本,而是几个能被反复读取、被子会话继承、被任务记录续接的文件:project.mdexecution-plan.mdvisual-system/visual-system.mdslides/slides.md

从那一刻开始,《在路上》不再只是一个构想,而变成了一个本地生产项目。

阶段一:工作台先定边界

在项目早期,video-workbench 最先解决的不是图片,而是边界。

仓库被明确成一个“本地视频 / slide 执行工作台”,不是深度文章写作区,不是长期知识库,不是 CCPE canonical agent 存放地,也不是可复用自动化源码仓库。它和周边仓库的关系被切清楚:

  • knowledge-vault 提供长期知识和来源材料。
  • writing-workbench 负责深度文章生产。
  • ccpe-system 提供正式 agent / runtime / model / interface。
  • skills-vault 提供可复用自动化技能。
  • video-workbench 只负责把已接受的策划和来源材料,落地成视频 / slide 项目的本地执行文件、素材、prompt、图片和 handoff。

这个边界后来非常重要。它避免了一个常见问题:把 GPT 的规划文本、Agent 机制、Prompt 模板、项目产物、工具源码全部塞进一个目录,最后谁也不知道哪个文件才是当前事实。

最终形成的规则是:真实项目都进入 projects/<project-id>/;项目状态写在文件里,不靠移动目录表达;跨阶段交接写在 handoff/;可复用能力缺失时写 supplier request而不是在项目里临时发明一套不可复用工具。

阶段二:从 GPT 策划到本地执行骨架

《在路上》的输入不是空白 prompt而是一批前期策划文件。Codex 先把它们安置在 intake/,再从中抽取本地执行骨架。

这一步形成了四个核心文件:

  • project.md:项目地图,记录状态、阶段、已接受输入、核心方向、当前执行重点和下一步。
  • execution-plan.md:执行控制文件,记录当前 medium branch、小批量策略、已完成轮次、当前默认生产路线。
  • visual-system/visual-system.md:视觉系统权威文件,记录人物、风格、色光、构图、母题和关键镜头规则。
  • slides/slides.md51-shot 的执行事实表,记录每个 sNN 单元的来源、功能、风格锚点、状态和产物。

这里有一个方法论转折GPT 策划不是被复制成新的“真相文件”而是被保留为来源。Codex 维护的是执行控制层。

这套骨架让项目有了长期可读性。后续无论主会话压缩、子会话切换、任务中断、图片失败、prompt 重试,都可以回到这几个文件上继续,而不是依赖某一段聊天记忆。

阶段三:视觉系统先于批量生产

《在路上》的视觉核心后来被凝练成一句话:

世界比人更大,路比人更长,人只是持续前行的坐标。

英文控制句是:

World before face; road before pose; the traveler is a small coordinate that keeps moving.

这个规则决定了整个项目不是 portrait MV也不是旅行宣传片而是 landscape-led road documentary / poetic realism。

视觉系统被拆成几个稳定部件:

  • 人物50 岁男性旅人,疲惫但没有垮掉,旧长外套、旧背包、旧靴子,形象要能持续走下去。
  • 风格 A清晨泥泞旷野世界先于人出现。
  • 风格 B高位观察和城市边缘表现系统压力。
  • 风格 C泥泞里的星空低处看见宇宙是项目的灵魂画面。
  • 风格 D夜路小火远方也有人在走但不是团聚、胜利或露营。

第一批真正重要的生产不是全量镜头,而是锚点验证:

  • 人物锚点板 accepted。
  • 从人物锚点板切出的透明人物切片 accepted。
  • 风格锚点板 accepted。
  • C 风格修复样本 accepted。
  • 五个核心镜头 S-01、S-10、S-46、S-47、S-51 accepted。

这一步证明了项目的视觉方向:画面可以保持现实质感,也可以有诗性,但不能变成广告、英雄海报、赛博城市、魔法宇宙、露营团建或胜利结尾。

阶段四:第一次大问题不是审美,而是引用路径

项目早期曾经出现过一个关键问题: broad generation 的画面能出,但缺少可追溯的 per-shot prompt、真实参考图加载证据和稳定的身份控制。尤其是人物一致性场景不能靠文字描述去维持身份。

这促成了 S14 reference-capable generation investigation。

最后沉淀下来的规则是:

gpt-image-2 Skill Advisor prompt/spec
-> 把真实参考图加载进对话可见上下文
-> 使用宿主 image_gen 生成
-> 把结果复制进项目目录
-> 在 prompt / handoff / slides.md 中记录参考角色和产物路径

这个结论非常重要。它把问题从“AI 能不能参考图片”转成了“项目文件怎样记录参考图片被如何使用”。也就是说,技术可行性不再反复争论,后续重点转向生产追踪和工作流清洁度。

从这里开始,gpt-image-2 在项目中承担的是 prompt/spec Advisor而不是默认 Garden / API 出图路径。身份关键画面必须加载真实参考图;在 prompt 里写本地路径只算 traceability不算真正加载。

阶段五:从单张试验到 slide task orchestration

为了让长生产可控,项目把每个画面、页面、镜头单元统一叫 slide。每个 slide 有自己的目录:

slides/sNN/
  sNN-vN-brief.md
  sNN-vN-prompt.md
  sNN-vN-image.png
  sNN-vN-review.md   # 只在 test/audit 或显式 review 时出现

这里又形成了一个重要原则append-only。

每次新执行都扫描已有 sNN-v*-* 文件,选择下一个未占用版本。旧版本即使失败,也保留为历史证据。默认 Overwrite allowed: no

这个规则不是形式主义。它是从实际失败里长出来的。早期有 broad-run 候选、覆盖缺陷、重复 worker、transport failure、 rejected image、incomplete evidence。只要允许“为了让目录好看而覆盖旧文件”项目历史就会被抹掉后续根本无法判断哪个 prompt 生成了哪个图,哪个失败被修复过,哪个版本是用户真正接受的。

所以最终形成的共识是:失败不是垃圾,失败是生产系统的一部分证据。

阶段六Agent 流程的试错

角色一致性阶段最早使用的是主会话、可见子会话和内部 one-shot slide Agent 的组合。

这个阶段产生了很多有效结果,也暴露了机制问题:

  • S-05 单张试验证明了 reference-capable route 可以跑起来,但也留下了 overwrite defect 的历史记录。
  • S-21、S-14、S-25 等画面视觉上被接受,但 S-14 出现了 duplicate worker 问题。
  • session-04 处理 S-33 和 S-06形成更干净的 visible child session + one-shot SubAgent 模式。
  • R4 处理 S-02、S-03、S-04 时,图片被接受,但 brief / packet ownership 出现偏差:文件由 slide Agent 写,而不是由 visible child session 预先拥有。
  • R5 处理 S-07、S-08、S-09 时,修正了 brief ownership让成功输出在 worker 启动前已有 child-owned brief / packet。

这一段的意义在于:项目并不是一次设计出完美工作流,而是用实际画面生产暴露机制缺陷,再把缺陷转成规则。

早期的 Agent 并不是失败。它们帮助证明了 per-slide isolation、返回 receipt、reference role、review suppression、append-only retry 等机制。但当项目进入正式生产时,这套机制显得太重。

阶段七callback-only 和父子会话关系定型

长任务真正可持续,还需要解决一个上下文问题:主会话不能一直盯着子会话轮询,也不能把所有生产细节都塞回父线程。

R6 阶段把 callback-only 流程验证出来:

  • 子会话完成所有允许的项目写入。
  • 子会话更新 slides/slides.md
  • 子会话写 compact child-session-handoff.md
  • 子会话最后一步 callback 父会话。
  • callback 后子会话不再写文件、不再检查项目。

这改变了主会话的职责。主会话不再是细节审计员,而是调度者和用户接口。它只需要读 callback 和 handoff 中的关键字段:

  • status
  • topology
  • resolved versions
  • image paths
  • problems
  • needs_user。

如果 clean completion没有问题父会话就不再打开 prompt、图片细节、return ledger 重新审一遍。

这一步对后来的批量生产非常关键。它把生产从“人盯着每个 worker 过程”变成“文件状态 + callback 驱动的可续跑流程”。

阶段八:从 test/audit 到 production-light

项目真正提速发生在 R7。

在 R7 之前,很多生产还围绕 Agent / packet / return / review / completion gate 展开。这适合 test/audit但不适合正式批量生产。

R7 的核心优化是 production-light

  • normal production 由 clean child session 直接完成。
  • 不默认启动 Agent / SubAgent。
  • 不默认写 packet / return。
  • 不默认写 review 文件。
  • 不做 routine final audit。
  • 保留必要的写入保护版本扫描、append-only、no overwrite、slides.md 更新、compact handoff、callback final action。

这个优化不是偷懒,而是把已经被证明的流程从“测试形态”压缩成“生产形态”。

session-12 先生成 S-26、S-27、S-28用户接受记录约 25m48s / 134K tokens。

session-13 再生成 S-29、S-30、S-31直接 child session、无 Agent/SubAgent用户接受记录约 10m32s / 114K tokens。

从 session-13 开始direct-child production-light 成为正式默认模型。

阶段九:容量验证

生产路线定型后,项目继续做容量验证,而不是立刻假设可以无限扩张。

先是 5-slide validation

  • 范围S-32、S-34、S-35、S-36、S-37。
  • topologydirect child。
  • reviewnone。
  • 结果:五张图被用户接受。
  • 用户观察callback 时约 152K tokens / 58% context最终约 164K tokens / 63% context。
  • 发现callback-order defect子会话在 callback 后仍做了部分文档 / 检查工作。
  • 修正:未来 child prompt 必须明确 callback 是最终动作。

然后是 8-slide compression validation

  • 范围S-38 到 S-45。
  • topologydirect child。
  • reviewnone。
  • 结果8 张图进入 production-pass。
  • 用户观察174K tokens / 67% context / 38m37s。
  • 机制结果callback-final contract 被验证callback 后没有再观察到 child project writes 或 checks。

这一步把普通 production-light 子会话容量提升到最多 8 个 ordinary slides同时保留降级规则身份重、修复重、核心风险高或上下文昂贵的任务仍然用 1 到 3 个 slide。

阶段十:最后一包 S48-S50 收口

最后的默认生产范围只剩 S-48、S-49、S-50。

这一包已经不再是工作流发明,也不是机制辩论。它按已经定型的 production-light route 直接执行:

  • direct child session
  • no Agent/SubAgent
  • review mode none
  • 写 brief、prompt、image
  • 更新 slides/slides.md
  • child-session-handoff.md
  • callback 父会话作为最终动作。

最终记录:

  • S-48 -> s48-v1-image.png
  • S-49 -> s49-v1-image.png
  • S-50 -> s50-v1-image.png
  • child reported complete
  • problems: none
  • needs_user: none
  • parent verification found expected files present, review files absent, slide rows updated, and no post-callback child writes。

到这里,当前 51-shot 表的 shot-image production 完成。项目状态进入 assembly-closeout。

素材时间线

0. 工作台定位期

  • 明确 video-workbench 是本地视频 / slide 执行工作台。
  • 确立 projects/ 为唯一真实项目根。
  • 确立 project.mdexecution-plan.mdvisual-system/slides/tasks/ 的职责。
  • 确立 GPT / User / Codex 分工。

1. 《在路上》项目初始化

  • 接收 GPT V2 前期策划文件。
  • 清理 intake。
  • 提取四文件执行骨架。
  • 建立 51-shot slides/slides.md 事实表。
  • 确立核心视觉方向landscape-led road documentary / restrained poetic realism。

2. 视觉锚点建立

  • 人物锚点板 accepted。
  • 透明人物切片 accepted。
  • A/B/C/D 风格锚点建立。
  • C 风格修复 accepted。
  • 五个 anchor-test shots acceptedS-01、S-10、S-46、S-47、S-51。

3. 参考图机制证明

  • S14 investigation 证明 host visible-context reference path 可用。
  • 项目规则更新为 gpt-image-2 Advisor + loaded reference image + host image_gen
  • identity-critical shots 不允许 text-only 身份生成。

4. 角色一致性和 per-slide traceability

  • 从 S-05、S-21、S-14、S-25、S-33 等试验开始。
  • 发现并记录 overwrite、duplicate worker、brief ownership、transport failure 等问题。
  • 固化 append-only、no overwrite、one-shot worker、review suppression、visible-reference evidence 等规则。

5. callback-only 定型

  • 子会话完成写入和 handoff 后 callback 父会话。
  • 父会话不再 routine polling。
  • clean callback 后父会话只消费 compact handoff。

6. production-light 定型

  • session-12S-26、S-27、S-28 accepted。
  • session-13S-29、S-30、S-31 direct-child accepted。
  • direct-child, no-Agent, review none 成为正式生产默认路线。

7. 容量验证

  • 5-slide validationS-32、S-34、S-35、S-36、S-37 accepted发现 callback-order defect。
  • 8-slide validationS-38 到 S-45 production-pass验证 callback-final contract。
  • 默认 ordinary package size 提升到最多 8 slides。

8. 完成当前 51-shot 表

  • final packageS-48、S-49、S-50 complete。
  • 当前 51-shot shot-image production complete。
  • 下一阶段转入 assembly / export / closeout。

可以支撑文章的几个观点

观点一AI 生产不是 prompt 工程,而是本地执行系统工程

《在路上》不是靠一条万能 prompt 完成的。它靠的是文件结构、版本策略、参考图规则、子会话边界、callback、handoff 和生产线轻量化。

Prompt 很重要,但 prompt 只有在能被追溯、能被续跑、能和参考图 / 版本 / 输出路径绑定时,才真正成为生产资产。

观点二:失败记录比成功截图更有价值

项目里保留了 rejected image、incomplete evidence、transport failure、duplicate worker、sequencing warning、callback-order defect。它们没有被清掉而是被转化为规则。

这些失败让系统知道:

  • 不能覆盖旧文件;
  • 不能把 text-only 当身份参考;
  • 不能让 worker 抢写 brief
  • 不能 callback 后继续写文件;
  • 不能每次都重开完整 audit。

观点三:正式生产不是更复杂,而是把复杂度收回去

早期 test/audit 需要 Agent、packet、return、review、completion gate。它适合发现问题。

但正式生产阶段,复杂度必须被压缩。production-light 的价值就是在保留必要安全线的前提下,去掉 routine review、routine audit、packet / return 和默认 Agent把生产变成 direct-child package。

这不是降低标准,而是把“已经证明过的标准”变成更低成本的执行方式。

观点四:长任务续跑靠文件,不靠记忆

project.mdproduction-run-status.md,从 slides/slides.mdchild-session-handoff.md,整个项目不断把聊天过程固化为可读文件。

这使得主会话压缩、子会话切换、上下文中断都不再是灾难。下一轮只要按 load order 读文件,就能继续。

观点五:人的角色不是每张图都 review而是决定何时相信生产线

production-light 阶段,用户不再逐张 image review。用户做的是更高层的判断

  • 核心路线是否成立;
  • 哪些包可以进入 production-pass
  • 默认生产容量能不能从 3 张提升到 5 张、再到 8 张;
  • 什么时候停止生产,转入 assembly / closeout。

这改变了人机协作的焦点:人不是流水线质检员,而是生产路线的 owner。

可引用句子

  • 《在路上》的完成,不是“生成 51 张图”的故事,而是“把一个不稳定的 AI 生产现场,逐步压成可续跑生产线”的故事。
  • GPT 给了方向Codex 把方向变成文件系统里的执行秩序。
  • 真正让项目继续下去的,不是某一次聊天记忆,而是 project.mdexecution-plan.mdslides.md 和 handoff。
  • 失败没有被抹掉。失败被留在版本里,变成下一条规则。
  • 从 test/audit 到 production-light核心变化不是更大胆而是更克制。
  • 生产线成熟的标志,不是记录越来越多,而是知道哪些记录可以不写。
  • 当 callback 成为子会话的最后动作,长任务才真正从“盯进度”变成了“等状态”。
  • 人不必 review 每张图,但必须决定什么时候一条路线已经值得信任。
  • 这个项目的经验是AI 创作要规模化,必须先把创作过程变成可追溯的本地工程。

文章可展开的结构建议

写法 A项目复盘型

  1. 开头:为什么不是 prompt 成功,而是工作流成功。
  2. 第一部分:video-workbench 为什么要先定边界。
  3. 第二部分:《在路上》如何从 GPT 策划变成四文件执行骨架。
  4. 第三部分:视觉系统如何用 A/B/C/D 和人物锚点稳定下来。
  5. 第四部分reference-capable generation 为什么是关键转折。
  6. 第五部分:从 Agent-heavy 到 production-light 的演化。
  7. 第六部分:容量验证和全量完成。
  8. 结尾AI 视频生产的真正对象,是“可续跑生产线”。

写法 B方法论型

  1. 输入不是 prompt是 accepted intake。
  2. 输出不是图片,是 append-only project state。
  3. 审美不是感觉,是 visual-system rule。
  4. 失败不是删掉,是版本化。
  5. 协作不是等人盯,是 callback。
  6. 批量不是并行,而是轻量生产线。

写法 C人机协作型

  1. GPT 负责想象和策划。
  2. 用户负责决定与接受。
  3. Codex 负责本地化、执行、记录和续跑。
  4. 子会话负责小批量生产。
  5. 文件系统负责记忆。
  6. 最后形成的不是一个 prompt而是一套可被复用的生产经验。

关键证据路径

项目状态与结论:

  • projects/2026-06-23-在路上/project.md
  • projects/2026-06-23-在路上/execution-plan.md
  • projects/2026-06-23-在路上/slides/slides.md
  • handoff/2026-06-25-on-the-road-formal-production-handoff.md

视觉系统:

  • projects/2026-06-23-在路上/visual-system/visual-system.md
  • projects/2026-06-23-在路上/visual-system/style/style-prompt-master.md
  • projects/2026-06-23-在路上/visual-system/characters/character-reference-registry.md

工作流规则:

  • VIDEO_WORKBENCH.md
  • docs/workflows/project-lifecycle.md
  • docs/workflows/slide-task-orchestration.md
  • docs/workflows/slide-task-templates.md

关键 handoff

  • handoff/2026-06-24-on-the-road-workflow-continuation-handoff.md
  • handoff/2026-06-24-character-consistency-r6-notification-s16-handoff.md
  • handoff/2026-06-25-on-the-road-formal-production-handoff.md

后期生产任务:

  • projects/2026-06-23-在路上/tasks/2026-06-25-production-capacity-validation/production-run-status.md
  • projects/2026-06-23-在路上/tasks/2026-06-25-8slide-compression-validation/production-run-status.md
  • projects/2026-06-23-在路上/tasks/2026-06-25-final-production-s48-s50/production-run-status.md

待补充素材

这些内容如果未来写正式文章,建议再补:

  • 选几张关键图片作为插图人物锚点板、C 修复样本、S-16 rejected / accepted 对照、8-slide validation 中的一组连续画面。
  • 补一段用户视角:为什么《在路上》的主题需要“世界先于人”。
  • 补一段操作截图或目录截图:展示 slides/sNN/sNN-vN-* 的 append-only 结构。
  • 如果文章面向工程读者,可加入 callback-only 子会话流程图。
  • 如果文章面向创作者,可弱化 Agent / token 细节,强化“从灵感到生产线”的叙事。