Claude

Claude Opus 4.8 Effort Control 완전 가이드 — low/medium/high/xhigh/max 언제 쓰는가

cell-devlog 2026. 6. 1. 14:49
반응형

5단계 다이얼 생겼습니다. 아무 생각 없이 max 쓰면 토큰만 날립니다.


핵심 요약

→ Effort = Claude가 응답에 쓰는 토큰 양을 직접 제어하는 파라미터
→ 5단계: low / medium / high(기본값) / xhigh / max
→ Opus 4.8 기본값은 high — API·Claude Code·claude.ai 전 서피스 동일
→ xhigh는 Opus 4.8과 4.7에서만 사용 가능
→ max는 Opus 4.8·4.7·4.6·Sonnet 4.6·Mythos Preview에서 사용 가능
→ xhigh/max 사용 시 max_tokens 64k 이상 설정 권장
→ Opus 4.7 대비 레벨 재보정됨 — medium은 더 많이, high는 다소 적게, xhigh는 훨씬 많이
→ claude.ai·Cowork UI에서도 사이드바 셀렉터로 조작 가능


실전 1 — 5단계 완전 정리

공식 문서의 Effort 가이드라인을 기반으로 각 레벨의 용도를 정리했습니다.

레벨 API 값 용도 토큰 소비

low "low" 단순 질답, 고볼륨 파이프라인 최소
medium "medium" 일반 지식 작업, 분석 보통
high "high" 기본값 — 복잡한 추론, 코딩 높음
xhigh "xhigh" 에이전트 코딩, 반복 툴 호출 매우 높음
max "max" 제약 없는 최고 성능 무제한

공식 가이드라인: 코딩·에이전트 작업엔 xhigh로 시작하고, 나머지 지능형 작업엔 high를 쓰며, medium·low는 실제 eval로 품질을 확인한 뒤에만 낮추는 것을 권장합니다.

Opus 4.7 → 4.8 마이그레이션 주의사항 레벨이 재보정됐습니다. medium은 더 많이 생각하고, high는 다소 적게, xhigh는 훨씬 더 많이 생각합니다. 4.7에서 넘어왔다면 같은 레벨에서 먼저 재기준을 잡은 뒤 조정하세요.


실전 2 — API 사용법

import anthropic

client = anthropic.Anthropic()

# low: 단순 질답, 고볼륨 분류 파이프라인
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    output_config={"effort": "low"},
    messages=[{"role": "user", "content": "이 텍스트 긍정/부정 분류해줘"}]
)

# high: 기본값 — 명시적으로 써도 동일
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[{"role": "user", "content": "이 아키텍처 설계 리뷰해줘"}]
)

# xhigh: 에이전트 코딩, 반복 툴 호출 — max_tokens 충분히 줄 것
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=64000,  # xhigh/max는 64k 이상 권장
    output_config={"effort": "xhigh"},
    messages=[{"role": "user", "content": "이 레포 전체 버그 찾아서 수정해줘"}]
)

# max: 제약 없는 최고 성능 — 비용 모니터링 필수
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=128000,
    output_config={"effort": "max"},
    messages=[{"role": "user", "content": "이 수학 증명 검증해줘"}]
)

Claude Code에서는 /effort 명령어로 바꿉니다.

# Claude Code 터미널에서
/effort low      # 빠른 탐색, 초안
/effort high     # 기본값 (생략 가능)
/effort xhigh    # 복잡한 리팩토링, 에이전트 작업
/effort max      # 최고 성능 필요할 때

실전 3 — 태스크 유형별 레벨 선택 가이드

low — 이럴 때 씁니다
  ✅ 텍스트 분류, 감정 분석 (정답이 뻔한 작업)
  ✅ 대량 문서 요약 파이프라인 (속도·비용 우선)
  ✅ 단순 포맷 변환 (JSON ↔ CSV)
  ✅ 응답 내용보다 속도가 중요한 실시간 스트리밍

medium — 이럴 때 씁니다
  ✅ 일반적인 코드 설명·주석 작성
  ✅ 문서 초안, 이메일 작성
  ✅ 간단한 버그 분석 (원인이 명확한 것)
  ✅ 지식 Q&A (단일 개념 설명)

high — 기본값, 이럴 때 씁니다 (대부분의 작업)
  ✅ 코드 리뷰, 아키텍처 설계 검토
  ✅ 복잡한 분석·추론 작업
  ✅ 어려운 코딩 문제 (단일 파일/함수 범위)
  ✅ 비즈니스 로직 구현

xhigh — 이럴 때 씁니다
  ✅ 에이전트 코딩 (반복 툴 호출 수반)
  ✅ 멀티 파일 리팩토링, 마이그레이션
  ✅ Dynamic Workflows 서브에이전트 오케스트레이션
  ✅ 장시간 비동기 워크플로우

max — 이럴 때만 씁니다 (드물게)
  ✅ 수학 증명, 형식 검증
  ✅ 보안 감사 (공격 경로 전수 탐색)
  ✅ 최고 성능이 명확히 필요한 단발성 작업
  ❌ 일상적인 코딩엔 xhigh로 충분 — max는 토큰 낭비 가능성 있음

실전 4 — 비용 관점에서 Effort 최적화

코딩 작업 기준, Opus 4.8의 기본 high effort는 Opus 4.7 기본값과 비슷한 토큰을 쓰면서 더 나은 성능을 냅니다. 즉 4.7 → 4.8 마이그레이션 시 비용 증가 없이 성능 향상을 얻을 수 있습니다.

# 볼륨별 Effort 전략

고볼륨 파이프라인 (하루 10만 건 이상)
  → low/medium 사용 후 품질 eval
  → 품질 기준 미달 항목만 high로 재처리 (라우팅 전략)

일반 에이전트 워크플로우 (하루 수백~수천 건)
  → 기본 high
  → 복잡도 높은 태스크만 xhigh로 동적 전환

대규모 코딩 에이전트 (Dynamic Workflows 포함)
  → xhigh + max_tokens 64k 이상
  → 오케스트레이터는 xhigh, 단순 서브에이전트는 medium으로 티어링
# 태스크 복잡도에 따라 effort 동적 결정하는 패턴
def get_effort_level(task_type: str) -> str:
    routing = {
        "classification": "low",
        "summarization": "medium",
        "code_review": "high",
        "agent_coding": "xhigh",
        "formal_verification": "max"
    }
    return routing.get(task_type, "high")  # 기본값 high

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=32000,
    output_config={"effort": get_effort_level("agent_coding")},
    messages=[...]
)

마무리

✅ 기본값 high는 대부분의 작업에 적합합니다. 이유 없이 바꿀 필요 없습니다.
✅ 에이전트 코딩·Dynamic Workflows엔 xhigh + max_tokens 64k 이상이 Anthropic 권장입니다.
✅ max는 수학 증명·보안 감사처럼 제약 없는 최고 성능이 필요할 때만 씁니다.
❌ 무조건 max 쓰면 토큰만 날립니다 — 일상 코딩엔 xhigh로 충분합니다.
❌ 4.7 → 4.8 전환 시 레벨이 재보정됐으니 같은 레벨에서 먼저 eval 후 조정하세요.


관련 글

 

반응형