AI 生图

模型会挂,然后呢?

在 Alice 里,用户说「帮我画一张图」,但背后可能 Gemini 超时了、Seedream 限流了、GPT Image 也出错了。用户不关心哪个模型挂了,他只关心:图到底能不能出来?

Alice 的三种状态
Alice 思考中
思考中
正在生图,请稍候
Alice 错误状态
出错了
模型返回错误,正在切换备选
Alice 空状态
全部失败
所有模型不可用,友好降级
降级链:Alice 的保险策略
失败
模型 A(Gemini)超时 15 秒
触发超时熔断 → 自动降级
切换到模型 B(Seedream)
备选模型接管,用户无感知
失败
模型 B 返回限流错误
并发上限,继续降级
切换到模型 C(GPT Image)
第三备选顶上
成功
模型 C 成功出图
用户拿到图片,全程感知不到切换
兜底
全部失败?友好降级
「抱歉服务繁忙,已加入队列稍后通知您」
最终结果:用户看到的
Alice 雨天思考 - 最终生图结果

虽然经历了两次模型失败,用户依然拿到了图

用户只看到「Alice 正在画…」的等待状态,然后收到结果。背后模型 A 超时、模型 B 限流、模型 C 顶上,这些对用户完全透明。这就是降级链的价值。

三个产品思路
优先级排序 + 白名单
预设模型优先级。不同场景可以指定不同的模型组合:比如角色出镜优先用效果最好的模型,纯背景可以用便宜快速的。
探活机制
定时检测每个模型的健康状态。已确认宕机的直接跳过,恢复后自动上线。不浪费用户的等待时间在已死的模型上。
垫图降级
有些模型不支持垫图(image-to-image)。降级时如果备选模型不支持垫图,退化为纯文生图,质量降低但至少能出图。
用户不关心你用的哪个模型,他只关心图能不能出来。在 Alice 里,降级链保证了即使主力模型全挂,用户最差也只是多等几秒或收到一句友好提示,永远不会撞上冷冰冰的错误页面。