Claude Code 실전 (5): 모델 믹스 전략

Claude Code 실전 (5): 모델 믹스 전략
테스트는 Haiku로, 리팩토링은 Sonnet으로, 아키텍처는 Opus로. 작업별 최적 모델을 선택해 비용과 품질을 모두 잡는 법.
TL;DR
- Haiku: 빠르고 저렴함 → 테스트, 단순 수정, 코드 검색
- Sonnet: 균형 잡힘 → 일반 개발, 리팩토링, 디버깅
- Opus: 최고 성능 → 아키텍처 설계, 복잡한 문제 해결
- 전략: 작업 복잡도에 따라 모델을 동적으로 전환
1. 왜 모델 믹스인가?
단일 모델의 문제
모든 작업에 Opus를 사용하면:
- 비용 10배 증가
- 간단한 작업에 과도한 지연
- 대부분의 작업에 불필요한 성능
모든 작업에 Haiku를 사용하면:
- 복잡한 작업에서 품질 저하
- 아키텍처 결정에서 실수
- 반복 수정으로 오히려 시간 증가
최적의 전략
작업 복잡도에 따라 모델을 선택합니다:
낮음 → Haiku: 테스트, 린트 수정, 코드 검색, 문서 생성
중간 → Sonnet: 기능 개발, 버그 수정, 리팩토링, API 구현
높음 → Opus: 아키텍처 설계, 대규모 리팩토링, 복잡한 알고리즘, 보안 검토
2. 모델별 특성
Claude 3.5 Haiku
적합한 작업:
- 테스트 코드 작성
- 타입 에러 수정
- 린트 에러 수정
- 간단한 코드 생성
- 코드베이스 검색
- 문서/주석 작성
Claude 3.5 Sonnet
적합한 작업:
- 새 기능 구현
- 버그 수정
- 코드 리팩토링
- API 엔드포인트 작성
- 컴포넌트 개발
- 디버깅
Claude 3.5 Opus
적합한 작업:
- 시스템 아키텍처 설계
- 대규모 리팩토링 계획
- 복잡한 알고리즘 구현
- 보안 취약점 분석
- 성능 최적화 전략
- 기술 의사결정
3. 모델 전환 방법
CLI에서 전환
# 기본 모델 설정
claude config set model sonnet
# 세션 중 전환
/model haiku
/model sonnet
/model opus설정 파일
`~/.claude/settings.json`
{
"model": "sonnet",
"modelOverrides": {
"test": "haiku",
"architecture": "opus"
}
}프롬프트에서 힌트
Haiku로 충분한 작업:
- "이 함수에 유닛 테스트 추가해줘"
- "타입 에러 수정해줘"
- "린트 에러만 고쳐줘"
Sonnet이 적합한 작업:
- "로그인 기능 구현해줘"
- "이 버그 원인 찾아서 수정해줘"
- "이 컴포넌트 리팩토링해줘"
Opus가 필요한 작업:
- "마이크로서비스 아키텍처 설계해줘"
- "전체 인증 시스템 재설계해줘"
- "성능 병목 분석하고 최적화 전략 세워줘"
4. 작업별 모델 매핑
테스트 작성 (Haiku)
/model haiku"ProductCard 컴포넌트에 테스트 추가해줘"
Haiku가 적합한 이유:
- 테스트 패턴은 반복적
- 기존 코드를 참조해서 작성
- 빠른 피드백이 중요
기능 개발 (Sonnet)
/model sonnet"사용자 프로필 페이지 구현해줘. 기존 UserCard 컴포넌트를 참고하고, 프로필 이미지 업로드 기능 포함해줘."
Sonnet이 적합한 이유:
- 여러 파일 수정 필요
- 기존 패턴 따르면서 확장
- 적절한 판단력 필요
아키텍처 설계 (Opus)
/model opus"현재 모놀리식 구조를 마이크로서비스로 분리하려고 해. 어떤 서비스로 나눌지, 통신 방식은 뭘로 할지, 데이터 일관성은 어떻게 유지할지 설계해줘."
Opus가 적합한 이유:
- 복잡한 트레이드오프 분석
- 장기적 영향 고려
- 창의적 문제 해결 필요
5. 실전 워크플로우
버그 수정 플로우
- Haiku로 로그 분석:
/model haiku→ "이 에러 로그 분석해줘" - Sonnet으로 버그 수정:
/model sonnet→ "분석 결과 기반으로 버그 수정해줘" - Haiku로 테스트 추가:
/model haiku→ "수정한 부분에 테스트 추가해줘"
새 기능 개발 플로우
- Opus로 설계:
/model opus→ "결제 시스템 설계해줘. 고려사항: PCI-DSS, 멱등성, 재시도" - Sonnet으로 구현:
/model sonnet→ "설계대로 PaymentService 구현해줘" - Haiku로 테스트:
/model haiku→ "PaymentService 테스트 작성해줘"
리팩토링 플로우
- Opus로 전략 수립:
/model opus→ "이 레거시 코드를 어떻게 리팩토링할지 전략 세워줘" - Sonnet으로 단계별 실행:
/model sonnet→ "1단계: 의존성 정리" → "2단계: 함수 분리" → "3단계: 테스트 추가" - Haiku로 정리:
/model haiku→ "린트 에러 수정하고 포맷팅해줘"
6. 비용 최적화 전략
비용 비교 (예시)
월간 비용 시뮬레이션
단일 모델 (Sonnet만): 총 $12.00/월
- 테스트 100개: $5.00
- 기능 20개: $3.00
- 디버깅 50회: $2.50
- 아키텍처 5회: $1.50
모델 믹스: 총 $11.50/월 + 아키텍처 품질 향상
- 테스트 100개 (Haiku): $1.00
- 기능 20개 (Sonnet): $3.00
- 디버깅 50회 (Sonnet): $2.50
- 아키텍처 5회 (Opus): $5.00
7. 자동화 전략
Hooks로 자동 전환
`.claude/settings.json`
{
"hooks": {
"PreToolCall": [
{
"matcher": "Edit|Write",
"pattern": "*.test.ts|*.spec.ts",
"command": "claude model set haiku",
"description": "Use Haiku for test files"
},
{
"matcher": "Edit|Write",
"pattern": "**/architecture/**|**/design/**",
"command": "claude model set opus",
"description": "Use Opus for architecture docs"
}
]
}
}CLAUDE.md에 가이드라인
CLAUDE.md에 다음과 같은 모델 선택 가이드를 추가하세요:
Haiku 사용: 테스트 코드 작성/수정, 타입 에러 수정, 린트 에러 수정, 코드 검색 및 분석
Sonnet 사용 (기본): 새 기능 구현, 버그 수정, 리팩토링, API 작업
Opus 사용: 아키텍처 설계, 대규모 변경 계획, 보안 검토, 성능 최적화 전략
8. 모델별 프롬프트 팁
Haiku 최적화
좋은 프롬프트: "UserService.test.ts에 getUser 메서드 테스트 추가해줘. 기존 테스트 패턴 따라줘."
나쁜 프롬프트: "테스트 전략을 세우고 종합적인 테스트 스위트를 설계해줘"
핵심: 구체적이고 범위가 좁은 작업
Sonnet 최적화
좋은 프롬프트: "장바구니 기능 구현해줘. CartContext로 상태 관리, LocalStorage에 persist, 기존 ProductCard에 Add to Cart 버튼 추가"
나쁜 프롬프트: "장바구니 만들어줘" (너무 모호함)
핵심: 맥락과 요구사항 명확히
Opus 최적화
좋은 프롬프트: "결제 시스템을 설계해줘. 현재 상황: 모놀리식 Next.js 앱, PostgreSQL, 월 10만 트랜잭션 예상. 고려사항: PCI-DSS 컴플라이언스, 결제 실패 재시도, 환불 처리. 질문: 결제 게이트웨이 추천, 트랜잭션 로그 관리, 테스트 방법?"
나쁜 프롬프트: "결제 구현해줘" (설계 없이 바로 구현)
핵심: 맥락, 제약조건, 열린 질문 제공
9. 의사결정 가이드
작업이 들어오면 다음 순서로 판단합니다:
- 단순 수정/검색인가? → Yes면 Haiku
- 아키텍처/설계인가? → Yes면 Opus
- 복잡한 알고리즘인가? → Yes면 Opus
- 그 외 일반 작업 → Sonnet (기본)
간단한 규칙
마무리
모델 믹스는 단순한 비용 절감이 아닙니다.
각 작업에 최적의 도구를 선택하는 전략입니다.
이 시리즈를 통해 Claude Code의 진정한 잠재력을 발휘하시길 바랍니다.
시리즈 완결
- Context가 전부다 - 프로젝트 이해도 높이기
- Hooks로 워크플로우 자동화 - 품질 게이트 설정
- Custom Skills로 팀 표준 만들기 - 팀 지식 공유
- MCP 서버 구축하기 - 외부 시스템 연동
- 모델 믹스 전략 (현재 글) - 비용과 품질 최적화