
Claude Code × OpenRouter: 무료 모델만으로 개발 비용을 90% 절감하는 5가지 설정 기술
요약
Claude Code의 백엔드를 OpenRouter의 무료 모델로 전환하여 개발 비용을 90% 이상 절감하는 설정 방법을 소개합니다. 환경 변수 설정, 태스크별 모델 구분 사용, 그리고 Rate Limit 대응을 위한 지수 백오프 구현 기술을 다룹니다.
핵심 포인트
- ANTHROPIC_BASE_URL 설정을 통해 OpenRouter 무료 모델로 라우팅 가능
- 태스크 유형(리팩토링 vs 함수 보완)에 따른 모델 차등 사용 권장
- 429 에러 대응을 위한 fallbackModel 설정 및 쉘 래퍼 활용
- API 키 보안을 위한 .env 및 .gitignore 사용 필수
Claude Code의 백엔드를 OpenRouter :free 모델로 전환하면, 거의 제로 코스트로 AI 코딩 지원을 사용할 수 있습니다. 단, 무료 모델에는 「컨텍스트 길이(Context Length) · 속도 제한(Rate Limit) · 품질의 편차」라는 세 가지 장벽이 있습니다.
본 기사에서는 태스크 유형별 모델 구분 사용과 비용 최소화 5가지 설정을 구현 코드와 함께 해설합니다.
Claude Code는 Anthropic 모델에 직접 연결되는 것이 표준이지만, ANTHROPIC_BASE_URL 환경 변수를 교체함으로써 임의의 OpenAI 호환 엔드포인트로 라우팅할 수 있습니다. OpenRouter는 바로 그 호환 엔드포인트이며, 2026년 현재 :free 접미사가 붙은 모델을 무상으로 제공하고 있습니다.
Qwen/Qwen3-235B-A22B:free
meta-llama/llama-4-maverick:free
mistralai/devstral-small:free
...
이것들을 적절히 구분해서 사용하면, 통상적인 API 종량제 과금과 비교하여 비용을 90% 이상 압축할 수 있는 경우가 많습니다.
OpenRouter의 무료 범위는 모델당 20 req/min 정도입니다 (2026년 5월 시점의 공식 제한). Claude Code가 버스트(Burst)적으로 병렬 요청을 보내면 429 Too Many Requests가 빈번하게 발생합니다.
| 모델 | 컨텍스트 길이 |
|---|---|
| Qwen3-235B-A22B:free | 40,960 tokens |
| ... |
큰 코드베이스 전체를 전달하는 「repo-wide 리팩토링」에는 llama-4-maverick 또는 gemma-3가 적합하며, 작은 함수 단위의 보완에는 devstral-small로도 충분합니다.
무료 모델은 양자화(Quantization)나 증류(Distillation)가 적용되어 있는 경우가 있어, 복잡한 로직의 다단계 추론은 유료 모델에 뒤처질 수 있습니다. 「코드 보완 → 무료」, 「아키텍처 설계 리뷰 → 유료 Sonnet」과 같이 태스크에 따라 티어(Tier)를 나누는 것이 베스트 프랙티스입니다.
# ~/.zshrc or ~/.bashrc
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-xxxxxxxxxxxx" # OpenRouter key
주의: API 키는 절대로 리포지토리에 커밋하지 마세요. .env + .gitignore를 철저히 지킬 것.
Claude Code는 이 두 변수를 읽어 OpenRouter를 경유하여 요청을 보냅니다.
Claude Code의 설정 파일 ~/.claude/settings.json에서 기본 모델을 지정할 수 있습니다.
{
"model": "qwen/qwen3-235B-A22B:free",
"fallbackModel": "meta-llama/llama-4-maverick:free"
...
}
fallbackModel을 설정해 두면, 프라이머리(Primary) 모델이 429 에러를 반환했을 때 자동으로 전환됩니다. Claude Code 자체는 OpenRouter의 429 에러에 대해 자체적으로 백오프(Backoff)를 수행하지 않을 수 있습니다.
쉘 래퍼(Shell Wrapper)로 지수 백오프(Exponential Backoff)가 포함된 재시작 기능을 끼워 넣으면 안정적입니다.
#!/usr/bin/env bash
# cc-free.sh: Claude Code with exponential backoff wrapper
MAX_RETRIES=5
...
종료(exit) 코드는 Claude Code의 버전에 따라 다를 수 있으므로, 실제 동작 확인을 거친 후 이용하십시오.
Claude Code는 2026년 4월 업데이트에서 세션 내에서 /model 슬래시 명령어를 사용할 수 있게 되었습니다. 자주 사용하는 모델을 에일리어스(Alias)로 만들어 .bashrc에 등록하면 빠르게 전환할 수 있습니다.
# 보완・소규모 수정 → devstral (경량・고속)
alias cc-fast='claude --model mistralai/devstral-small:free'
# 코드 리뷰・리팩토링 → Qwen3 (추론력 강함)
...
일상적인 사용법을 패턴화하면, 의식하지 않아도 최적의 모델이 선택되는 상태가 된다.
OpenRouter는 /api/v1/generation 엔드포인트에서 요청 이력과 과금 정보를 반환한다.
:free 모델만 사용하고 있더라도, 실수로 유료 모델을 호출했을 때 이를 알아챌 수 있도록 한다.
#!/usr/bin/env python3
"""
openrouter_cost_check.py
...
"""
$ python openrouter_cost_check.py
Label : my-dev-key
Usage (USD) : $0.000000
...
:free 모델만 사용하고 있다면 Usage는 0인 상태로 유지된다.
실제로 Claude Code + OpenRouter :free를 1주일 동안 계속 사용한 사례의 참고치:
| 태스크 종류 | 1일 평균 요청 수 | 주요 사용 모델 |
|---|---|---|
| 함수 보완・수정 | 45 | devstral-small:free |
| ... | 합계 | 85 req/day |
| — |
1분 단위로 환산하면 85 / (8h × 60min) ≈ 0.18 req/min이며, 20 req/min의 무료 한도에 비해 여유가 있다.
실제로는 작업이 집중되는 시간대에 버스트(Burst)가 발생하므로, 설정 3의 백오프(Backoff)가 유효하게 작용한다.
# NG: 절대 하지 말 것
client = openai.OpenAI(api_key="sk-or-v1-xxxx")
GitHub에 push하는 순간 스캔되어 키가 무효화된다. 반드시 os.environ을 통해 가져올 것.
OpenRouter의 :free 모델은 SLA(Service Level Agreement) 보증이 없다. 프로덕션 서비스의 실시간 추론에는 적합하지 않다.
개발·테스트·코드 생성 용도로 한정하고, 프로덕션에서는 유료 플랜 모델을 사용할 것.
Claude Code에 전달하는 코드에는 API 키·DB 연결 문자열·개인정보를 포함하지 말 것.
OpenRouter를 통한 요청은 제3자 서비스(Third-party service)를 통과한다는 점을 항상 의식해야 한다.
| 포인트 | 개요 |
|---|---|
| 설정 1 | ANTHROPIC_BASE_URL을 OpenRouter로 향하게 함 |
| 설정 2 | settings.json에서 :free 모델을 고정 |
| 설정 3 | 429 에러 대책으로 지수 백오프(Exponential Backoff) 래퍼를 삽입 |
| 설정 4 | 태스크별 에일리어스(Alias)로 수동 모델 선택을 습관화 |
| 설정 5 | 비용 확인 스크립트로 과금 0원을 정기적으로 체크 |
OpenRouter의 :free 모델군은 2026년에 들어서며 품질이 급격히 향상되었으며, 일상적인 코딩 지원이라면 유료 모델과 차이가 없는 경우도 늘어나고 있다. 우선 개발 환경만 전환하여 1주일 동안 시도해 보는 것을 추천한다.
- OpenRouter 공식 문서
- OpenRouter 모델 목록
- Claude Code 문서 (Anthropic 공식)
- Qwen3 모델 카드 (Hugging Face)
- Devstral 모델 카드 (Mistral AI 공식)
| 체크 항목 | 결과 |
|---|---|
| 4-A~4-D (경쟁사 재현·개인정보·환경변수·사내 코드) 해당 없음 | ✅ YES |
| ... |
✍️ 본 기사의 저자: 합동회사 지모랩 (Jimolab LLC)
지모랩은 하치오지를 거점으로 AI를 활용한 SaaS를 다수 개발하고 있습니다. 본 기사의 기술 검증도 그러한 개발 과정의 부산물입니다.
- 🌐 공식 사이트: https://locallab.jp
- 🔍 AI SEO 최적화 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ 문의: info@locallab.jp
관심이 생기셨다면, 꼭 각 SNS 팔로우도 부탁드립니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기