테마 전환

API 요금 걱정 끝내기: 모델 라우팅으로 OpenClaw 비용을 80% 절감하는 방법

Easton editorial illustration: multi-agent workbench

지난달 Anthropic 청구서를 받아 보니 금액이 예상보다 세 배나 많은 $340이었습니다. OpenClaw 어시스턴트로 한 일이라고는 이메일 답장, 메모 정리, 가끔 짧은 코드 작성 같은 일상적인 작업뿐이었는데, 어떻게 이렇게 많은 비용이 나왔을까요?

로그를 살펴보고서야 원인을 발견했습니다. 기본 설정에서는 모든 요청이 가장 비싼 Claude Opus 4.6을 거칩니다. 하트비트 검사든, 간단한 질의든, 파일 작업이든 구분이 없었습니다. 서브 에이전트가 병렬로 작업할 때는 각 에이전트가 모두 비용을 발생시키고 있었습니다.

이후 주말 내내 OpenClaw의 모델 라우팅 기능을 연구했습니다. 알고 보니 지능형 계층화를 통해 간단한 작업은 저렴한 모델에 맡기고, 정말 깊이 있는 사고가 필요한 작업만 고가 모델에 넘길 수 있었습니다. 한 달 뒤 청구액은 $68로 줄었습니다.

저비용 ‘새우 키우기’ 가이드: ArkClaw로 AI Agent를 누구나 부담 없이 사용하기

요즘 인기 있는 OpenClaw(바닷가재)는 유용하지만 설정이 너무 까다롭지 않나요? ByteDance Volcano Engine이 내놓은 ArkClaw는 진입 장벽을 크게 낮췄습니다. 서버나 Token 설정과 씨름할 필요 없이 한 번의 클릭으로 24시간 온라인 상태를 유지하며 브라우저를 제어하고, 스크립트를 실행하고, 캘린더를 관리하는 ‘AI 일꾼’을 가질 수 있습니다.

무엇보다 실제로 저렴합니다. 월 요금이 9.9위안에 불과하며, 제 초대 코드 ZLKUK54M을 사용해 여기에서 가입하면 8.9위안이면 됩니다. 프로그래머라면 Coding Plan Pro에 가입해 무료로 이용할 수도 있습니다.

OpenClaw의 비용 블랙홀 이해하기

기본 설정은 왜 이렇게 비쌀까요?

먼저 놀라운 숫자부터 살펴보겠습니다.

모델입력 가격 ($/MTok)출력 가격 ($/MTok)적합한 용도
Claude Opus 4.6$5.00$25.00복잡한 추론, 긴 문서 분석
Claude Sonnet 4.5$0.80$4.00일반 작업, 코드 생성
Claude Haiku 3.5$0.25$1.25간단한 질의, 빠른 응답
Llama 3 (로컬)$0$0하트비트, 파일 작업, 기본 질의응답

MTok = Million Tokens, 즉 100만 토큰

간단히 계산해 보겠습니다. 하루에 메시지 100개를 보내고 메시지당 평균 500 tokens를 사용한다고 가정합니다.

전부 Opus를 사용하면 100 × 500 × $5 / 1,000,000 = 하루 $0.25, 즉 월 $7.5입니다.

그 정도면 괜찮아 보이나요?

문제는 이 계산이 지나치게 단순하다는 점입니다. OpenClaw의 시스템 프롬프트만 2k4k tokens를 차지하고 여기에 도구 호출과 재시도 메커니즘까지 더해집니다. 실제 사용량은 단순 계산의 35배입니다.

숨어 있는 비용 함정

함정 1: 하트비트 요청(Heartbeat)

30초마다 한 번씩 하트비트를 검사하면 하루 2,880회에 달합니다. 실질적인 내용이 없는 하트비트라도 매번 전체 시스템 프롬프트를 포함해야 합니다.

그야말로 순수한 ‘토큰 세금’입니다.

함정 2: 서브 에이전트(Sub-agents)

병렬 작업을 할 때 각 서브 에이전트는 모두 메인 모델을 사용합니다. ‘캘린더를 확인해 줘’ 같은 간단한 작업도 Opus로 처리한다고 생각하면 비용이 아깝지 않을 수 없습니다.

함정 3: 재시도 메커니즘

네트워크가 불안정할 때 자동으로 재시도하면, 실패한 요청에도 이미 token이 사용되지만 결과는 반환되지 않습니다. 돈은 썼는데 일은 끝나지 않은 셈입니다.

3단계 모델 라우팅 전략

핵심 개념: 작업 계층화

모든 요청에 가장 비싼 모델을 사용할 필요는 없습니다.

다음과 같은 3단계 체계를 구축합니다.

┌──────────────────────────────────────────────────┐
│  Layer 1: 로컬 모델(Llama 3 / Qwen 등)          │
│  → 하트비트, 파일 작업, 간단한 질의응답, 상태 검사 │
│  → 비용: $0                                      │
├──────────────────────────────────────────────────┤
│  Layer 2: 경량 클라우드(Claude Haiku / GPT-4o-mini)│
│  → 일상 대화, 이메일 초안, 간단한 코드             │
│  → 비용: $0.25/MTok                              │
├──────────────────────────────────────────────────┤
│  Layer 3: 고성능 모델(Claude Opus / GPT-4o)      │
│  → 복잡한 아키텍처 설계, 심층 분석, 창의적인 글쓰기 │
│  → 비용: $5/MTok(사용량은 매우 적음)              │
└──────────────────────────────────────────────────┘

한마디로 적합한 모델에 적합한 일을 맡기는 것입니다.

설정 실습: OpenClaw + Ollama 로컬 모델

Step 1: Ollama 설치 및 실행

# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows에서 설치 패키지를 다운로드한 후
ollama serve

# 적합한 모델 가져오기
ollama pull llama3.2:latest      # 가벼워서 간단한 작업에 적합
ollama pull qwen2.5:14b          # 더 강력하며 도구 호출 지원

Step 2: 로컬 모델을 사용하도록 OpenClaw 설정

~/.openclaw/openclaw.json을 편집합니다.

{
  "models": {
    "defaults": {
      "model": "ollama/qwen2.5:14b",
      "fallbacks": [
        "anthropic/claude-sonnet-4-5",
        "anthropic/claude-opus-4-6"
      ]
    },
    "providers": {
      "ollama": {
        "type": "openai-compatible",
        "baseUrl": "http://127.0.0.1:11434/v1",
        "apiKey": "ollama"
      }
    }
  }
}

몇 가지 핵심 사항은 다음과 같습니다.

  • baseUrl: Ollama는 기본적으로 11434 포트에서 실행됩니다.
  • context window: OpenClaw에는 최소 64k의 컨텍스트가 필요하므로 모델을 선택할 때 확인해야 합니다.
  • tool calling: 모든 로컬 모델이 지원하는 것은 아닙니다. qwen2.5 또는 mistral-nemo를 권장합니다.

고급 라우팅: 작업 유형에 따른 지능형 할당

OpenRouter Auto Model 사용:

{
  "models": {
    "defaults": {
      "model": "openrouter/openrouter/auto",
      "fallbacks": [
        "anthropic/claude-sonnet-4-5"
      ]
    }
  }
}

OpenRouter의 Auto 모드는 prompt의 복잡도에 따라 적합하면서 가장 저렴한 모델을 자동으로 선택합니다. 설정이 간편합니다.

사용자 지정 라우팅 규칙(iblai-openclaw-router):

더 세밀하게 제어하려면 오픈 소스 iblai-openclaw-router를 사용할 수 있습니다.

{
  "routing": {
    "enabled": true,
    "tiers": {
      "free": {
        "models": ["ollama/llama3.2"],
        "keywords": ["heartbeat", "status", "ping", "check"]
      },
      "cheap": {
        "models": ["anthropic/claude-haiku-3-5"],
        "maxCostPerRequest": 0.001
      },
      "standard": {
        "models": ["anthropic/claude-sonnet-4-5"]
      },
      "premium": {
        "models": ["anthropic/claude-opus-4-6"],
        "keywords": ["architect", "design", "analyze deeply", "complex"]
      }
    }
  }
}

실제 사례: 한 달 비용 비교

최적화 전 청구 내역

한 개발자의 일반적인 월간 사용량입니다(커뮤니티의 실제 데이터).

용도요청 횟수추정 Token모델비용
일상 대화800400kOpus 4.6$10.00
코드 지원200600kOpus 4.6$18.00
하트비트 검사86,400172MOpus 4.6$860.00
파일 작업15075kOpus 4.6$1.88
서브 에이전트 작업300450kOpus 4.6$13.50
합계$903.38

하트비트 검사 비용이 보이시나요? $860입니다. 이것이 가장 큰 원인입니다.

최적화 후 청구 내역

3단계 라우팅을 적용한 결과입니다.

용도요청 횟수추정 Token모델비용
일상 대화800400kSonnet 4.5$1.60
코드 지원200600kOpus 4.6$18.00
하트비트 검사86,400172MLlama 3 (로컬)$0
파일 작업15075kLlama 3 (로컬)$0
서브 에이전트 작업300450kSonnet 4.5$1.80
합계$21.40
97.6%
절감률

물론 이는 다소 극단적인 사례입니다. 이 사용자는 하트비트의 비중이 지나치게 높았습니다. 실제 절감률은 사용 상황에 따라 일반적으로 70~80%입니다.

사용 상황별 예상 절감액

사용 상황기존 월평균 비용최적화 후절감률
가벼운 사용자(<하루 100개 메시지)$50-80$15-2570%
일반 사용자(하루 100~500개 메시지)$200-400$50-10075%
사용량이 많은 사용자(>하루 500개 메시지 + 서브 에이전트)$500-1000$100-25080%

문제 해결 가이드: 자주 발생하는 문제와 해결 방법

로컬 모델이 응답하지 않거나 오류가 발생할 때

증상:

Error: Connection refused
또는 모델이 빈 내용을 반환함

확인 절차:

  1. Ollama가 실행 중인지 확인: ollama list
  2. 포트가 올바른지 확인: curl http://127.0.0.1:11434/api/tags
  3. 모델이 다운로드되었는지 확인: ollama pull qwen2.5:14b
  4. 컨텍스트 창 확대: 일부 모델의 기본값은 4k이지만 OpenClaw에는 64k 이상이 필요합니다.

가격 대비 성능이 뛰어난 권장 조합:

ollama pull qwen2.5:14b-instruct    # 도구 호출 지원, 중국어에 적합
ollama pull mistral-nemo:latest     # 균형 잡힌 성능
ollama pull glm-4.7-flash           # 가볍고 빠름

도구 호출에 실패할 때

원인: 모든 로컬 모델이 function calling을 지원하는 것은 아닙니다.

해결 방법:

  • tool use 지원이 명시된 모델(예: qwen2.5, mistral-nemo)을 사용합니다.
  • 설정에서 특정 모델의 도구 호출을 비활성화합니다.
{
  "models": {
    "ollama/llama3.2": {
      "supportsTools": false
    }
  }
}

Fallback 체인 설정 오류

흔한 잘못된 설정:

// 잘못된 설정: Anthropic이 속도 제한에 걸리면 Sonnet과 Opus를 모두 사용하지 못할 수 있음
"fallbacks": [
  "anthropic/claude-sonnet-4-5",
  "anthropic/claude-opus-4-6"
]

// 올바른 설정: 공급자를 교차한 fallback
"fallbacks": [
  "anthropic/claude-sonnet-4-5",
  "openai/gpt-4o",
  "google/gemini-pro"
]

품질이 떨어지면 어떻게 해야 할까요?

로컬 모델로 처리하기 어려운 작업이 있다면 다음과 같이 대응합니다.

  1. 단계적으로 업그레이드: 로컬 → Haiku → Sonnet → Opus
  2. 키워드로 전환: prompt에 작업 복잡도를 명확하게 표시합니다.
  3. 사람이 검토: 중요한 작업은 확인을 거친 후 실행하도록 설정할 수 있습니다.

요약 및 실행 체크리스트

핵심은 다음과 같습니다.

  1. 비용의 대부분은 큰 작업이 아니라 하트비트와 간단한 질의에서 발생합니다.
  2. 일상적인 작업은 로컬 모델로 충분히 처리할 수 있습니다. Opus 할당량을 낭비하지 마세요.
  3. Fallback 체인은 여러 공급자를 조합해야 합니다. 단일 장애점을 피할 수 있습니다.
  4. 작게 시작하세요. 하트비트부터 로컬 모델로 옮겨도 눈에 띄는 비용 절감을 확인할 수 있습니다.

이번 주에 바로 할 수 있는 3가지

  • Ollama를 설치하고 경량 모델 하나를 가져옵니다(llama3.2 또는 qwen2.5:7b).
  • ~/.openclaw/openclaw.json을 수정해 기본 모델이 로컬 모델을 가리키도록 합니다.
  • 일주일 동안 청구 금액 변화를 관찰하고 라우팅 전략을 미세 조정합니다.

더 깊이 살펴보기

  • iblai-openclaw-router로 지능형 작업 계층화를 구현해 봅니다.
  • Prompt Caching을 결합해 반복 호출 비용을 더 낮춥니다.
  • 각 모델의 성공률과 응답 시간을 모니터링하며 설정을 지속적으로 최적화합니다.

OpenClaw 청구액을 최적화해 본 적이 있나요? 어떤 전략을 사용하셨나요? 경험이나 설정 과정에서 겪은 문제를 댓글로 공유해 주세요. 가능한 한 답변해 드리겠습니다.

FAQ

OpenClaw 모델 라우팅을 설정하면 응답 품질이 떨어지나요?
합리적으로 설정하면 품질에 영향을 주지 않습니다. 핵심은 작업 복잡도에 따라 계층을 나누는 것입니다. 하트비트와 파일 작업 같은 간단한 작업에는 로컬 모델로 충분하며, 복잡한 추론과 창의적인 글쓰기에만 Claude Opus가 필요합니다. 간단한 작업부터 옮기며 점진적으로 신뢰를 쌓는 방식을 권합니다.
로컬 모델에는 어느 정도의 하드웨어가 필요한가요?
경량 작업용 모델(llama3.2, qwen2.5:7b)은 메모리 8GB로도 원활히 실행할 수 있습니다. 14b 매개변수 모델에는 메모리 16GB를 권장하며, 32b 이상 모델을 실행하려면 외장 그래픽카드를 갖추는 편이 좋습니다. 단순 하트비트 검사라면 3b급 초경량 모델로도 충분합니다.
Fallback 체인의 순서는 어떻게 정해야 하나요?
비용과 성능의 균형에 따라 로컬 모델 → 경량 클라우드(Haiku) → 표준 클라우드(Sonnet/GPT-4o) → 고성능 모델(Opus) 순으로 구성하는 것을 권합니다. Anthropic이 속도 제한에 걸렸을 때 전체 체인이 실패하지 않도록 여러 공급자를 조합하는 것도 중요합니다.
최적화하면 보통 비용을 얼마나 절감할 수 있나요?
사용 상황에 따라 대체로 70~80%를 절감할 수 있습니다. 가벼운 사용자(&lt;하루 100개 메시지)는 월 $50~80에서 $15~25로, 사용량이 많은 사용자(&gt;하루 500개 메시지)는 $500~1000에서 $100~250로 낮출 수 있습니다. 하트비트의 비중이 높을수록 절감 효과가 커집니다.

2분 읽기 · 게시일: 2026년 2월 26일 · 수정일: 2026년 9월 4일

댓글

GitHub로 로그인하여 댓글을 남기세요

Easton BlogEaston Blog