主题
剧本解析到分镜、关键帧和视频之间的 Memory 如何共享并保持跨集一致?
题型:深入 · 讲清事实层、派生层、工作层和发布边界。
建议回答
我会把 Memory 分成三层:全剧事实层保存人物、场景、道具、时间线等规范化实体,是跨集共享的事实来源;Episode 派生层保存本集摘要、角色状态和对全局设定的引用;Shot 工作层保存当前镜头的分镜、视觉约束、关键帧与生成尝试。各层使用稳定 entityId、revision、来源位置和生成版本关联,避免靠名称或数组顺序匹配。
全剧事实不是任意节点都能直接覆盖。节点先产出变更提案,经 Schema、冲突和质量校验后发布新 revision;并行 Episode 固定读取已发布快照,直到任务结束。新 revision 发布后通过依赖图标记受影响结果 invalidated,再按策略重跑,因此能够保证单次运行读取一致,但跨版本传播通常是受控的最终收敛,不能声称瞬间强一致。
模型输入只放当前阶段需要的 Memory 视图,并保留 provenance,便于发现某个描述来自原剧本、全剧推理还是前一阶段模型。即使 Context 正确,模型仍可能忽略约束,所以输出还要经过实体引用、设定冲突和视觉一致性校验。
关键权衡
- 规范化事实便于一致性和复用,但过度拆分会让 Context 组装复杂。
- 不可变快照提高可复现性,却需要版本失效和存储治理。
- 自动发布速度快,但高影响的全局设定变更可能需要人工确认。
易错点
- 不要把模型生成的每条描述立即写成全局事实,错误会污染所有后续 Episode。
- 不要把“读取同一快照”表述为“模型一定遵守快照内容”。