OpenClaw 模型降级与容错策略
世界上有一种保障叫 fallback,它就像人生中的 Plan B。当 Claude 掛了的时候,还有 GPT;当 GPT 也炸了的时候,还有本地模型。这就是成年人的世界——永远准备好下一步。
为什么需要模型降级?
API 会挂、配额会满、网络会断。一个成熟的生产系统,必须具备优雅降级的能力。OpenClaw 的 fallback 机制让你在主模型不可用时,自动切换到备用模型,保证服务连续性。
Fallback 配置
基础配置
{
"model": {
"primary": "claude-sonnet-4-20250514",
"fallbacks": [
"gpt-4.1",
"gemini-2.5-pro",
"local-llama-3"
],
"fallbackConditions": {
"onError": true,
"onRateLimit": true,
"onTimeout": true,
"maxRetries": 2
}
}
}
高级路由规则
{
"modelRouting": {
"rules": [
{
"condition": "task.complexity > 0.8",
"models": ["claude-opus-4", "gpt-4.1"]
},
{
"condition": "task.type === 'code'",
"models": ["claude-sonnet-4", "gpt-4.1"]
},
{
"condition": "default",
"models": ["gpt-4.1-mini", "claude-haiku-3.5"]
}
]
}
}
降级触发条件
自动降级场景
- API 错误 - 5xx 服务端错误
- 速率限制 - 429 Too Many Requests
- 超时 - 请求超过配置的超时时间
- 配额耗尽 - 账户余额不足
- 内容过滤 - 触发安全审核
手动降级
// 通过 API 触发降级
await agent.setModel("gpt-4.1", {
reason: "claude-api-outage",
duration: 3600000 // 1小时
});
成本优化策略
{
"costOptimization": {
"enabled": true,
"strategy": "cost-aware",
"rules": [
{
"condition": "tokens > 10000",
"model": "gpt-4.1-mini"
},
{
"condition": "task.type === 'summary'",
"model": "claude-haiku-3.5"
}
]
}
}
监控与告警
// 监控 fallback 触发
agent.on("fallback", (event) => {
console.log(`Fallback from ${event.from} to ${event.to}`);
console.log(`Reason: ${event.reason}`);
// 发送告警
alerting.notify(event);
});
最佳实践
- 至少两个备用模型 - 从不同的服务商选择
- 测试降级路径 - 定期验证 fallback 配置
- 成本监控 - 备用模型可能更贵
- 质量评估 - 确保降级后输出质量可接受