
Claude Code 모델 선택──Opus / Sonnet / Haiku를 태스크와 비용에 따라 구분하여 사용하기
요약
Claude Code 사용 시 작업 난이도와 비용 효율을 극대화하기 위한 모델 선택 및 전환 방법을 설명합니다. 실행 플래그, 환경 변수, 세션 커맨드 등 우선순위에 따른 설정 방법과 모델별 특성을 정리했습니다.
핵심 포인트
- 모델 전환 우선순위: --model 플래그 > 환경 변수 > settings.json
- 세션 내 /model 커맨드로 즉시 모델 변경 가능
- 태스크 난이도와 비용(Opus/Sonnet/Haiku)에 따른 전략적 선택 필요
- opusplan을 활용한 하이브리드 방식(계획은 Opus, 실행은 Sonnet) 활용 가능
Claude Code는 기본 설정 그대로 사용할 수 있지만, 태스크의 난이도와 비용에 맞춰 모델을 전환하면 체감 속도와 청구 금액이 크게 달라집니다. 이 기사는 「어디서·어떻게 전환하는가(조작)」와 「무엇을 기준으로 선택하는가(판단)」를 Claude Code의 실제 설정에 적용하여 정리합니다.
요점 먼저: 전환 수단은 4가지가 있으며 우선순위가 정해져 있다는 점, opusplan이라는 “계획은 Opus·실행은 Sonnet” 방식의 하이브리드가 있다는 점, /fast (/fast mode)는 모델을 바꾸는 기능이 아니라는 점. 이 부분을 파악하면 혼란이 사라집니다.
결론: 우선 「전환 수단의 우선순위」를 머릿속에 넣어두기
Claude Code의 모델은 다음 4곳에서 지정할 수 있습니다. **위에 있는 것일수록 우선순위가 높다(강하다)**는 것이 포인트입니다.
1. 실행 시 플래그 claude --model opus
2. 환경 변수 ANTHROPIC_MODEL=claude-sonnet-5
3. 세션 내 커맨드 /model (그 자리에서 전환)
...
「평소에는 Sonnet, 이 프로젝트만 Opus」를 환경 변수나 --model로 덮어쓰고, 영구적인 기본값은 settings.json에 두는—식의 계층 구조를 만들 수 있습니다. 순서대로 살펴보겠습니다.
1. /model: 세션 내에서 그 자리에서 전환하기
- 대화 중에
/model을 입력하면 모델 선택 메뉴가 나타납니다. 선택할 수 있는 값은 용도별 에일리어스(Alias)와 전체 모델 ID입니다.
default … Claude Code의 기본값
opus … 최상위 추론 능력 (예: claude-opus-4-8)
sonnet … 코딩/에이전트 작업의 주력 (예: claude-sonnet-5)
...
선택 시 동작은 "Enter=이후의 기본값으로 저장", "s=현재 세션에서만 전환"입니다. 테스트로 올리고 싶을 때는 s, 영구적으로 바꾸고 싶을 때는 Enter를 사용하여 구분합니다.
2. settings.json의 model
- 영구 설정: 항상 같은 모델로 시작하고 싶다면 설정 파일에 작성합니다. 프로젝트 단위라면
.claude/settings.json입니다.
{
"model": "sonnet"
}
값은 에일리어스(opus / sonnet / haiku / default / opusplan 등)나 전체 ID 모두 가능합니다. 긴 컨텍스트를 사용하고 싶을 때는 opus[1m] / sonnet[1m]와 같이 1M 컨텍스트 지정 접미사(Suffix)도 사용할 수 있습니다.
{
"model": "sonnet[1m]"
}
3. ANTHROPIC_MODEL과 --model
- 일시적 덮어쓰기: 「이번 실행만 다른 모델로」는 환경 변수나 실행 플래그로 수행합니다. 설정 파일보다 우선순위가 높으므로, 기본 설정을 더럽히지 않고 덮어쓸 수 있습니다.
# 이번 한 번만 Opus로 실행
$ claude --model opus
# 셸 세션 중에는 Sonnet 5로 고정
...
우선순위를 다시 정리하면 --model (최우선) → ANTHROPIC_MODEL → settings.json입니다. CI나 스크립트에서는 환경 변수를, 로컬에서의 단발성 실행은 --model을 사용하는 것이 편리합니다.
4. 구분 기준: 태스크 × 비용
이 부분이 본론입니다. 3가지 계통의 성격을 특기 분야와 상대적 비용으로 나열합니다. 단가는 2026년 시점의 기준으로, 비율 감각(입력 기준 대략 Opus : Sonnet : Haiku = 5 : 3 : 1)을 잡는 것이 목적입니다.
| 계통 | 에일리어스 | 적합한 태스크 | 컨텍스트 | 입력/출력 단가 (1M 토큰, 기준) |
|---|---|---|---|---|
| Opus | opus | 어려운 설계 판단·장시간의 자율 작업·복잡한 디버깅 | 1M | $5 / $25 |
| Sonnet | sonnet | 일상적인 코딩·에이전트 작업의 주력 | 1M | $3 / $15 |
| Haiku | haiku | 단순/정형 작업·분류·서브 에이전트의 하청 | 200K | $1 / $5 |
판단 기준은 심플합니다.
- Opus: 한 번에 실패하고 싶지 않은 설계 변경, 원인을 알 수 없는 버그, 긴 자율 실행. 단가는 높지만 재작업(rework)을 줄일 수 있는 상황에서 효과적
- Sonnet: 일상적인 구현, 리팩터링 (Refactoring), 테스트 작성. 품질과 속도의 균형이 좋아 기본 주력 모델로 적합
- Haiku: 정형화된 분류, 요약, 포맷팅, 그리고 서브 에이전트의 하청. 빠르고 저렴함
opusplan
: 계획은 Opus, 실행은 Sonnet
- "설계는 똑똑하게, 구현은 싸고 빠르게"를 하나의 에일리어스(Alias)로 만든 것이
opusplan입니다. 플랜 모드(Plan mode) 중에는 Opus로 생각하고, 실행 페이즈(Execution phase)에 들어가면 자동으로 Sonnet으로 전환됩니다.
{
"model": "opusplan"
}
범용적인 "알아서 전환"이 아니라, 계획 ↔ 실행의 경계점에서 모델이 전환되는 명확한 구분입니다. "난도가 높은 설계는 Opus에 맡기고 싶지만, 실제로 손을 움직이는 부분까지 Opus 단가를 지불하고 싶지는 않을 때"의 기본 설정으로 딱 맞습니다.
/fast
(fast mode)는 모델 변경이 아님
- 흔히 하는 오해를 정리합니다.
/fast로 진입하는 fast mode는 Opus를 더 빠르게 구동하는 설정이지, 다른 모델로의 전환이 아닙니다.
- Opus 전용 (Sonnet / Haiku 등에서는 사용할 수 없음) - 동일한 Opus를 고속으로 구동하는 대신, 토큰 단가는 더 비쌈 - "속도를 원한다" = "저렴한 모델로 바꾼다"가 아니라는 점에 주의
비용을 낮추고 싶다면 Sonnet / Haiku로 전환하고, Opus를 유지하면서 속도를 높이고 싶다면 fast mode를 사용하는 식으로 목적에 따라 구분해서 사용합니다.
model: inherit
- 서브 에이전트의 비용 설계:
.claude/agents/*.md에서 정의하는 서브 에이전트는 frontmatter를 통해 자신의 모델을 가질 수 있습니다. 기본값은inherit(부모 = 메인 대화와 동일한 모델)입니다.
---
name: log-scanner
description: 로그를 스캔하여 해당 행을 추출하는 하청 작업
...
메인을 Opus/Sonnet으로 두면서, 단순한 스캔·추출 하청은 Haiku로 내리면 지능이 필요한 부분에만 높은 모델을 사용할 수 있습니다. 이 부분은 model: inherit 상태로 방치하기 쉽지만, 하청 작업을 명시적으로 저렴한 모델로 배정하면 효과적입니다.
8. 비용 체감: 단가로 산출하고, 캐시로 낮아짐
표의 단가를 바탕으로 실제 한 번의 왕복(Round-trip) 비용을 산출해 보겠습니다. 이는 어디까지나 공표된 단가에 기반한 산술적 (가정된 예시) 이며, 벤치마크는 아닙니다.
Opus : 0.2M×$5 + 0.02M×$25 = $1.00 + $0.50 = $1.50
Sonnet : 0.2M×$3 + 0.02M×$15 = $0.60 + $0.30 = $0.90
Haiku : 0.2M×$1 + 0.02M×$5 = $0.20 + $0.10 = $0.30
동일한 작업이라도 Opus와 Haiku는 단가 기준으로 약 5배 차이가 납니다. 하지만 실제 효용 비용은 이보다 더 낮아집니다. Claude Code는 프롬프트 캐싱 (Prompt Caching)을 활용하기 때문에, 반복해서 전송되는 전제 조건(시스템 프롬프트나 파일 컨텍스트)은 캐시 읽기를 통해 대략 1/10 수준의 단가가 됩니다. 즉, 표의 단가는 "상한선 기준"이며, 대화가 길어질수록 실제 단가는 그보다 낮아집니다.
요약
-
전환 수단은 4가지, 우선순위는:
--model>ANTHROPIC_MODEL>/model>settings.json -
기준은 태스크의 난이도에 단가를 맞추는 것:
난도 높음 = Opus / 일상적 = Sonnet / 정형화·하청 = Haiku -
opusplan은 계획 = Opus · 실행 = Sonnet의 하이브리드. 설계만 똑똑하게 하고 싶을 때 적합 -
/fast는 모델 변경이 아님 (Opus를 빠르게 구동하지만 단가는 더 비쌈). 비용을 낮추려면 저렴한 모델로 전환 -
서브 에이전트는
model: inherit설정을 재검토하여 하청 작업을 Haiku로 내리면 효과적 -
단가, 컨텍스트 길이, 제공 모델은 업데이트될 수 있음. 수치는 가이드일 뿐이므로 최신 정보는 공식 문서에서 확인하세요.
도움이 되었다면 ❤️와 Zenn 팔로우로 응원해 주세요. 다음 운영 팁을 작성하는 데 큰 힘이 됩니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기