什么是 AI 视频里的角色漂移(Character Drift)?
精确定义 AI 视频中的角色漂移:会漂移哪些特征、为什么会发生、怎么测试一个工具是否真正解决了它。
角色漂移(character drift)指的是:AI 生成的角色外观从一个镜头到下一个镜头悄悄变化,到第六、第七个镜头时,看到的已经是另一个人了。
这是叙事类 AI 视频—短片、短剧、品牌故事—在大多数工具上还跑不通的最主要原因。
本文会精确定义角色漂移、解释它发生的原因、梳理具体诱因,并讨论 2026 年真正能解决它的技术。
一个精确的定义
角色漂移指的是:在多个 AI 生成的视频镜头之间,角色身份定义性特征(identity-defining features)发生的非用户意图的渐进式变化—用户本意是希望这些特征保持稳定。
漂移是非用户意图的—用户想要一致性。它是渐进的—每镜变一点点。它影响的是身份定义性特征—让一个人之所以是这个人的那些东西。
漂移不同于:
- 风格变更(有意为之,比如从写实切到水彩)
- 状态变更(有意为之,比如同一角色现在在生气、受伤、变老)
- 姿势 / 角度变化(有意为之,比如正面切侧脸)
漂移指的是:你想要同一个人,结果给你了另一个人。
哪些特征会漂移?
在我们整理的上千份公开工具生成结果里,漂移通常发生在以下特征上:
- 眼睛颜色—最常见的漂移。棕色变成榛色,再变绿色,几个镜头就走完了。
- 眼形—单眼皮变双眼皮,从狭长变宽圆。
- 下颌线—从锐利变柔和,从方形变圆。
- 发际线—后退或前进,分缝改变。
- 肤色—偏暖或偏冷 5-10%。
- 面部比例—眼距、鼻嘴比例、下巴长度。
- 发色—从纯黑到棕,再到深棕。
- 身体比例—身高、体型、姿态。
- 识别性特征—痣、疤、配饰出现或消失。
- 风格归属—从写实变成略风格化。
其中一些是显眼的。另一些(眼距、鼻嘴比例)是潜意识里被注意到的—观众会觉得"哪里不对",但说不出哪里变了。
为什么会发生漂移?
三条结构性原因。
1. 生成式视频模型是无状态的
生成镜头 1 时,模型把提示词转成隐空间表示(latent representation),跑扩散过程,输出帧序列。内部状态不会持久化。当你用同样的提示词生成镜头 2,模型再次从零开始。
新一次生成是相似的但不完全相同,因为扩散采样本身是随机的。每次生成都是在模型隐空间里做一次不同的随机游走,即使提示词相似。
2. 提示词描述的是类别,不是身份
像"30 岁亚裔女性,齐肩黑发"这种提示词描述的是一个包含数百万有效个体的类别。每次模型挑一个出来。如果没有更具体的锚点,你没办法锁到某个特定的人。
有些工具支持参考图。它们对前 2-3 个镜头有用,但模型会逐渐把提示词的权重调到比参考图更高,漂移就回来了。
3. 漂移会跨镜头累积
即便每镜的差异很小,也会累积。如果每个镜头相对原始参考漂移 3%,到第 10 镜就偏了 30%。到第 20 镜,角色已经认不出来了。
漂移的数学是指数级的,不是线性的。
为什么当前工具没有原生解决这个问题?
多数 AI 视频工具(Runway Gen-3、Pika 2.0、Sora、Kling、Veo 3、Seedance 2.0)都为单镜头画质做了优化,研发投入主要用在让每一次单独生成尽可能好。多镜头一致性是另一个问题,需要另一套架构,而基础模型本身一直没有把它当作首要目标。
在我们的测试里,原生表现最接近的工具(Sora、Seedance)也大约在第 3-4 个镜头就开始可见漂移。
什么技术真正能解决漂移?
5 种方案,按效果排序:
1. 相同提示词 + 相同 seed(基本不行)
理论:输入相同应当输出相同。
现实:现代视频模型有 noise scheduling、attention dropout 等随机环节,并不完全遵守 seed。即便所有输入相同,帧级差异仍会出现。
结论:略微减轻漂移,无法消除。
2. 每个镜头都带参考图(约 3 个镜头有效)
理论:每个 prompt 都带参考图来锚定角色。
现实:1-3 镜头还行,4-6 开始漂,到 8-10 镜头就崩。
结论:对短内容有用,叙事内容失败。
3. 为每个角色训 LoRA(有效但不放量)
理论:用角色的照片训一个小定制模型,所有镜头都用它。
现实:图像生成里效果很好。视频里需要 20+ 张照片、每个角色训练 30 分钟到 2 小时、对动作泛化能力差、且无法良好组合多角色。
结论:能拿到生产级一致性,但工作流跑不上量。
4. IP-Adapter / Reference-only 条件控制(中等帮助)
理论:把参考图特征注入到模型 attention 层,绕过提示词。
现实:5-10 个镜头的中等一致性还行;20+ 镜头会崩,姿态变化大时退化明显。
结论:对中等长度内容稳,长篇叙事不够。
5. Character-as-asset(角色资产化)架构(当前 SOTA)
理论:把角色当作一级公民的持久化资产,存为 embedding 而不是提示词细节。把 embedding 直接注入到模型 conditioning。再配合基于"漂移模式目录"自动生成的 negative prompt。
现实:这正是 Juying 等工具围绕的核心架构。在我们的测试里,这种方案能在 30+ 镜头上保持高一致性。
结论:达到了叙事内容的生产可用一致性。
怎么测试一个工具的漂移情况
三个快测:
测试 1—30 镜头测试:让同一个角色出现在 30 个不同场景里(光照、角度、情绪不同)。排成网格对比脸—应该明显是同一个人。
测试 2—端到端测试:直接对比镜头 1 和镜头 30。应该完全无法区分是不是同一个人。
测试 3—复用测试:今天生成一个角色,明天换个剧本再来。能不能直接复用同一个角色而不需要重新建立?
三项都能过的工具,已经把漂移问题解决到生产级。任何一项过不了的,都还没有。
常见问题
角色漂移和"恐怖谷(uncanny valley)"是一回事吗?
不是。恐怖谷指的是单次渲染中的细微"不对劲感"。漂移指的是多次渲染之间的身份变化。
漂移会发生在非人类角色上吗?
会。动画角色、风格化角色、动物甚至物品都会漂移。任何具有"身份定义性特征"的东西都会漂移。
能不能在后期修复漂移?
可以部分修复。可以对单个镜头做换脸或合成,但人工成本高、放量做出来会显假。在生成时直接解决漂移,比事后修复好得多。
视频越长漂移会越严重吗?
会。漂移累积,5 分钟视频比 30 秒视频漂移更严重(其他条件相同)。这也是长片 AI 视频难做的原因之一。
漂移在原理上是无解的吗?
不是。Character-as-asset 架构是有效的。挑战在于工程要做扎实—对的 embedding 抽取、对的漂移模式目录、对的一致性校验闭环。在这一层认真投入的工具能把漂移解决到生产级。
结论
角色漂移不是模型问题—而是架构问题。更大的视频模型解决不了它,只会产出更高画质的漂移。解法在模型之上的那层:身份如何被存储、检索、注入到生成里。
如果你正在挑选 AI 视频工具,且工作里同一个角色会出现在多个镜头里,要问的核心问题是:
"你的工具是怎么在生成之间存储和检索角色身份的?"
如果回答是"我们用一张参考图"—漂移会发生。如果回答是"我们把 embedding 作为持久化角色资产存储,并注入到 conditioning 里"—漂移基本上被解决了。
相关阅读
试一款原生解决漂移的工具—Juying—免费档可用。