微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 AI视频生成的“记忆失灵症”:为什么AI讲不好一个连贯的故事

AI视频生成的“记忆失灵症”:为什么AI讲不好一个连贯的故事

2026-10-09 17:24
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-09 17:24 • 科技行者

你有没有试过用AI生成一段多镜头的短片?

比如让它拍一个学生找回笔记本的小故事:她把书包放进储物柜,跑去教室拿忘带的笔记本,再回到储物柜。这本该是件挺简单的事,可你会发现一个诡异的现象:明明书包上一个镜头还锁在柜子里,下一个镜头它突然又背在学生身上了。或者更离谱的是,储物柜的颜色、教室的布局,每换一个镜头就变一次样,好像每次拍摄都换了个完全不认识剧本的新演员。

这不是哪家公司的技术不行,而是整个行业都在踩的一个坑。

**当AI只会“看图说话”,故事就会失忆**

现在的视频生成模型已经很强了。像Wan、Veo、Seedance这些模型,单独拿出一个几秒钟的镜头来看,画面精美,动作流畅,几乎挑不出毛病。问题出在“连戏”上。

一个长故事需要很多镜头首尾相连,前后呼应。这就要求系统记得住:上一场戏里谁把什么东西放在了哪里,这件事在接下来的场景里必须保持原样,除非有新的情节让它发生变化。

现在主流的做法是什么呢?

大多数“智能体”系统(比如论文里提到的MovieAgent、ViMax)会把整个故事拆解成一条条文字脚本,告诉AI“这个镜头要发生什么”。然后为了保持画面连续,它们会拿前一个镜头生成出来的画面(或者视频最后一帧)作为参考,去生成下一个镜头。

问题就藏在这里。

文字脚本只会写“接下来会发生什么”,却不会明确记录“上一步的动作对世界产生了什么后果”。比如脚本写着“她把书包存进储物柜”,但这句话执行完之后呢?没人告诉系统“书包现在的位置是储物柜,接下来十个镜头里除非有人去拿,它都应该老老实实待在那儿”。

**这就好比你请了一个记性很差的临时演员来演一部连续剧。**

如果不给他一份详细的“人物小传”和“道具清单”,只是每次开拍前给他念一遍下一场的台词,他很快就会演砸。第一集他把钥匙放进了抽屉,第三集他压根不记得这事,手里凭空又多出一把钥匙。如果剧组图省事,干脆让他看着上一集的录像自己模仿动作,那更麻烦:万一上一集录像里有个穿帮镜头(比如道具摆错了位置),他会把这个错误当成"剧情事实",在下一集里继续将错就错地演下去。

这就是论文里说的核心矛盾:

**生成的像素被反复当作叙事的依据来使用,导致一次局部的画面失误,会被误认为是新的故事事实,进而污染后续所有镜头。**

*智能体系统*:指的是把一个复杂任务拆解成多个专门环节(比如编剧、分镜、渲染、审核),由不同的AI模块分工协作完成的自动化系统。放在视频生成里,就是模拟一个电影剧组的工作流程。

丢失的一个信息、放错的一件道具、变了样的一张脸,原本只是这一个镜头没拍好,结果却被系统当成了"剧情本该如此",一路错到底。

**给AI装一个“不会撒谎的剧本大脑”**

论文提出的解决方案叫StoryEngine,核心思路说起来其实不复杂:把"故事应该是什么样"和"AI实际拍出来是什么样"这两件事,彻底分开管理。

*StoryEngine*:一套面向多镜头视频生成的智能体框架,核心特点是用一份独立维护的"世界状态"记录去指挥视频生成,而不是依赖AI自己从画面里猜剧情进展。

前者叫“权威语义计划”,是唯一说了算的剧本,规定了世界应该长什么样,谁在哪里,发生了什么。后者叫“视觉观察”,是AI每次实际画出来的东西,只能被参考、被验证,但永远不能反过来篡改剧本。

这就像公司里财务和业务是两条独立的账本。业务部门(视频生成模型)每天忙着干活、产出结果,但账目最终以谁为准?以财务系统(语义计划)里记录的流水为准,而不是业务口头汇报的"我觉得应该是这样"。如果反过来让业务自己说了算,账目迟早会乱套,因为业务部门今天忘了报一笔账,明天这笔钱可能就凭空消失了。

如果不设这道防火墙会怎样?

论文里的实验数据很直观:那些依赖生成画面做参照的方法,比如ViMax,在跨镜头连贯性指标(论文称为APR,即锚点持续率,用来衡量一个关键物体在剪辑点两侧是否都能看到)上只有0.55左右,而StoryEngine能做到0.94。差了近40个百分点,相当于每两次剪辑就有一次,画面里该出现的东西凭空消失了。

*APR(锚点持续率)*:衡量剪辑点两侧的关键实体(比如书包、储物柜)是否都清晰可见的指标,用来检验镜头衔接处有没有出现"东西突然不见了"或者"突然冒出来"的穿帮。

整个StoryEngine系统被拆成三个环环相扣的阶段:故事状态传播、有依据的渲染规划、以及具备连续性感知的生成。接下来我们一步步拆开看。

**第一步:给故事世界建一本“账本”**

传统方法用一段段自然语言描述剧情,比如“学生进入储物间”“学生把书包存进柜子”。这种描述天然存在一个漏洞:它告诉你发生了什么动作,却没有明确记录动作完成后世界变成了什么样。

StoryEngine的做法是给每一个反复出现的实体(人物、道具、场景)维护一份结构化的档案,记录它的位置和状态。

*世界状态(World State)*:一张映射表,记录每个重要实体此刻的位置关系(比如"被谁拿着""放在哪个容器里""在哪个场景区域")以及关键属性(比如"是否打开""是否损坏")。

比如书包的状态可能是"被学生手持",事件发生后变成"存放在储物柜里"。这个转换由一个叫"状态归约器"的确定性程序来执行,而不是靠AI自己去猜。每次事件发生,系统会像执行一条数据库更新语句一样,精确地改写这张表,并且验证这次更新有没有逻辑错误,比如东西不能同时出现在两个地方。

关键的一点在于:下一个镜头开场时,书包应该在哪儿,是由这张状态表算出来的,不是从上一个镜头生成的画面里"看图猜"出来的。

**这就好比记账,不是靠回忆昨天花了多少钱,而是每一笔支出当场记录进账本,月底对账的时候直接翻账本,而不是靠脑补昨天买了什么。**

如果没有这张账本,系统只能依赖每个镜头生成出来的画面去反推"现在书包在哪",而生成模型本身就有出错的概率,一旦某一帧画面把书包的位置画错了,这个错误的位置就会被当成"新的事实"传递给下一个镜头,越滚越错。

**第二步:给AI造一套“不会走样的参考照”**

光有一本状态账本还不够。账本上写着"书包在储物柜里",但储物柜长什么样?书包本身长什么样?这些细节还得靠画面来呈现。

如果每次生成新镜头时都让AI重新想象"储物柜"和"书包"该长什么样,结果必然是每次都不一样,这也是很多系统里场景和人物"越拍越走样"的根源。

StoryEngine的做法是给每个反复出现的人物、道具、场景先造一套"标准照",业内叫"canonical reference"(规范参考)。

*规范参考(Canonical Reference)*:为每个反复出现的角色、道具、场景预先生成的标准视觉档案。角色会有正面、侧面、背面的全身像;场景会有一张全景图;如果某个道具会随剧情改变外观(比如打开的箱子和关闭的箱子),还会为每种状态单独准备一张参考图。

之后每次生成某个镜头,需要用到书包,就直接调用这张标准照,而不是让AI凭空想象。场景也是同理,系统会为每个反复出现的地点建一张全景图,之后不同镜头里从不同角度看这个场景,都是从这同一张全景图里"截取"出来的视角,而不是每次都重新生成一个新地方。

这就好比拍电影前先给每个主要演员定妆,拍一套标准的定妆照存档,之后不管拍多少场戏,服装组、化妆组都对照这套定妆照来还原造型,而不是每场戏都凭印象重新设计一遍造型。

如果省掉这一步,会发生什么?论文的消融实验(也就是把某个模块拿掉看效果下降多少)给出了答案:去掉这套"有依据的渲染规划"之后,场景一致性指标GPC从0.897掉到0.790,光照一致性指标LCS更是从0.569暴跌到0.428,几乎腰斩。这说明,光靠文字描述让AI"记住"一个场景长什么样,远远不够,必须有实打实的参考图像撑着。

*GPC(几何场景一致性)*:检验同一地点在不同镜头里,背景的几何结构是否吻合,用两幅图之间能否找到匹配的特征点来判断是不是同一个物理空间。

有了状态账本和标准照,系统还要把两者结合,编译成一份"可执行的渲染合同",里面精确写明这个镜头开场应该是什么样、中间要发生什么动作、结束时又该是什么样,分别对应"起始条件""动作过程""结束条件"三类可检验的标准。这份合同直接交给生成模型执行,而不是让模型自己去理解一段模糊的文字描述。

**第三步:给AI装一个“谨慎的守门员”**

即便账本和参考照都齐全了,视频生成模型偶尔还是会拍砸,这是AI技术目前的现实。这时候怎么办?

StoryEngine设计了一个"连续性感知生成"机制,核心是一个叫"连续性门控"的判断环节。

*连续性门控(Continuity Gate)*:在生成新镜头之前,系统会检查上一个镜头结尾的画面,跟接下来这个镜头要求的开场状态是否匹配,然后决定是直接沿用这一帧、只挑其中部分可用的元素、还是干脆抛弃它重新生成。

具体来说,系统会给出三种处理方式。如果上一镜头的结尾画面跟下一镜头的要求高度吻合,就直接拿来当开场画面用,这样镜头之间的衔接会显得特别自然流畅。如果只是部分吻合(比如人物穿对了,但场景背景不对),系统会只保留可信的部分,把有问题的部分明确排除掉,重新合成一张开场图。如果完全对不上,或者上一帧根本没法用,那就干脆抛开这帧画面,只依靠标准参考照重新生成。

这套机制背后有一个明确的原则:视觉证据只能被“采信”,永远不能被“采纳为事实”。

换句话说,就算上一帧画面显示书包放错了地方,系统也不会因此改写账本里"书包在储物柜"这条记录,它只会判定这一帧不合格,然后想办法绕开这个错误,而不是将错就错继续往下拍。

生成出来的每个候选镜头,还要经过一轮评估。论文用了一个视觉语言模型(VLM)来打分,判断这个镜头是不是达标。

*视觉语言模型评估器(VLM Evaluator)*:一个能同时理解图像和文字的AI模型,被用来充当"质检员",对照渲染合同里写明的标准,逐条检查生成出来的镜头有没有达标,给出通过、失败或者不确定的判断。

如果没通过,系统会针对性地告诉生成模型哪里没做到,而不是把整个镜头推倒重来,最多重试三次(论文里设定的修复预算是T=3)。如果三次都没修好,系统会挑一个"病情最轻"的版本先凑合用,并记录下这个遗留问题。

这有点像餐厅后厨的质检流程。厨师做完一道菜,传菜员先看一眼摆盘对不对、分量够不够,不合格的话直接退回去让厨师改,而不是把这道有问题的菜端上桌之后,让下一道菜也照着这个错误的样子继续做。如果没有这道质检关卡,第一道菜的失误就会一路传导下去,最后整桌菜全乱套。

**一场60个故事的“大考”**

光有方法不够,还得有靠谱的考卷。研究团队专门搭建了一个包含60个多镜头故事的评测基准,而且做得相当讲究。

这60个故事被分成三组,每组20个,各自盯着一个薄弱环节考试。第一组叫N20,专门检验"该发生的事情有没有真的发生在画面里";第二组叫T20,专门检验"镜头与镜头之间衔接得顺不顺";第三组叫C20,专门检验"人物和场景看起来还是不是原来那个样子"。

每个故事都配了一份"标准答案",而且这份答案是提前写好、锁死内容哈希值的,完全不受任何一个被测试系统生成结果的影响,杜绝了"先看结果再编答案"的可能性。

论文还专门设计了防止AI"随便乱猜"的机制。比如N20组,除了10个必须发生的关键事件,还额外掺入了6个来自别的故事的"干扰事件",如果AI判断某个视频"发生了"这些根本不存在的事,说明它在乱给分,系统会相应扣分。这就像考试出选择题时故意放几个似是而非的错误选项,专门用来筛掉那些蒙对答案的考生。

八项评测指标里,有几个特别值得一提。除了前面说过的APR和GPC,还有ECS(事件完成度)用来检验剧情里该发生的事有没有真发生,SPS(状态推进度)专门盯着那些"一去不复返"的情节转折有没有被悄悄逆转,LAR(地点符合度)检查每个镜头有没有拍在该拍的地方,MIR(最低身份保持度)盯着人脸会不会一路拍下来变了个人,LCS(光照一致性)检查同一场景的灯光有没有莫名其妙忽明忽暗。

**这些指标合在一起,其实是在逼问一个问题:AI拍的这部"电影",经得起从头到尾反复对照检查吗?**

*ECS(事件完成度)*:检查剧本里要求发生的事件,是否真的在生成的视频画面里发生了变化,而不是仅仅停留在"人物站在物体旁边"这种静态摆拍。

*SPS(状态推进度)*:追踪一个不可逆的剧情转折(比如某样东西被永久搬走)有没有正确地从"之前"推进到"之后",且没有中途莫名其妙又倒退回去。

结果显示,在Veo 3.1这个视频生成底座上,StoryEngine的综合平均分达到0.769,比表现最好的对照组ViMax(0.627)高出14个百分点还多。换成开源的Wan2.2模型再测一遍,排名完全没变,StoryEngine依然是0.737分,领先第二名超过13个百分点。这说明这套方法不是靠某个特定视频模型"讨巧"取得的成绩,换个底座照样管用。

更有意思的是一个细节:把视频生成底座从效果更好的Veo 3.1换成相对较弱的开源模型Wan2.2之后,所有方法的事件完成度都下降了,其中ViMax跌得最惨,从0.907掉到0.775。但StoryEngine领先第二名的差距反而从1.58个百分点拉大到3.83个百分点。

这说明什么?说明底层生成模型越弱,StoryEngine这套"账本+参考照+质检"的组合拳就越管用,因为它能把生成模型偶尔出的错及时纠正回来,而不是任由错误累积。这就好比一个新手司机上路,如果车上配了靠谱的导航和倒车雷达,出错的概率和后果都会小很多,而对于一个老司机来说,这些辅助设备锦上添花但没那么致命。

**拆掉零件看看谁最重要**

研究团队还做了一组"拆零件"实验,分别去掉状态传播、渲染规划、连续性生成这三大模块,看看整体表现掉多少。

去掉渲染规划(也就是不用标准参考照和空间定位)造成的下滑最大,综合平均分从0.769跌到0.712,场景一致性和光照一致性受伤最重。去掉连续性生成(不做镜头间的画面复用和修复)次之,跌到0.725,事件完成度和身份保持度掉得最明显。去掉状态传播(不维护那本世界状态账本)反而是三者里影响最小的一个,跌到0.755,但状态推进度SPS这一项掉得最厉害。

这个结果挺耐人寻味。你可能以为"记住剧情状态"是重中之重,但实测下来,如果画面本身没有靠谱的参考照撑着,光记得住剧情逻辑,观众照样会觉得"这人怎么一集一个样"。反过来,如果有靠谱的视觉参考,但状态逻辑记不住,故事至少还能看,只是有些细节前后矛盾。这提醒我们,视觉一致性和逻辑一致性其实是两条不同的赛道,缺了哪一条都不行,但视觉层面的问题更容易被观众第一眼察觉。

研究者还换了个不同的规划大脑测试(把GPT-5.5换成Gemini-3.5-Flash),发现StoryEngine整体表现依然稳定在0.736分,依旧超过所有用Veo 3.1的对照组方法。这说明这套框架本身的设计是稳健的,不依赖某一个特定的语言模型才能生效。

Q&A

Q1:StoryEngine是什么?

A:StoryEngine是一套多镜头视频生成的智能体框架,核心做法是把"故事应该是什么样"和"AI实际拍出来的画面"分开管理,用一份独立的状态记录去指挥生成过程,避免画面错误被误认成新的剧情事实。

Q2:StoryEngine解决了视频生成里的什么核心问题?

A:解决了长故事生成时经常出现的道具位置错乱、人物场景变样、剧情前后不连贯的问题,根源在于以前的系统靠生成出的画面反推剧情进展,一旦某帧画面出错就会一路错到底。

Q3:StoryEngine和ViMax、MovieAgent这些方法相比表现如何?

A:在包含60个故事的评测基准上,StoryEngine在Veo 3.1底座下综合得分0.769,比表现最好的ViMax(0.627)高出超过14个百分点,换成开源模型Wan2.2测试排名依然不变。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-