← 返回概念辨析

Concept Contrast Fable

回退和模型回退

回退是一个通用设计模式——主路径失败时切换到备用路径。模型回退是回退的一种具体场景——主模型不可用时切换到备用模型。前者可以用于任何系统组件,后者只针对模型调用这一条链路。

寓言

备用方案和备用司机

老程的物流车队有五十辆卡车,跑省际长途。每辆车配一名主司机,但公司规定出发前必须确认有一个备用司机;如果主司机路上生病、疲劳驾驶触发警报,备用司机就顶上。

这天调度员小侯接了个紧急任务:一台冷链车要在十小时内把疫苗送到六百公里外。他把路线安排好了、主司机安排好了、备用司机也确认了。出发前他又检查了一遍:燃油备用方案有没有,轮胎爆了有没有备胎,冷机坏了有没有备用冷机,路牌断了有没有替代路线。

副调度员说,你不是已经有备用司机了吗,还要搞这么多?小侯说,备用司机只管主司机出问题这一种情况。燃油不够、轮胎爆了、冷机坏了,换司机没用。每个环节都要有自己的后路。

上路后果然出了事,半路上冷机故障。备用司机帮不上忙,他不会修冷机。但小侯提前安排的合作冷库起了作用:车队停了四十分钟,换上一台冷机继续前进,疫苗准时送达。

事后复盘,小侯画了一张车队图。司机、油料、轮胎、冷机、路牌、仓库,每个点都可能坏;每个点的后路都不一样。有的能换人,有的要换物,有的要绕路,有的只能暂停。

后来有新人把备用司机的规矩套到冷库上,结果主冷库停电后,货被送到一间温度不稳的小库,损失更大。老程在会上说,后路这两个字听起来一样,真正执行时要看坏的是哪一环。

车队手册后来多了一页:先看故障点,再看切换条件,再看切过去会损失什么,最后看怎么回来。只说“我们有备用方案”,还不算真的有方案。

后来,又来了一件更棘手的活。表面看只是旧问题放大,实际把藏在流程里的缝隙都逼了出来:谁先接手、谁能改动、出了错怎样回到上一步,过去靠熟人默契混过去的地方,现在都必须说清楚。

回退

一种通用的容错设计模式,指主路径或主组件不可用时自动切换到备用路径或备用组件。适用于系统的任何层级:网络、存储、计算、认证、模型调用等。

模型回退

回退模式在模型调用场景的具体应用:当主模型不可用、超时或返回质量低于阈值时,自动切换到备用模型继续服务。它需要考虑模型间的接口兼容性、延迟预算和输出格式一致性。

故事对应

  • 备用司机:模型回退——只针对司机(模型)这一个组件的故障切换。
  • 燃油、轮胎、冷机各有备选方案:系统级回退——每个关键组件都需要自己的回退路径。
  • 冷机坏了但备用司机没用:不同组件的回退互不覆盖,每类故障需要对应方案。
  • 数据库回退配置套用到模型:不同组件的回退策略不可直接复用,切换条件不同。
  • 回退分层手册:通用原则加组件级差异,统一框架下各组件各自精细化。

落到项目里

不要只做一个「模型挂了切备用」就算完了。画一张回退矩阵:横轴是系统组件(模型、数据库、缓存、认证、存储),纵轴是回退四要素(触发条件、切换动作、数据损失、恢复步骤)。每个格子填清楚了,回退才从一句话变成可运维的方案。评审时如果只听到「我们有回退」,要求对方把矩阵打开。