多模型架构概述
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并配合本地模型降低开销