把分散的角色参考,做成可追溯的版本系统:MliyAiStudio 的一次落地复盘
角色参考原本散在图像画布、声音素材和 MV 项目里。要重新生成同一个人物时,图片、声音和成片之间缺少明确的身份来源,生成任务也无法直接说明自己使用了哪一版参考。
我没有把这个问题当成“再加一个上传入口”。借助 AI 开发工具梳理需求时,我先把它拆成几件需要同时成立的事:角色要有独立档案,参考素材要有顺序,版本要能保留历史,MV 和生成任务要绑定具体版本,结果还要能解释为什么需要人工复核。最后再用测试、构建和真实浏览器操作检查这些关系是否真的落在产品里。
先统一来源,而不是复制一套媒体文件
角色版本需要引用图片和声音,也需要接入 MV 输出图片。一个直接但代价较高的做法,是把媒体复制到角色目录下。这样看起来简单,却容易丢掉原有素材的所有权和下载链路。
最终采用的是 catalog 与 MV 双来源引用。统一素材目录中的图片、声音,以及 MV 输出图片,都通过引用进入角色版本,媒体文件本身不复制、不迁移。角色参考同步登记到统一素材用途索引,资产库也能反向追踪它被哪个角色版本使用。
这个判断决定了数据模型的边界:角色档案负责身份组织,素材库继续保留媒体所有权,MV 仍然是另一类内容来源。AI 开发工具在这里更适合帮助我检查关系是否完整,而不是替我把所有文件搬到一个新目录。
角色版本里的参考素材也不是无序附件,而是按七类有序组织。版本中可以记录固定样貌、发型、服装、配饰和声音说明,截图里的角色档案中心会展示这些信息,以及图片和声音参考、一致性复核入口。
采用版本必须不可变,生成任务必须留下快照
如果一个角色版本被采用后还可以直接修改,历史生成任务就很难复现。后来补充的参考图、声音或身份说明,可能会悄悄改变旧任务所依赖的条件。
所以,已采用版本保持不可变。需要调整身份或参考时,流程变成创建草稿版本、修改草稿、再采用新版本,历史版本继续保留。角色档案中心会同时展示当前角色、V2 采用状态和历史版本入口。
MV 项目可以绑定具体角色版本。每个生成任务都会快照当时使用的版本和参考顺序;如果手工改写身份,绑定会解除,旧的下游结果也会失效。这样做的重点不在于增加一个版本号,而是让“这张图为什么从这里生成”有明确来源。
我在拆解这部分需求时,把“版本”“绑定”和“结果失效”分别列成状态变化,再让 AI 工具辅助检查边界条件。最终新增的测试覆盖了版本不可变、MV 绑定和任务快照,也覆盖了素材用途与所有权隔离,避免只验证页面上是否出现了一个选择框。
一致性检查只做解释和分流,不冒充身份识别
角色参考整理好以后,还需要判断生成结果是否值得继续使用。第一版没有引入 LoRA 训练,也没有把检查包装成人脸身份识别,而是使用本机可复现的启发式指标:人物数量代理、显著人脸、参考相似度和服装主色。
这些指标的作用是给出可解释的提示,不是替用户做最终身份判断。低一致性的生成结果会进入待复核状态,不会自动成为当前歌手素材。绑定版本后的角色母图和歌手多角度结果,也加入了自动检查和待复核状态。
这里有一个需要刻意守住的边界:一致性检查只能改变候选结果的复核状态,不能自动改写角色档案当前采用的版本。否则检查器一旦误判,就会反过来改变角色身份来源,版本系统也失去意义。
检测跳过时会显式标记,而不是留下一片看似正常的空白。这样的结果不够“智能”,但更容易知道系统实际检查了什么,哪些地方仍然需要人工判断。
让角色档案中心真正落到两个屏幕尺寸上
数据关系和检查逻辑完成后,入口被放进桌面与手机工作台。角色档案中心负责新建档案、创建草稿、添加图片和声音、执行一致性检查以及采用版本;MV 设置页则提供角色版本选择。
移动端有一个很具体的返工:窄列里的检查操作改成带提示的图标按钮,同时提高深色状态条的对比度。这个改动没有改变功能,却影响用户能不能看懂当前状态、能不能找到复核入口。
我没有只看静态页面。真实浏览器流程跑过新建档案、创建草稿、添加图片和声音、执行一致性检查及采用版本。桌面 1440×960 与手机 390×844 验收时,没有发现横向溢出、对话框越界、文字遮挡或运行时异常。
代码层面,新增的 3 项角色档案测试通过,全仓 203 项 Python 测试通过;Vite 生产构建、JavaScript 语法检查和 Python 编译也通过。它们分别回答了数据关系、已有功能回归和交付构建是否可用,而不是用一次页面点击代替全部验证。
先把来源做稳,再扩展生成助手
这一阶段完成的不是一个更复杂的生成按钮,而是一套跨图像画布、声音素材和 MV 输出的角色版本能力。角色有了可追溯来源,采用版本不会被悄悄改写,生成任务能留下版本快照,低一致性结果也会停在待复核状态。
启发式相似度目前只是可解释基线。后续可以在保留历史检查版本的前提下,接入更可靠的人体解析或人脸嵌入模型。再往后的平台阶段是可执行创作助手,但生成和批量修改仍需要先预览,再由用户确认。
对家人使用的一体化多媒体工作台来说,先让素材、版本和结果之间的关系说得清楚,比急着增加更多自动化动作更重要。至少在这一阶段,MliyAiStudio 已经把角色身份从分散参考,推进成了可以选择、复核和追溯的产品对象。