乐于分享
好东西不私藏

OpenClaw系列第10课:模型配置与切换 – providers / failover 到底怎么理解

OpenClaw系列第10课:模型配置与切换 – providers / failover 到底怎么理解

这是「OpenClaw 教程课程」第 10 课。 前一课我们讲了 Memory,知道了长期记忆怎么沉淀。今天我们进入另一个非常实用、也非常容易被误解的话题:模型配置与切换。

图:在 OpenClaw 里,你配置的不只是“一个模型名字”,而是一整套模型提供商、主模型、备用模型和回退逻辑。

很多人在用 OpenClaw 的过程中,迟早都会遇到这些问题:

  • 为什么我明明设的是某个模型,结果状态里显示另一个?
  • provider 和 model 到底是什么关系?
  • fallback / failover 到底是什么意思?
  • 切换模型,切的究竟是哪一层?
  • 为什么有时候“当前模型不可用”,系统却还能继续跑?

这些问题如果不讲清楚,后面你一看到模型切换、状态回退、provider 异常,就很容易一头雾水。

所以今天这课只讲一个主题:

OpenClaw 里的模型配置到底是怎么组织的。

一、先说结论:OpenClaw 配的不是“一个模型名字”,而是一条模型使用链路

这是今天最关键的一句话。

很多人天然会把模型配置理解成:

  • 选一个模型
  • 然后系统一直用它

但在 OpenClaw 里,真实情况通常是:

你配置的是“模型提供商 + 主模型 + 备用模型 + 切换策略”的组合。

也就是说,OpenClaw 不是只知道“我要用某个模型”,而是会同时考虑:

  • 这个模型属于哪个 provider
  • 这是不是主模型
  • 主模型不可用时有没有 fallback
  • 当前路由最终落到哪个模型上

所以以后你看到“模型切换”,不要只理解成简单换名字。

更准确的理解是:

系统在调整一整条模型调用路径。

二、provider 到底是什么?

先把最底层概念讲清楚。

在 OpenClaw 里,provider 更像是:

模型的提供方 / 接入方。

你可以把它理解成“模型从谁那里来”。

例如常见 provider 会包括:

  • OpenAI
  • Anthropic
  • Google
  • 本地模型提供方
  • 兼容 OpenAI / Anthropic 接口的第三方服务

所以当你看到类似这样的写法时:

openai/gpt-5.4anthropic/claude-opus-4-6google/gemini-... 

它其实表达的是两层信息:

  • 前半段:provider
  • 后半段:具体 model

也就是说:

provider/model

这就是最基础的理解方式。

三、为什么 OpenClaw 要分 provider 和 model?

因为模型不只是“名字”,它背后还带着一整套接入差异。

不同 provider 可能意味着:

  • 不同认证方式
  • 不同 API 协议
  • 不同费用模型
  • 不同上下文长度
  • 不同工具调用支持情况
  • 不同稳定性与速度表现

所以 OpenClaw 把 provider 和 model 分开,是为了让系统能更清楚地知道:

  • 这次请求应该走哪套接入逻辑
  • 认证从哪来
  • 失败时该怎么回退
  • 同类模型之间怎么切换

换句话说:

provider 决定“怎么接”,model 决定“用谁答”。

图:provider 是提供方和接入层,model 是实际运行时调用的具体模型。

四、主模型是什么?

主模型最容易理解。

它就是:

系统优先希望使用的那个模型。

通常情况下,只要它可用,OpenClaw 就会优先用它。

比如你把主模型设成某个 Claude、GPT 或 Gemini 模型,那么正常情况下每一轮都应该先走它。

所以主模型并不是“唯一模型”,而是:

默认优先模型。

五、备用模型 / failover 又是什么?

这就是今天最容易被误解的一层。

很多人一看到 fallback / failover,就以为是“我手动换了模型”。

其实不是。

更准确地说:

failover 是当主模型不可用时,系统自动切到备用模型继续工作。

也就是说,它的作用不是“炫技”,而是:

  • 降低系统中断概率
  • 避免因为单个模型挂掉导致整个 Agent 失效
  • 给运行链路更强的稳定性

所以你以后看到“Fallback”时,不要第一反应是“为什么它乱切模型”。

更合理的理解是:

系统在保护可用性。

六、什么情况下会发生 fallback?

最常见的大致有几类:

1)主模型当前不可用

比如:

  • provider 侧服务异常
  • 当前模型不可达
  • 账户或权限问题
  • 某个模型被临时禁用

2)主模型请求失败

比如:

  • 请求超时
  • 返回错误
  • 当前路由无法完成

3)系统明确配置了备用模型链

也就是说,OpenClaw 并不是“随便乱切”,而是在你配置好的 failover 链里做选择。

所以 fallback 的前提通常是:

系统里本来就知道,如果 A 不行,可以试 B。

图:主模型优先运行,当主模型不可用或请求失败时,系统会自动切到备用模型继续执行。

七、为什么你明明设了一个模型,状态里却看到另一个?

这恰恰是理解 failover 之后最容易解释通的现象。

比如你以为现在正在使用:

  • 主模型 A

但状态里却显示:

  • 当前实际模型 B

这通常说明几种可能:

1)A 本轮不可用,系统已经 fallback 到 B

2)当前运行不是按默认主模型走,而是受会话或指令覆盖影响

3)某个 provider 或 runtime 路由规则把实际执行模型导向了另一个目标

也就是说:

“你设了什么”和“当前这轮实际用什么”并不永远是同一件事。

这在 OpenClaw 里是正常现象,不一定是错误。

八、模型切换,到底切的是什么?

这个问题非常重要。

很多人说“切模型”,脑子里默认想的是:

  • 把答题的人换了

这当然没错,但在 OpenClaw 里你最好理解得更系统一点。

一次模型切换,可能同时意味着:

  • 切换具体 model
  • 切换 provider
  • 切换认证来源
  • 切换上下文窗口能力
  • 切换某些工具行为兼容性
  • 切换 fallback 链

所以从系统角度讲,“切模型”往往不是换一个简单标签,而是在换:

一整套运行能力约束。

这也是为什么有时候你会感受到:

  • 回答风格变了
  • 速度变了
  • 工具表现变了
  • 容量和稳定性也变了

因为真的变的并不只是模型名字。

九、你可以把模型系统理解成“三层结构”

这是我觉得最容易记的方式。

第一层:Provider 层

决定从哪里接模型。

第二层:Primary / Fallback 层

决定优先谁、失败时换谁。

第三层:当前实际运行层

决定这一次真实跑的是谁。

也就是说,你平时在表面上看到的是“当前模型”,但在背后,系统其实还有:

  • provider 结构
  • 默认优先级
  • 故障回退链

十、为什么说“模型配置”和“系统稳定性”是绑在一起的?

因为模型配置不只是影响效果,也直接影响稳定性。

例如:

  • 你有没有备用模型
  • 主模型挂了以后系统会不会直接断
  • 某个 provider 不稳定时还能不能继续跑
  • 不同模型之间能不能平滑切换

这些都直接关系到:

系统是“偶尔能用”,还是“持续能用”。

所以如果你把模型配置只当成“选口味”,其实是低估了它的重要性。

在 OpenClaw 里,模型配置其实更像:

性能、能力、成本、稳定性之间的一组平衡选择。

十一、怎么看待“默认模型”和“当前模型”?

这个区分也值得特别记住。

默认模型

是系统默认优先使用的那个。

当前模型

是这一轮、这个 Session、这个时刻实际落到的模型。

这两者有时候会一样,有时候不会。

为什么不会一样?

因为中间可能经过:

  • 会话覆盖
  • 命令切换
  • fallback
  • provider 路由变化

所以以后你看到状态时,最好先问自己:

这是默认配置,还是当前实际执行结果?

图:默认模型是系统预设,当前模型是这一轮实际落地运行的模型,两者并不总是完全一致。

十二、什么时候你最应该关心 failover?

你不是每天都要盯着它,但下面这些场景一定要特别关心:

1)你希望系统尽量别中断

那就要考虑备用模型。

2)你经常跨 provider 使用模型

那你必须理解 provider 差异和 fallback 逻辑。

3)你已经开始做自动化任务

比如:

  • cron
  • webhook
  • 长时间运行任务

这时只靠单模型硬扛,系统脆弱性会明显更高。

4)你经常看状态输出

那你迟早会看到:

  • selected model unavailable
  • fallback selected
  • 当前模型和你预期不同

如果你不懂 failover,就会觉得系统乱了;懂了之后,你会知道这其实往往是系统在自我保护。

十三、这节课最值得记住的一句话

如果今天只记一句话,我建议你记这句:

OpenClaw 配置的不是单一模型,而是一条“provider + 主模型 + 备用模型 + 回退逻辑”的运行链。

这句话一旦理解了,后面你再看:

  • /model
  • session status
  • fallback
  • provider 配置
  • 模型切换

就不会再把它们看成互相割裂的点了。

十四、总结

今天这节课,你只要真正记住下面 5 句话,就够了:

  1. provider 是模型的提供方,model 是具体使用的模型。
  2. 主模型是默认优先模型,不等于永远实际运行模型。
  3. failover 是在主模型不可用时自动切到备用模型。
  4. 模型切换不是只换名字,而是可能切整条运行能力链。
  5. 理解模型配置,才能真正看懂 OpenClaw 的稳定性和路由行为。

下一课预告

下一课我们会进入第三模块:工具与技能。

第 11 课:Skills 是什么?怎么安装和使用

也就是开始回答一个很关键的问题:

  • OpenClaw 为什么不只是“会回答”,还会“有技能”
  • skill 和 tool 到底有什么关系
  • 什么叫可复用能力模块

🦞 本文由八条撰写,持续更新中。