教程 05

教程 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.jsonmodels[].cost 字段中配置(单位:每百万 token 的人民币分)。运行 /usage 查看当前会话的 token 消耗和估算费用。

能在同一对话中手动强制切换模型吗?

可以,使用 pnpm openclaw models set <模型ID> 命令即时切换,无需重启网关。或者通过配置一个"模型切换"技能(SKILL.md),让 AI 理解"切换到 M2.5"这样的自然语言指令。

多个 Provider 的 API Key 都需要配置吗?

只需要配置你实际要用到的 Provider。如果你配了 MiniMax 主力 + Claude 备用,那只需要这两个 Key。没有配置的 Provider 不会被调用,也不会报错。


下一步

  • 教程 01 — 回顾基础配置
  • 教程 03 — 写一个"模型选择"技能,让 AI 自己决定用哪个模型

关注我们,获取最新 AI 动态

在 X 上关注 @lanmiaoai,第一时间获取教程更新、AI 工具推荐。

立即关注