做 mstudio 时,我问过一句很具体的话:“为什么会看到 02 的镜头?我改的是 01 镜头。”
后来查记录,Agent 没有真的修改镜头 02,但它把其他镜头的历史待办混进了这次回复,还把原本局部的任务扩展成了全片核对。
另一个问题更直接:我在修改某次生成任务的描述,它顺带覆盖了镜头里保存的提示词草稿。
这两个问题不完全一样。一个扩大了检查和汇报范围,一个改到了额外的内容。但它们都会让我产生同一个疑问:我这次让它改的东西,到底还有哪些地方被一起处理了?
“这个镜头”下面,其实有好几种东西
mstudio 是我正在做的桌面视频工作室,Agent 可以操作脚本、镜头和时间线。在这样的项目里,一个镜头下面会有好几种相关内容。
有镜头本身的设计,有准备反复使用的提示词草稿,也有某次生成任务的描述。任务提交后,还会留下实际生成的视频。这些东西有关联,但不是同一个东西。
我可能只想试一次不同的描述,保留原来的草稿;也可能想修改草稿,暂时不花钱重新生成。已经生成的视频,更不能因为我改了文字,就被当成不存在。
如果产品只笼统理解为“用户要改这个镜头”,就很容易把这些动作绑在一起。用户说“改一下”,省略的是操作步骤,不代表省略了修改范围。
这次问题让我开始认真区分:用户究竟指向哪个对象,以及现在要求做什么。
修改某次生成任务,就更新那次任务的描述。修改镜头草稿,就保存到镜头。重新生成,则是另外一个动作,不能因为文字改了就自动发生。
这听起来只是几个字段分开存,但对使用者来说,决定了能不能放心尝试。
每次都要检查全项目,就多了一份查错工作
假设一个片段已经基本满意,只剩一句描述想调整。如果每次修改后,都要回头检查草稿、其他镜头和已有结果,用户就多了一份查错工作。哪怕 AI 很快做完了,他也不能马上继续。
上下文多了以后,这件事更容易变得混乱。Agent 读到了前面讨论过的问题,可能觉得应该顺手处理。统筹把任务交给专业角色时,也可能把“修改 01 的空间关系”扩写成“按全片顺序重新核对”。
每一步单独看,都有一点道理。合在一起,本轮任务就变了。
所以我后来收紧委派范围:专业角色可以把这次任务拆得更细,但不能替用户增加任务。读取其他镜头,可以用来理解前后关系;那些镜头不会因此自动进入本次修改名单。
对话里还会混着不同来源的内容:用户明确提出的要求、助手暂拟的方案、其他 Agent 的建议。它们不能被一律当成必须执行的待办。否则,一次讨论过的想法就可能在后面的局部修改里重新出现,用户还得解释为什么这次不要做。
需要连带调整,就把关联说具体
局部修改有时确实会影响其他部分。比如把片段拉长,后面的字幕可能需要跟着移动。产品不能假装这些关联不存在。但它应该把关联说具体:要调整的是哪几条字幕,为什么需要移动。用户才知道这次操作会产生什么变化。
在界面里拖动一个片段时,人通常能看见自己正在动什么。通过对话修改,操作过程藏到了后面,产品就更需要把目标和结果交代清楚。
我希望收到的回复也能落到这里:改了哪次任务、改了什么、是否提交了新生成,以及哪里还没有完成。历史上讨论过、这次没有处理的事,不要混进完成说明。任务没有成功保存,也要直接说没有保存,不能把建议写成已经发生的修改。
目前,任务描述、镜头草稿和重新生成已经分开处理。更难的问题还在后面:对话变长,任务经过多个 Agent,旧的要求和新的修改放在一起时,它能不能继续守住这个范围。
我会继续用局部修改来检查它。只要求改一个镜头时,最后能不能让我只检查这一个镜头。

