返回

05. OpenClaw 多模型設定與切換

本文詳細講解 OpenClaw 的多模型設定,包括 Anthropic Claude、OpenAI GPT、本地模型等多種 AI 模型的接入方式,模型 Failover 策略,以及按場景自動切換模型的設定方法,幫助開發者最佳化成本和效能。

適用於 OpenClaw v2026.2 | 本文假設你已完成基礎設定,需要最佳化模型選擇或成本控制。

TL;DR: OpenClaw 支援多模型:Claude Opus/Sonnet/Haiku、GPT-4o、Gemini、本地模型(Ollama)。設定 "agent": {"model": "anthropic/claude-opus-4-6"} 即可切換。Failover 自動切換備用模型:"fallback": [{"model": "claude-sonnet-4", "condition": "rate_limit"}]。推薦 Claude Opus 用於複雜任務,Haiku 用於高頻簡單任務。

支援的模型提供商

模型提供商概覽

提供商 推薦模型 特點 價格參考
Anthropic Claude Opus 4.6 / Sonnet 4 長上下文、強推理、抗注入 $15-75/1M tokens
OpenAI GPT-4o / GPT-4-turbo 生態完善、工具呼叫強 $5-30/1M tokens
Google Gemini Pro / Ultra 多模態、長上下文 $1-7/1M tokens
Groq Llama 3 / Mixtral 極速推理 免費/低價
本地 Ollama / LM Studio 隱私、無限制 免費(需硬體)

模型能力對比

模型 上下文長度 工具呼叫 多模態 推理能力 成本
Claude Opus 4.6 200K ⭐⭐⭐⭐⭐
Claude Sonnet 4 200K ⭐⭐⭐⭐
GPT-4o 128K ⭐⭐⭐⭐
GPT-4-turbo 128K ⚠️ ⭐⭐⭐⭐ 中高
Gemini Pro 1M ⭐⭐⭐
Llama 3.1 70B 128K ⚠️ ⚠️ ⭐⭐⭐ 免費

基礎模型設定

Anthropic Claude

{
  "agent": {
    "model": "anthropic/claude-opus-4-6",
    "thinkingLevel": "high"
  },
  "models": {
    "anthropic": {
      "apiKey": "${ANTHROPIC_API_KEY}",
      "baseUrl": "https://api.anthropic.com"
    }
  }
}

Claude 模型選擇建議

場景 推薦模型 原因
複雜推理、程式碼產生 Opus 4.6 最強推理能力
日常對話、簡單任務 Sonnet 4 性價比高
高頻呼叫、成本敏感 Haiku 3.5 速度快、成本低

OpenAI GPT

{
  "agent": {
    "model": "openai/gpt-4o"
  },
  "models": {
    "openai": {
      "apiKey": "${OPENAI_API_KEY}",
      "baseUrl": "https://api.openai.com/v1",
      "organization": "org-xxx"
    }
  }
}

GPT 模型選擇建議

場景 推薦模型 原因
通用任務、工具呼叫 GPT-4o 平衡效能和成本
複雜推理 GPT-4-turbo 推理能力強
快速回應、簡單任務 GPT-4o-mini 速度快、便宜

Google Gemini

{
  "agent": {
    "model": "google/gemini-2.0-flash"
  },
  "models": {
    "google": {
      "apiKey": "${GOOGLE_API_KEY}",
      "baseUrl": "https://generativelanguage.googleapis.com/v1beta"
    }
  }
}

本地模型(Ollama)

{
  "agent": {
    "model": "ollama/llama3.1:70b"
  },
  "models": {
    "ollama": {
      "baseUrl": "http://localhost:11434"
    }
  }
}

Ollama 安裝與啟動

# 安裝 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 下載模型
ollama pull llama3.1:70b
ollama pull codellama:34b

# 啟動服務
ollama serve

第三方 API 中轉

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "models": {
    "anthropic": {
      "apiKey": "${PROVIDER_API_KEY}",
      "baseUrl": "https://api.your-provider.com/v1"
    }
  }
}

模型格式說明

模型識別碼格式

{provider}/{model-name}
範例 說明
anthropic/claude-opus-4-6 Anthropic Claude Opus 4.6
openai/gpt-4o OpenAI GPT-4o
google/gemini-2.0-flash Google Gemini 2.0 Flash
ollama/llama3.1:70b Ollama Llama 3.1 70B

自訂模型別名

{
  "models": {
    "aliases": {
      "smart": "anthropic/claude-opus-4-6",
      "fast": "anthropic/claude-sonnet-4",
      "cheap": "anthropic/claude-haiku-3.5",
      "local": "ollama/llama3.1:70b"
    }
  },
  "agent": {
    "model": "smart"
  }
}

使用別名:

# 在聊天中切換
/model fast

# 或使用完整名稱
/model anthropic/claude-sonnet-4

Failover 策略

什麼是 Failover?

當主模型不可用時(如達到速率限制、服務中斷),自動切換到備用模型。

flowchart TB
    REQ[請求到達] --> PRIMARY{主模型可用?}
    PRIMARY -->|是| EXEC1[使用主模型]
    PRIMARY -->|否| CHECK{Failover 條件}
    CHECK -->|速率限制| SECONDARY1[備用模型 1]
    CHECK -->|服務中斷| SECONDARY2[備用模型 2]
    CHECK -->|逾時| SECONDARY3[備用模型 3]
    SECONDARY1 --> EXEC2[執行請求]
    SECONDARY2 --> EXEC2
    SECONDARY3 --> EXEC2
    EXEC1 --> RES[回傳結果]
    EXEC2 --> RES

設定 Failover

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "models": {
    "fallback": [
      {
        "model": "anthropic/claude-sonnet-4",
        "condition": "rate_limit"
      },
      {
        "model": "openai/gpt-4o",
        "condition": "error"
      },
      {
        "model": "ollama/llama3.1:70b",
        "condition": "timeout"
      }
    ]
  }
}

Failover 條件

條件 說明 範例場景
rate_limit 速率限制 API 回傳 429 錯誤
error 任何錯誤 服務不可用、網路錯誤
timeout 請求逾時 回應時間過長
overloaded 服務過載 API 回傳 503 錯誤
always 總是使用 簡單的輪詢策略

進階 Failover 設定

{
  "models": {
    "fallback": [
      {
        "model": "anthropic/claude-sonnet-4",
        "condition": "rate_limit",
        "maxRetries": 3,
        "retryDelay": 1000
      },
      {
        "model": "openai/gpt-4o",
        "condition": "error",
        "maxRetries": 2
      },
      {
        "model": "ollama/llama3.1:70b",
        "condition": "always"
      }
    ],
    "fallbackPolicy": {
      "retryPrimaryAfter": 60000,
      "logFallbacks": true,
      "notifyUser": true
    }
  }
}

場景化模型切換

按工作階段類型切換

不同類型的工作階段使用不同模型:

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4"
    },
    "byChannel": {
      "telegram": {
        "model": "anthropic/claude-haiku-3.5"
      },
      "discord": {
        "model": "anthropic/claude-sonnet-4"
      }
    },
    "bySessionType": {
      "main": {
        "model": "anthropic/claude-opus-4-6"
      },
      "group": {
        "model": "anthropic/claude-haiku-3.5"
      }
    }
  }
}

按任務類型切換

{
  "agents": {
    "taskModels": {
      "code": "anthropic/claude-opus-4-6",
      "reasoning": "anthropic/claude-opus-4-6",
      "chat": "anthropic/claude-sonnet-4",
      "simple": "anthropic/claude-haiku-3.5"
    }
  }
}

動態模型選擇

在執行時期切換模型:

# CLI 切換
openclaw agent --model anthropic/claude-opus-4-6 --message "複雜任務"

# 聊天中切換
/model anthropic/claude-opus-4-6
現在使用 Claude Opus 4.6,適合複雜推理任務

/model anthropic/claude-haiku-3.5
切換到 Haiku 3.5,快速回應簡單任務

成本最佳化策略

模型成本對比

模型 輸入成本 輸出成本 適用場景
Claude Opus 4.6 $15/1M $75/1M 複雜推理、重要決策
Claude Sonnet 4 $3/1M $15/1M 日常任務、平衡選擇
Claude Haiku 3.5 $0.80/1M $4/1M 簡單任務、高頻呼叫
GPT-4o $5/1M $15/1M 工具呼叫、多模態
GPT-4o-mini $0.15/1M $0.6/1M 快速回應、簡單任務
Gemini Flash $0.075/1M $0.3/1M 成本敏感、高頻呼叫

成本最佳化設定

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4",
      "costOptimization": {
        "enabled": true,
        "rules": [
          {
            "condition": "context_length > 50000",
            "model": "anthropic/claude-sonnet-4"
          },
          {
            "condition": "simple_query",
            "model": "anthropic/claude-haiku-3.5"
          },
          {
            "condition": "code_generation",
            "model": "anthropic/claude-opus-4-6"
          }
        ]
      }
    }
  }
}

Token 使用量監控

# 查看目前工作階段使用量
/status

# 輸出範例:
# Session: main
# Model: anthropic/claude-opus-4-6
# Tokens: 12,345 input / 2,456 output
# Cost: $0.21

# 開啟使用量顯示
/usage full

設定使用量顯示

{
  "usageTracking": {
    "enabled": true,
    "showInResponse": true,
    "trackBySession": true,
    "trackByChannel": true,
    "alertThreshold": 10.00
  }
}

思考級別設定

Thinking Level 說明

級別 說明 Token 消耗 適用場景
off 不顯示思考 最低 簡單任務
minimal 最小思考 快速回應
low 低思考 中低 日常對話
medium 中等思考 平衡選擇
high 高度思考 複雜推理
xhigh 極高思考 最高 最複雜任務

設定思考級別

{
  "agent": {
    "model": "anthropic/claude-opus-4-6",
    "thinkingLevel": "high"
  }
}

動態切換

# 聊天中切換
/think high
現在使用高思考模式,適合複雜推理

/think minimal
切換到最小思考,快速回應

本地模型設定詳解

Ollama 設定

{
  "agent": {
    "model": "ollama/llama3.1:70b"
  },
  "models": {
    "ollama": {
      "baseUrl": "http://localhost:11434",
      "options": {
        "temperature": 0.7,
        "num_ctx": 32768,
        "num_predict": 4096
      }
    }
  }
}

推薦本地模型

模型 參數量 記憶體需求 特點
Llama 3.1 8B 8B 8GB 輕量、快速
Llama 3.1 70B 70B 48GB 強推理
CodeLlama 34B 34B 24GB 程式碼專用
Qwen 2.5 72B 72B 48GB 多語言
Mistral Large 123B 80GB 最強開源

硬體建議

模型規模 CPU GPU 記憶體
7B-8B 8核+ 8GB VRAM 16GB
13B-14B 12核+ 16GB VRAM 32GB
30B-34B 16核+ 24GB VRAM 48GB
70B+ 32核+ 48GB+ VRAM 128GB

多提供商負載均衡

輪詢策略

{
  "models": {
    "loadBalancing": {
      "strategy": "round_robin",
      "providers": [
        {
          "model": "anthropic/claude-sonnet-4",
          "weight": 1
        },
        {
          "model": "openai/gpt-4o",
          "weight": 1
        }
      ]
    }
  }
}

加權策略

{
  "models": {
    "loadBalancing": {
      "strategy": "weighted",
      "providers": [
        {
          "model": "anthropic/claude-sonnet-4",
          "weight": 70
        },
        {
          "model": "openai/gpt-4o",
          "weight": 20
        },
        {
          "model": "ollama/llama3.1:70b",
          "weight": 10
        }
      ]
    }
  }
}

基於成本的策略

{
  "models": {
    "loadBalancing": {
      "strategy": "cost_optimized",
      "dailyBudget": 10.00,
      "providers": [
        {
          "model": "anthropic/claude-opus-4-6",
          "maxBudget": 5.00,
          "useFor": ["complex", "reasoning"]
        },
        {
          "model": "anthropic/claude-sonnet-4",
          "maxBudget": 3.00,
          "useFor": ["chat", "code"]
        },
        {
          "model": "anthropic/claude-haiku-3.5",
          "maxBudget": 2.00,
          "useFor": ["simple", "high_frequency"]
        }
      ]
    }
  }
}

模型設定最佳實務

1. 按場景分層

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4",
      "thinkingLevel": "medium"
    },
    "byUseCase": {
      "coding": {
        "model": "anthropic/claude-opus-4-6",
        "thinkingLevel": "high"
      },
      "chat": {
        "model": "anthropic/claude-haiku-3.5",
        "thinkingLevel": "minimal"
      },
      "research": {
        "model": "anthropic/claude-opus-4-6",
        "thinkingLevel": "xhigh"
      }
    }
  }
}

2. 設定合理預算

{
  "budget": {
    "daily": 20.00,
    "weekly": 100.00,
    "monthly": 400.00,
    "alertThreshold": 0.8,
    "hardLimit": true
  }
}

3. 監控和分析

{
  "analytics": {
    "trackUsage": true,
    "trackCosts": true,
    "trackPerformance": true,
    "exportPath": "~/.openclaw/analytics",
    "retentionDays": 30
  }
}

4. 測試和驗證

# 測試模型連線
openclaw doctor --check models

# 測試特定模型
openclaw agent --model anthropic/claude-opus-4-6 --message "測試訊息"

# 比較模型回應
openclaw benchmark --models "anthropic/claude-opus-4-6,openai/gpt-4o" --prompt "複雜問題"

故障排查

模型連線失敗

# 檢查 API Key
openclaw config get models.anthropic.apiKey

# 測試連線
curl -X POST https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-4", "max_tokens": 10, "messages": [{"role": "user", "content": "hi"}]}'

# 檢查網路
ping api.anthropic.com

速率限制

# 查看使用量
openclaw usage --today

# 輸出範例:
# Date: 2026-02-26
# Total tokens: 123,456
# Cost: $1.23
# Requests: 89

# 設定速率限制處理
openclaw config set models.anthropic.rateLimitHandling auto_retry

本地模型問題

# 檢查 Ollama 服務
curl http://localhost:11434/api/tags

# 檢查模型是否載入
ollama list

# 手動載入模型
ollama run llama3.1:70b

# 檢查 GPU 使用
nvidia-smi

小結

多模型設定是 OpenClaw 的強大功能之一:

  • 靈活切換:根據任務需求選擇合適的模型
  • Failover 保護:自動處理模型不可用情況
  • 成本最佳化:合理分配預算,避免浪費
  • 本地支援:隱私敏感場景使用本地模型

透過合理的模型設定,你可以在效能、成本、隱私之間找到最佳平衡點。


本篇小結

  • 掌握了多種模型提供商的設定方法
  • 理解了 Failover 策略和設定
  • 學會了按場景動態切換模型
  • 了解了成本最佳化策略和監控方法
  • 掌握了本地模型的設定和使用

更新記錄

  • 2026-02-26:初版發布,基於 OpenClaw v2026.2

系列導航