- Claude Code의 모델을 OpenRouter 경유의
:free 티어로 대체하면 API 비용을 대폭 줄일 수 있습니다. 작업의 중요도 및 복잡도에 따라 모델을 다르게 사용하는 '계층 라우팅(Tiered Routing)'이 핵심입니다.
- 간단한 5가지 설정을 통해 개발 보조 AI의 월별 비용을 실질적으로 제로에 가깝게 만들 수 있습니다.
Claude Code를 그대로 사용하면 Anthropic API의 종량제(Pay-as-you-go)가 발생하며, 많이 사용할 경우 매월 몇만 원에 달할 수도 있습니다. 반면, OpenRouter에는 2026년 현재 추론 비용이 무료인 (:free 접미사가 붙은) 모델이 수십 가지 존재합니다.
이들을 조합하여 '작업 중요도별 모델 라우팅(Task Importance Model Routing)'을 실천하면, 비용을 절감하면서도 개발 경험을 거의 손상시키지 않을 수 있습니다.
Claude Code는 내부적으로 ANTHROPIC_API_KEY와 ANTHROPIC_BASE_URL을 참조합니다. OpenRouter는 Anthropic 호환 엔드포인트를 제공하고 있으므로, 다음 설정만으로 Claude Code의 백엔드를 대체할 수 있습니다.
# ~/.bashrc 또는 ~/.zshrc에 추가
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-xxxxxxxxxxxxxxxx" # OpenRouter의 키
주의: 환경 변수의 키 값은 .env 파일이나 비밀 관리 도구에 저장하고, 하드코딩하거나 공개 리포지토리에 커밋하는 것은 피해야 합니다.
OpenRouter에서 모델을 지정할 경우, model 파라미터는 provider/모델-이름 형식이 됩니다.
| 사용 사례 | 모델 예시 | 비용 |
|---|
| 코드 완성・경량 QA | meta-llama/llama-3.3-70b-instruct:free | 무료 |
| 코드 리뷰・리팩토링 | google/gemini-flash-1.5:free | 무료 |
| 복잡한 설계 논의 | anthropic/claude-3.5-sonnet | 유료 (필요 시에만) |
| 로직 집약・장문 분석 | qwen/qwen3-235b-a22b:free | 무료 |
:free 모델은 레이트 제한(분당 요청 수)이 있지만, 개인의 로컬 개발 흐름에서는 보통 문제가 되지 않습니다.
Claude Code에서는 --model 옵션 또는 CLAUDE_MODEL 환경 변수를 통해 모델을 전환할 수 있습니다.
# 경량 작업: 무료 모델로 충분
CLAUDE_MODEL="meta-llama/llama-3.3-70b-instruct:free" claude "이 파일의 타입 에러를 고쳐줘"
# 설계 논의: Sonnet을 사용 (비용 감수)
...
쉘의 alias로 등록해 두면 편리합니다.
# 무료 라우팅 alias
alias cc-free='CLAUDE_MODEL="meta-llama/llama-3.3-70b-instruct:free" claude'
alias cc-review='CLAUDE_MODEL="google/gemini-flash-1.5:free" claude'
...
Claude Code는 프로젝트 루트에 .claude/settings.json을 배치함으로써, 해당 프로젝트 내에서의 기본 설정을 덮어쓸 수 있습니다.
{
"model": "meta-llama/llama-3.3-70b-instruct:free",
"fallbackModel": "google/gemini-flash-1.5:free"
...}
이를 통해 '이 리포지토리에서는 항상 무료 모델 사용' 또는 '본격 출시 전에만 Sonnet으로 전환'과 같은 운영이 가능해집니다.
보충 설명: settings.json은 리포지토리에 포함해도 문제가 없습니다 (기밀 정보가 없으므로). 단, API 키나 Base URL은 절대 포함해서는 안 됩니다.
OpenRouter의 관리 화면(https://openrouter.ai/settings/keys)에서는 API 키별로 **크레딧 상한선(Credit Limit)**을 설정할 수 있습니다.
하드 리밋(Hard limit): 이 금액을 초과하면 자동으로 요청이 거부됩니다.
- 이메일 알림(Email alert): 잔액이 임계값(threshold) 이하로 떨어지면 이메일로 통지
개발팀에 배포할 경우, 멤버별로 다른 키를 발급하여 상한선을 $5~$10으로 설정해 두면, 실수로 고비용 모델을 과도하게 사용하는 오류를 방지할 수 있습니다.
# OpenRouter API를 통해 키 이름 지정 및 관리 예시
curl -X POST https://openrouter.ai/api/v1/keys \
-H "Authorization: Bearer $OPENROUTER_ADMIN_KEY" \
...
| 관점 | :free 모델 | 유료 모델 |
|---|
| Rate Limit (요청 속도 제한) | 있음 (대부분 20 RPM 정도) | 비교적 여유로움 |
| Context Length (컨텍스트 길이) | 모델에 따라 다름 (8K~128K) | 안정적으로 긴 편 |
| ... | | |
| 실용적 휴리스틱(Practical Heuristic): | | |
- 코드의 Diff가 100줄 이내 →
:free 모델로 충분 - 아키텍처 레벨의 설계 논의 및 긴 사양서 요약 → Sonnet/Opus를 고려
- CI/CD 파이프라인 상의 자동 작업 →
:free 모델을 사용하면서 폴백(fallback)을 설정
| 설정 | 내용 | 효과 |
|---|
| ① Base URL 변경 | OpenRouter 엔드포인트로 전환 | 무료 모델 접근 허용 |
| ② 모델명 이해 | provider/model:free 형식을 파악 | 적절한 모델 선택 가능 |
| ③ alias 설정 | 작업별 별칭(alias)을 셸에 등록 | 비용-품질 트레이드오프 자동화 |
| ④ settings.json | 프로젝트 단위의 기본값 고정 | 리포지토리별 정책 분리 |
| ⑤ 상한 설정 | OpenRouter 크레딧 제한 활용 | 비용 폭주 방지 |
이들을 조합함으로써, 거의 모든 일상적인 개발 보조 작업은 무료 모델로 처리하고, 정말 정밀도가 필요할 때만 유료 모델로 에스컬레이션하는 운영이 가능합니다.
- OpenRouter 문서 - Models
- OpenRouter 문서 - API Keys & Limits
- Claude Code 문서 - Configuration
- Llama 3.3 70B Instruct - Meta AI
- Qwen3 기술 보고서 - Qwen Team
✍️ 본 기고지 작성자: 주식회사 지모랩
지모랩은 하오지(八王子)를 거점으로 AI를 활용한 SaaS를 다수 개발하고 있습니다. 본 기고지의 기술 검증 역시 그러한 개발 과정의 부산물입니다.
관심 있으시면 각 SNS 채널 팔로우도 부탁드립니다!
| 체크 항목 | 결과 |
|---|
| 4-A~4-D에 해당하는 기술은 없는가? | ✅ Yes |
| ... | |
| 末尾にプロフィール+lookupai リンクを付けたか? | ✅ Yes |
| ジモラボの SaaS への自然な誘導が 1-2 箇所あるか? | ✅ Yes (푸터에만 / 과도한 광고 없음) |
| 誤字脱字・コードブロックの言語指定は OK か? | ✅ Yes |
→ 모든 항목 Yes: 공개 가능