Wróć

05. OpenClaw — konfiguracja i przełączanie wielu modeli

Szczegółowy opis konfiguracji wielu modeli w OpenClaw, w tym metody podłączenia Anthropic Claude, OpenAI GPT, modeli lokalnych i innych, strategia Failover oraz konfiguracja automatycznego przełączania modeli wg scenariusza, pomagająca programistom optymalizować koszty i wydajność.

Dotyczy OpenClaw v2026.2 | Artykuł zakłada ukończenie podstawowej konfiguracji i potrzebę optymalizacji wyboru modelu lub kontroli kosztów.

TL;DR: OpenClaw obsługuje wiele modeli: Claude Opus/Sonnet/Haiku, GPT-4o, Gemini, modele lokalne (Ollama). Konfiguracja "agent": {"model": "anthropic/claude-opus-4-6"} — przełączenie gotowe. Failover automatycznie przełącza na model zapasowy: "fallback": [{"model": "claude-sonnet-4", "condition": "rate_limit"}]. Zalecane: Claude Opus do złożonych zadań, Haiku do prostych wysokoczęstotliwościowych.

Obsługiwani dostawcy modeli

Przegląd dostawców

Dostawca Zalecany model Cechy Ceny orientacyjne
Anthropic Claude Opus 4.6 / Sonnet 4 Długi kontekst, silne wnioskowanie, odporność na injection 15-75$/1M tokenów
OpenAI GPT-4o / GPT-4-turbo Rozbudowany ekosystem, silne wywoływanie narzędzi 5-30$/1M tokenów
Google Gemini Pro / Ultra Multimodalność, długi kontekst 1-7$/1M tokenów
Groq Llama 3 / Mixtral Ekstremalnie szybkie wnioskowanie Darmowe/tanie
Lokalny Ollama / LM Studio Prywatność, bez ograniczeń Darmowe (wymaga sprzętu)

Porównanie zdolności modeli

Model Długość kontekstu Wywoływanie narzędzi Multimodalność Wnioskowanie Koszt
Claude Opus 4.6 200K ⭐⭐⭐⭐⭐ Wysoki
Claude Sonnet 4 200K ⭐⭐⭐⭐ Średni
GPT-4o 128K ⭐⭐⭐⭐ Średni
GPT-4-turbo 128K ⚠️ ⭐⭐⭐⭐ Średni-wysoki
Gemini Pro 1M ⭐⭐⭐ Niski
Llama 3.1 70B 128K ⚠️ ⚠️ ⭐⭐⭐ Darmowy

Podstawowa konfiguracja modelu

Anthropic Claude

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

Wskazówki dotyczące wyboru modelu Claude:

Scenariusz Zalecany model Powód
Złożone wnioskowanie, generowanie kodu Opus 4.6 Najsilniejsze wnioskowanie
Codzienna rozmowa, proste zadania Sonnet 4 Dobry stosunek jakości do ceny
Częste wywołania, wrażliwość na koszty Haiku 3.5 Szybki, tani

OpenAI GPT

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

Wskazówki dotyczące wyboru modelu GPT:

Scenariusz Zalecany model Powód
Ogólne zadania, wywoływanie narzędzi GPT-4o Równowaga wydajności i kosztów
Złożone wnioskowanie GPT-4-turbo Silne wnioskowanie
Szybka odpowiedź, proste zadania GPT-4o-mini Szybki, tani

Google Gemini

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

Model lokalny (Ollama)

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

Instalacja i uruchomienie Ollama:

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

# Pobranie modelu
ollama pull llama3.1:70b
ollama pull codellama:34b

# Uruchomienie usługi
ollama serve

Zewnętrzny proxy API

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

Opis formatów modeli

Format identyfikatora modelu

{provider}/{model-name}
Przykład Opis
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

Własne aliasy modeli

{
  "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"
  }
}

Użycie aliasów:

# Przełączenie w czacie
/model fast

# Lub użycie pełnej nazwy
/model anthropic/claude-sonnet-4

Strategia Failover

Czym jest Failover?

Gdy model główny jest niedostępny (np. limit szybkości, przerwa w usłudze), automatyczne przełączenie na model zapasowy.

flowchart TB
    REQ[Żądanie] --> PRIMARY{Model główny dostępny?}
    PRIMARY -->|Tak| EXEC1[Użyj modelu głównego]
    PRIMARY -->|Nie| CHECK{Warunek Failover}
    CHECK -->|Limit szybkości| SECONDARY1[Model zapasowy 1]
    CHECK -->|Przerwa w usłudze| SECONDARY2[Model zapasowy 2]
    CHECK -->|Timeout| SECONDARY3[Model zapasowy 3]
    SECONDARY1 --> EXEC2[Wykonaj żądanie]
    SECONDARY2 --> EXEC2
    SECONDARY3 --> EXEC2
    EXEC1 --> RES[Zwróć wynik]
    EXEC2 --> RES

Konfiguracja 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"
      }
    ]
  }
}

Warunki Failover

Warunek Opis Scenariusz
rate_limit Limit szybkości API zwraca błąd 429
error Dowolny błąd Usługa niedostępna, błąd sieci
timeout Timeout żądania Zbyt długi czas odpowiedzi
overloaded Przeciążenie usługi API zwraca błąd 503
always Zawsze używaj Prosta strategia rotacyjna

Zaawansowana konfiguracja 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
    }
  }
}

Przełączanie modeli wg scenariusza

Przełączanie wg typu sesji

Różne typy sesji używają różnych modeli:

{
  "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"
      }
    }
  }
}

Przełączanie wg typu zadania

{
  "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"
    }
  }
}

Dynamiczny wybór modelu

Przełączanie modelu w czasie wykonania:

# Przełączenie z CLI
openclaw agent --model anthropic/claude-opus-4-6 --message "Złożone zadanie"

# Przełączenie w czacie
/model anthropic/claude-opus-4-6
Teraz używam Claude Opus 4.6, idealny do złożonego wnioskowania

/model anthropic/claude-haiku-3.5
Przełączam na Haiku 3.5, szybka odpowiedź na proste zadania

Strategia optymalizacji kosztów

Porównanie kosztów modeli

Model Koszt wejścia Koszt wyjścia Scenariusz
Claude Opus 4.6 15$/1M 75$/1M Złożone wnioskowanie, ważne decyzje
Claude Sonnet 4 3$/1M 15$/1M Codzienne zadania, zrównoważony wybór
Claude Haiku 3.5 0,80$/1M 4$/1M Proste zadania, częste wywołania
GPT-4o 5$/1M 15$/1M Wywoływanie narzędzi, multimodalność
GPT-4o-mini 0,15$/1M 0,6$/1M Szybka odpowiedź, proste zadania
Gemini Flash 0,075$/1M 0,3$/1M Wrażliwość na koszty, częste wywołania

Konfiguracja optymalizacji kosztów

{
  "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"
          }
        ]
      }
    }
  }
}

Monitorowanie zużycia tokenów

# Sprawdzenie zużycia bieżącej sesji
/status

# Przykładowy wynik:
# Session: main
# Model: anthropic/claude-opus-4-6
# Tokens: 12,345 input / 2,456 output
# Cost: $0.21

# Włączenie wyświetlania zużycia
/usage full

Konfiguracja wyświetlania zużycia

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

Konfiguracja poziomu myślenia

Opis Thinking Level

Poziom Opis Zużycie tokenów Scenariusz
off Bez myślenia Najniższe Proste zadania
minimal Minimalne myślenie Niskie Szybka odpowiedź
low Niskie myślenie Średnio-niskie Codzienna rozmowa
medium Średnie myślenie Średnie Zrównoważony wybór
high Głębokie myślenie Wysokie Złożone wnioskowanie
xhigh Najgłębsze myślenie Najwyższe Najtrudniejsze zadania

Konfiguracja poziomu myślenia

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

Dynamiczne przełączanie

# Przełączenie w czacie
/think high
Teraz tryb głębokiego myślenia, idealny do złożonego wnioskowania

/think minimal
Przełączenie na minimalne myślenie, szybka odpowiedź

Szczegóły konfiguracji modeli lokalnych

Konfiguracja Ollama

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

Zalecane modele lokalne

Model Parametry Wymagana pamięć Cechy
Llama 3.1 8B 8B 8GB Lekki, szybki
Llama 3.1 70B 70B 48GB Silne wnioskowanie
CodeLlama 34B 34B 24GB Specjalizowany w kodzie
Qwen 2.5 72B 72B 48GB Wielojęzyczny
Mistral Large 123B 80GB Najsilniejszy open source

Zalecenia sprzętowe

Skala modelu CPU GPU RAM
7B-8B 8+ rdzeni 8GB VRAM 16GB
13B-14B 12+ rdzeni 16GB VRAM 32GB
30B-34B 16+ rdzeni 24GB VRAM 48GB
70B+ 32+ rdzeni 48GB+ VRAM 128GB

Równoważenie obciążenia wielu dostawców

Strategia rotacyjna

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

Strategia ważona

{
  "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
        }
      ]
    }
  }
}

Strategia oparta na kosztach

{
  "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"]
        }
      ]
    }
  }
}

Najlepsze praktyki konfiguracji modeli

1. Warstwowanie wg scenariuszy

{
  "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. Rozsądny budżet

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

3. Monitorowanie i analiza

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

4. Testowanie i weryfikacja

# Test połączenia z modelem
openclaw doctor --check models

# Test konkretnego modelu
openclaw agent --model anthropic/claude-opus-4-6 --message "Wiadomość testowa"

# Porównanie odpowiedzi modeli
openclaw benchmark --models "anthropic/claude-opus-4-6,openai/gpt-4o" --prompt "Złożone pytanie"

Rozwiązywanie problemów

Niepowodzenie połączenia z modelem

# Sprawdzenie klucza API
openclaw config get models.anthropic.apiKey

# Test połączenia
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"}]}'

# Sprawdzenie sieci
ping api.anthropic.com

Limit szybkości

# Sprawdzenie zużycia
openclaw usage --today

# Przykładowy wynik:
# Date: 2026-02-26
# Total tokens: 123,456
# Cost: $1.23
# Requests: 89

# Konfiguracja obsługi limitu szybkości
openclaw config set models.anthropic.rateLimitHandling auto_retry

Problemy z modelem lokalnym

# Sprawdzenie usługi Ollama
curl http://localhost:11434/api/tags

# Sprawdzenie, czy model jest załadowany
ollama list

# Ręczne załadowanie modelu
ollama run llama3.1:70b

# Sprawdzenie użycia GPU
nvidia-smi

Podsumowanie

Konfiguracja wielu modeli to jedna z potężnych funkcji OpenClaw:

  • Elastyczne przełączanie: wybierz odpowiedni model do zadania
  • Ochrona Failover: automatyczna obsługa niedostępności modelu
  • Optymalizacja kosztów: rozsądna alokacja budżetu
  • Wsparcie lokalne: modele lokalne dla scenariuszy wrażliwych na prywatność

Dzięki rozsądnej konfiguracji modeli znajdziesz optymalny balans między wydajnością, kosztami i prywatnością.


Podsumowanie artykułu:

  • Poznałeś metody konfiguracji wielu dostawców modeli
  • Zrozumiałeś strategię i konfigurację Failover
  • Nauczyłeś się dynamicznie przełączać modele wg scenariusza
  • Poznałeś strategie optymalizacji kosztów i monitorowania
  • Opanowałeś konfigurację i używanie modeli lokalnych

Historia zmian:

  • 2026-02-26: Pierwsza wersja, na podstawie OpenClaw v2026.2

Nawigacja po serii: