第一篇用一支九十秒 AI MV 追问长任务怎样活过进程;第二篇改用《城市如何在夜间醒来》动画解释视频,
因为 OpenMontage 的 animated-explainer manifest 能完整展示 research、proposal、script、scene plan、assets、compose 与 publish。
两个案例不是同一条业务 pipeline,却会遇到相同的等待、失败、返工、外部调用与人工验收压力。这里至少有两个不同的问题。
第一个问题是业务生命:浏览器断开、worker 重启或某个外部服务超时后,这次任务是否仍然有同一个身份, 系统能否证明已经发生了什么。第二个问题是生产纪律:agent 怎样知道现在处于哪一阶段、哪些决定已经锁定、 哪些关口必须等人、当前环境到底有哪些工具、渲染成功后还要检查什么。
阅读契约。 读完两篇后,应该能分清四个 owner:谁保存长任务身份,谁驱动创作决策,谁执行外部工具, 谁批准产品交付;也应该能解释,为什么一个 checkpoint 文件很有价值,却仍然不等于 durable execution。
一、系列不是按项目名分,而是按生产责任分
Temporal 和 OpenMontage 并不是同一类产品,OpenMontage 也没有在内部使用 Temporal。把它们放在一起,恰恰是为了画清边界: 一个系统解决执行身份怎样跨进程存活,另一个仓库展示 coding agent 怎样依靠指令契约、清单、checkpoint 与工具注册表经营视频生产。
用户请求:制作一支 AI 视频
业务生命
任务是谁?
已经确认发生了什么?
进程消失后谁能继续?
-> Chapter 01 · Temporal
生产控制
现在在哪个阶段?
哪些创作决定已批准?
可以调用哪些 provider 与 renderer?
成片怎样才算真的可交付?
-> Chapter 02 · OpenMontage
二、阅读路线
三、两篇之间真正的接缝
| 责任 | Temporal 这一篇 | OpenMontage 这一篇 |
|---|---|---|
| 持久身份 | Workflow Execution 与稳定的 Workflow ID。 | 项目目录与 project.json 标记。 |
| 历史事实 | 服务端追加式 Event History,可用于 replay。 | 阶段 checkpoint、decision_log.json 与 history/ 文件。 |
| 下一步 | Workflow 根据历史确定性地决定。 | agent 按 manifest 与 stage director 指令继续工作。 |
| 外部动作 | Activity 通过 Worker 执行。 | ToolRegistry 发现并按 capability 路由工具。 |
| 人工边界 | Signal / Update 与业务代码共同实现。 | manifest 声明 gate,checkpoint 工具拒绝越过未批准阶段。 |
| 恢复承诺 | 进程消失后,新的 Worker 可从历史重建控制流。 | 新的 agent 会话可以读取文件,从最近 checkpoint 恢复项目工作。 |
最后一行是整个系列最重要的差别。OpenMontage 的文件协议把昂贵的创作劳动变成可检查、可接续的项目状态; Temporal 则把控制流本身变成跨进程可恢复的执行身份。一个生产系统可能同时需要二者,但不能因为都出现了 “checkpoint”或“resume”就把它们说成同一层能力。