首页 资讯 下载 教程 Skills 社群

OpenClaw 多模型路由与智能切换

多模型架构概述

OpenClaw 支持同时接入多个 AI 模型,并在对话中灵活切换。这种架构让你可以根据任务类型选择最合适的模型,兼顾性能、成本和功能。

基础模型配置

设置主模型

{
  agents: {
    defaults: {
      model: {
        // 主模型:格式为 provider/model
        primary: "anthropic/claude-opus-4-20250514"
      }
    }
  }
}

配置多模型列表

{
  agents: {
    defaults: {
      models: [
        {
          alias: "opus",
          model: "anthropic/claude-opus-4-20250514"
        },
        {
          alias: "sonnet",
          model: "anthropic/claude-sonnet-4-20250514"
        },
        {
          alias: "gpt4",
          model: "openai/gpt-4o"
        },
        {
          alias: "local",
          model: "ollama/llama3:70b"
        }
      ]
    }
  }
}

Provider 配置

每个模型提供商需要独立配置认证信息:

{
  providers: {
    anthropic: {
      apiKey: "${OPENCLAW_ANTHROPIC_API_KEY}"
    },
    openai: {
      apiKey: "${OPENCLAW_OPENAI_API_KEY}"
    },
    ollama: {
      baseUrl: "http://localhost:11434"
      // Ollama 本地部署无需 API Key
    }
  }
}

对话中切换模型

用户可以在对话中通过命令切换当前使用的模型:

用户:/model sonnet
AI:已切换到 Claude Sonnet 模型。

用户:帮我写一段简单的 Python 脚本
AI:(使用 Sonnet 响应,速度快、成本低)

用户:/model opus
AI:已切换到 Claude Opus 模型。

用户:帮我分析这段复杂的系统架构设计
AI:(使用 Opus 响应,推理能力更强)

故障转移配置

当主模型不可用时,自动切换到备用模型:

{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-opus-4-20250514",

        // 故障转移链
        fallback: [
          "anthropic/claude-sonnet-4-20250514",
          "openai/gpt-4o",
          "ollama/llama3:70b"
        ],

        // 触发故障转移的条件
        fallbackOn: [
          "rate_limit",    // 速率限制
          "timeout",       // 请求超时
          "server_error"   // 服务器错误
        ],

        // 超时时间(秒)
        timeout: 30
      }
    }
  }
}

本地 + 云端混合部署

结合本地模型和云端模型的优势:

{
  agents: {
    // 日常对话 Agent:使用本地模型,零成本
    "casual": {
      model: {
        primary: "ollama/llama3:8b"
      },
      systemPrompt: "你是一个友好的聊天助手。"
    },

    // 专业任务 Agent:使用云端模型,高质量
    "professional": {
      model: {
        primary: "anthropic/claude-opus-4-20250514"
      },
      systemPrompt: "你是一个专业的技术顾问。"
    },

    // 代码 Agent:使用中等模型,平衡成本
    "coding": {
      model: {
        primary: "anthropic/claude-sonnet-4-20250514"
      },
      systemPrompt: "你是一个代码助手。"
    }
  }
}

成本优化策略

按任务复杂度选择模型

{
  agents: {
    defaults: {
      // 简单任务自动使用低成本模型
      routing: {
        rules: [
          {
            // 简单问答
            pattern: "翻译|天气|时间|计算",
            model: "ollama/llama3:8b"
          },
          {
            // 代码生成
            pattern: "代码|编程|脚本|函数",
            model: "anthropic/claude-sonnet-4-20250514"
          }
        ],
        // 未匹配规则时使用默认模型
        default: "anthropic/claude-opus-4-20250514"
      }
    }
  }
}

设置使用量限制

{
  agents: {
    defaults: {
      model: {
        // 每日 Token 使用上限
        dailyTokenLimit: 100000,

        // 超出限制后的行为
        onLimitReached: "fallback_to_local"
      }
    }
  }
}

模型特性利用

不同模型有不同的特长,合理利用能显著提升体验:

模型 特长 建议用途
Claude Opus 深度推理、复杂分析 架构设计、文档撰写
Claude Sonnet 速度与质量平衡 代码生成、日常任务
GPT-4o 多模态、视觉理解 图片分析、视觉任务
Llama 3 (本地) 零成本、隐私保护 简单对话、敏感数据

视觉模型配置

对于需要处理图片的场景:

{
  agents: {
    "vision": {
      model: {
        primary: "anthropic/claude-opus-4-20250514",
        // 支持视觉的模型列表
        vision: true
      }
    }
  }
}

常见问题排查

  • 模型切换不生效:确认 alias 名称拼写正确,运行 openclaw models list 查看可用模型
  • 本地模型连接失败:检查 Ollama 是否正在运行,curl http://localhost:11434/api/tags
  • 故障转移未触发:检查 fallbackOn 配置是否覆盖了实际错误类型
  • 成本超预期:启用 dailyTokenLimit 并配合本地模型降低开销