连续多轮改图还能同人:可复现需要的不是种子而是中间态

一、种子加提示词,为什么在多轮上不够用
据公开报道,有一款图像生成与对话式编辑模型推出了带稳定版接口的更新,模型标识为 gemini-nano-banana-2.1,改进点包括视觉质量、提示词遵循和连续多轮编辑中的人物一致性,输出支持 1K、2K 与 4K 档位。标识符与厂商说法在这里只是背景,本文不推断它的内部实现、参数规模与后端一致性。要讨论的是这些改进一旦进入商用交付流程,最先撑不住的不是审美,而是复现。
单张出图的复现思路是这样的:存下提示词、负面提示、模型检查点、采样器与随机种子,重跑一遍应当得到同一张图。这个思路成立的前提是”一次函数调用”——输入定了输出就定了。多轮编辑不是函数调用,它是一段有状态的会话。第 n 轮的输入不只是文本指令,还包括上一轮的输出图像、用户在那一轮挑中的候选、可能叠加的遮罩与选区、参考图、以及被会话上下文压缩过的历史指令。这些对象共同决定下一轮,任何一个没存,重跑出来的就不是同一条链。
于是常见事故是这样的:客户一个季度后要一版”当时那张的第三个变体,把袖口改回去”,工程师手上只有最终成图和一段提示词记录,中间态全丢了。他要么重做整条链(结果不会相同),要么承认无法定位。这不是模型能力问题,是我们把有状态流程当无状态流程存档的问题。
二、需要留存的五类对象
我们把多轮编辑的可复现存档拆成五类对象,缺一类就有一段无法回溯。
| 对象类别 | 最小字段 | 常见缺失 |
|---|---|---|
| 原始素材 | 文件标识与哈希、来源、授权范围与期限、可用渠道 | 只存了图,没存授权与用途限制 |
| 每轮输入 | 输入图的标识与版本、遮罩与选区、参考图标识、画布尺寸 | 用”上一轮结果”代指,版本无法定位 |
| 每轮指令 | 用户原文、结构化参数、被上下文改写后的实际下发文本 | 只存了原文,没存实际生效文本 |
| 模型与后端 | 模型标识、接口版本、服务端构建或变更通告号、档位 | 只写了模型名,没写接口与后端 |
| 输出与选择 | 各候选图、人工选中的是哪一张、拒绝理由、终态标记 | 只留最终图,丢掉了候选与被否掉的那几张 |
第三行和第五行是两条最贵的缺失。原文与实际下发文本不同,是因为多轮会话里历史指令会被拼接和压缩,重跑时如果不存”当次真正被模型读到的那段文本”,就无法解释为什么结果不一样。候选图与被否掉的选项必须留,因为”当时为什么没选这张”往往是客户回头改需求的起点;只留最终图等于只留结论,不留判断依据。
存储上有一条实用规则:中间态图像按内容哈希命名,按任务链组织,指令与元数据用结构化记录而不是文件名承载。链条记录里要能一眼读出轮次、父子关系与分支,因为多轮编辑一定会分支,分支不是异常而是常态。
三、人物一致性怎么从”看起来像”变成可判断
一致性这类改进,如果验收语言是”看着挺像的”,那么它对交付毫无用处。我们的做法是把它拆成可判断条目,配合固定的对照测试。
对照设计是:同一份原始素材、同一串逐轮指令,在两个模型标识下各跑一条完整链,逐轮对齐比较。这条对照要求指令集本身是先写好、可复用的,不能是当场随口说的,否则比的不是模型而是提问方式。跨轮漂移的观察方法是把每一轮的人物裁出同一区域(正脸、发型轮廓、服装主件、体色与肤色),排成时间序列图卡看漂移;漂移发生在第几轮、是否与某类编辑动作(换背景、换姿势、放大局部)相关联,都从这张序列图上读。
一致性条目要写成能判定成立的问句,例如:同一人的面部特征在相邻两轮之间是否保持;发型与发色是否随无关编辑变化;服装主件的款式与配色是否续接;肤色与光照是否在同一场景设定下稳定;多个人物同时在场时是否发生特征串味。每一条配一张对照图卡和一个判定人。判定人可以轮换,但判定标准要成文,否则一致性测试只是在收集口味。
需要说明的是,这类对照只能给出相对结论:新标识下某几条的通过率变化、漂移起始轮次的位置变化。不给出绝对分数,也不据此对具体图像风格做优劣判断。
四、分辨率档位与验收口径
据公开报道的这款模型支持 1K、2K 与 4K 输出。档位是成本、时延与验收三者的交汇点,需要按用途定,而不是按”能开多大开多大”定。
- 探索与构图阶段用低档:这一阶段要比较的是想法,多轮试错次数远比单张像素重要。
- 一致性对照测试用统一中档:对照的前提是除模型标识外其余变量都锁住,档位混用会让差异归因失败。
- 终稿交付按渠道定档:印刷与大幅面输出需要高分辨率;网页缩略展示、社交媒体裁切后的位置,4K 的额外像素会在压缩与缩放中被抹掉。
- 上游有再编辑需求时留高于交付的档:交付后再放大会暴露瑕疵,宁可在中间态多留一级。
“高分辨率其实没意义”的情形很具体:源素材本身是低质扫描件,放大只是把噪声做得更清楚;客户渠道最终展示区域有限;同一张图还要经过二次压缩;或者多轮编辑里的主要风险是人物一致性,档位再高也救不回特征漂移。验收口径因此应当写”交付渠道所需的最小可用档位与检查距离”,而不是一律要求最高档——检查距离和放大倍数才是决定瑕疵是否可见的因素,把 4K 图缩到列表页里看,验收结论与 1K 没有区别。
档位还会与时延互相拉扯:多轮流程里每轮都走最高档,等待时间会挤压试错轮次,团队会本能地减少轮次,一致性验证的覆盖率跟着下降。这种取舍要在项目开始前定成规则,不要留给现场临场决定。
五、接口标识与”稳定版”到底承诺了什么
稳定版接口的含义是标识稳定,不等于后端永远不变。同一标识下,服务侧的实现、路由与配置都可能被更新,厂商未必逐次通告。工程上因此要区分两层锁:一层锁标识(写在配置里,随环境管理),一层锁观察到的行为(靠对照测试与留档来发现异常)。只在配置里写死一个模型名,就以为万事大吉,是这类集成最常见的误区。
跨标识迁移时要重跑的项,按风险排序是:人物一致性的整条对照链(新旧标识在同一素材同一指令下逐轮对齐)、遮罩与选区类编辑的边界行为、档位输出的实际尺寸与色彩口径、失败与重试语义(超时、限流、内容拒绝的返回结构)、成本与配额的计量方式。前五项里任何一项没重跑就切换标识,等于把回归责任推给了客户。
变更通知应当包含的字段也值得在集成协议里谈清楚:变更类型(行为变更、能力变更、下线计划)、影响的标识范围、生效方式与灰度节奏、可用的对照素材或自检脚本、回滚窗口。收不到这类字段时,我们自己要有探测手段——最省的做法是维护一小段每日跑的固定链条(固定素材、固定指令、固定档位),把输出哈希与逐轮图卡存档,行为变了会在图上体现出来,而不是等到客户投诉。
六、把整条链做成流水线,收益有两个
把上面几件事串起来,得到一条多轮编辑流水线:任务创建时绑定原始素材及其授权记录;每一轮自动归档输入标识、遮罩、实际下发文本、候选输出与人工选择;模型标识与后端信息随每次调用写入;对照测试与链条完整性检查作为门禁。
收益一是同一批素材改版不必重拍重做。客户回头要”把第三轮那个方向再走一遍,但换个背景”,前提是那条链的中间态都在:从第三轮的节点开分支,其余轮次不受影响。这件事在没有存档时只能重跑整链,而重跑得到的是一条新链,不是当初那条。收益二是争议可以回溯到某一轮某一步。颜色不对、人物不像、越权使用了某张参考素材——三类争议都能定位到具体的轮次、输入与选择记录,答复从”我们看看”变成”第几轮第几步,当时的输入与选择是这样的”。
对洹拓承接的电商素材与内容生产类项目,我们把这条链当作交付物的一部分而不是内部实现细节:链条记录随成品一起归档,保留期与授权期限一起定。可复现要留的不是一个数字种子,而是整条中间态链——这一句写进项目规范里,能省掉后面大量的重新解释。