뒤로가기

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 기준

시리즈 네비게이션: