教程 05 — 多模型與故障轉移:錢少也能用好 AI
目標:配置多個模型提供商,實現自動故障轉移,日常用便宜模型、複雜任務自動升級。
為什麼需要多模型?
| 場景 | 推薦模型 |
|---|---|
| 日常問答、翻譯 | MiniMax M2.1(便宜) |
| 複雜推理、代碼架構 | Claude Opus 或 MiniMax M2.5(貴但強) |
| 主力掛掉 / 限流 | 自動切換備用模型(不中斷使用) |
場景一:MiniMax 主力 + Claude 備用
編輯 ~/.openclaw/openclaw.json:
{
"gateway": { "mode": "local" },
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": ["anthropic/claude-sonnet-4-6"]
}
}
},
"models": {
"mode": "merge",
"providers": {
"minimax": {
"baseUrl": "https://api.minimax.io/anthropic",
"apiKey": "${MINIMAX_API_KEY}",
"api": "anthropic-messages",
"models": [
{
"id": "MiniMax-M2.1",
"name": "MiniMax M2.1",
"reasoning": false,
"input": ["text"],
"cost": { "input": 15, "output": 60, "cacheRead": 2, "cacheWrite": 10 },
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}當 MiniMax 返回錯誤或超時,自動切換到 Claude Sonnet,使用者無感知。
場景二:不同任務用不同模型
在對話中手動切換模型:
# 切換到推理模型做複雜任務
pnpm openclaw models set minimax/MiniMax-M2.5
# 做完再切回便宜的
pnpm openclaw models set minimax/MiniMax-M2.1或者通過斜線命令在對話中切換(如果啟用了模型切換 Skill):
/模型 M2.5
幫我設計一個分散式快取系統的架構
場景三:Claude Opus 主力 + MiniMax 備用(經濟模式)
{
"agents": {
"defaults": {
"models": {
"anthropic/claude-opus-4-6": { "alias": "opus" },
"minimax/MiniMax-M2.1": { "alias": "minimax" }
},
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": ["minimax/MiniMax-M2.1"]
}
}
}
}場景四:完整多模型配置(三重保障)
{
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
},
"agents": {
"defaults": {
"model": {
"primary": "minimax/MiniMax-M2.1",
"fallbacks": [
"anthropic/claude-sonnet-4-6",
"openai/gpt-4o"
]
}
}
}
}任意一個掛了,自動切到下一個,永不中斷。
查看當前使用的模型
在對話裡發:
/status
返回類似:
模型:minimax/MiniMax-M2.1
上下文:4,821 / 200,000 tokens
會話:main
查看 token 用量和費用
/usage
返回本次會話的 token 消耗和估算費用,幫助你控制成本。
思考等級(Thinking Level)
MiniMax M2.5 和 Claude Opus 支援「深度思考」模式,消耗更多 token 但回答更準確:
/think high
幫我分析這段代碼的時間複雜度並給出優化方案:
[貼上代碼]
思考等級:off / minimal / low / medium / high / xhigh
日常問答用 off,複雜任務用 high。
模型選擇建議
| 任務類型 | 推薦模型 | 思考等級 |
|---|---|---|
| 日常問答 | MiniMax M2.1 | off |
| 代碼生成 | MiniMax M2.1 Lightning | low |
| 代碼審查 | MiniMax M2.5 | medium |
| 系統設計 | MiniMax M2.5 / Claude Opus | high |
| 數學推理 | MiniMax M2.5 | xhigh |
常見問題
fallback(故障轉移)的觸發條件是什麼?
當主模型返回以下情況時自動觸發:HTTP 5xx 錯誤、請求超時、速率限制(429)、或模型服務不可用。OpenClaw 會按 fallbacks 陣列的順序依次嘗試,對使用者完全透明無感知。
如何知道當前實際在用哪個模型?
在對話中發 /status,返回的資訊中會顯示當前活躍模型的完整 ID(例如 minimax/MiniMax-M2.1)。如果發生了 fallback,日誌中會有記錄:tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep fallback。
不同模型的 Token 費用怎麼計算?
費用按各模型提供商的官方價格計算,在 openclaw.json 的 models[].cost 欄位中配置(單位:每百萬 token 的人民幣分)。執行 /usage 查看當前會話的 token 消耗和估算費用。
能在同一對話中手動強制切換模型嗎?
可以,使用 pnpm openclaw models set <模型ID> 命令即時切換,無需重啟網關。或者通過配置一個「模型切換」技能(SKILL.md),讓 AI 理解「切換到 M2.5」這樣的自然語言指令。
多個 Provider 的 API Key 都需要配置嗎?
只需要配置你實際要用到的 Provider。如果你配了 MiniMax 主力 + Claude 備用,那只需要這兩個 Key。沒有配置的 Provider 不會被調用,也不會報錯。