반응형
Anthropic이 4월 16일 Opus 4.7을 출시하면서 이렇게 말했어요.
"가격 변동 없음. Opus 4.6과 동일한 $5/$25 per MTok"
맞아요. 토큰당 가격은 그대로예요.
근데 같은 텍스트가 더 많은 토큰으로 쪼개집니다.
Anthropic 공식 문서:
"새 토크나이저는 최대 35% 더 많은 토큰을 사용할 수 있음"
실제 측정값 (claudecodecamp.com):
기술 문서: 1.47x (47% 증가)
CLAUDE.md: 1.45x (45% 증가)
일반 코드: 1.20~1.35x
한국어/CJK: 1.01x (거의 동일)
Anthropic이 "최대 35%"라고 했지만 실제 영어/코드 기반 콘텐츠는 35%를 넘는 경우가 많아요.
실제 비용이 얼마나 늘어나나
케이스 1 — 일반 API 사용자
하루 API 요청:
- 입력: 1M 토큰
- 출력: 0.2M 토큰
Opus 4.6:
- 입력: 1M × $5 = $5.00
- 출력: 0.2M × $25 = $5.00
- 일 합계: $10.00
- 월 합계: $300
Opus 4.7 (35% 토큰 증가):
- 입력: 1.35M × $5 = $6.75
- 출력: 0.2M × $25 = $5.00 ← 출력은 내용 같으면 비슷
- 일 합계: $11.75
- 월 합계: $352.50
월 $52.50 추가 (17% 증가)
케이스 2 — RAG 파이프라인 (컨텍스트 무거운 경우)
하루 요청:
- 시스템 프롬프트: 5,000 토큰
- 검색된 문서: 20,000 토큰
- 사용자 질문: 500 토큰
- 1일 요청: 10,000회
Opus 4.6 월 비용:
- 입력: 25,500 × 10,000 × 30 = 7.65B 토큰
- 입력 비용: $38,250
Opus 4.7 (30% 증가 가정):
- 입력: 33,150 × 10,000 × 30 = 9.945B 토큰
- 입력 비용: $49,725
월 $11,475 추가 (30% 증가)
케이스 3 — 에이전트 코딩 (Claude Code 유저)
긴 CLAUDE.md + 레포 컨텍스트 + 대화 기록
실측 기준 (CLAUDE.md 1.45x):
세션당 기존 $0.50 → $0.72
하루 20 세션 기준:
4.6: $10/일, $300/월
4.7: $14.4/일, $432/월
월 $132 추가 (44% 증가)
왜 이렇게 됐나 — 토크나이저 변경의 의미
토크나이저는 텍스트를 토큰으로 쪼개는 방식이에요.
Opus 4.6 토크나이저:
"programming" → 1 토큰
Opus 4.7 토크나이저:
"programming" → 2 토큰
(더 세밀하게 쪼갬)
더 세밀하게 쪼개면 무슨 장점이 있냐고요?
장점:
→ 희귀 단어, 전문 용어 더 정확하게 이해
→ 코드 구조를 더 세밀하게 파악
→ 명령 수행 정확도 향상 (+5%p)
→ 비영어권 언어 처리 개선
단점:
→ 같은 텍스트 = 더 많은 토큰 = 더 많은 비용
언어별 영향 차이가 있어요.
영어/코드: 1.20~1.47x (가장 큰 영향)
한국어: 1.01~1.05x (거의 영향 없음)
일본어: 1.02~1.07x
중국어: 1.01x
→ 한국어 블로그, 한국어 서비스는 영향 적음
→ 영어 문서 처리, 코드 분석은 영향 큼
추가로 놓치기 쉬운 비용 증가 포인트
1. 이미지 토큰도 3배
Opus 4.6:
이미지 1장 = 최대 1,600 토큰
Opus 4.7:
이미지 1장 = 최대 4,784 토큰 (3x)
이미지 많이 쓰는 서비스:
Computer Use, 스크린샷 분석, 문서 OCR
→ 이쪽은 토큰 비용 폭탄
이미지 해상도가 필요 없으면 다운샘플링으로 대응:
from PIL import Image
import io
def downsample_for_api(image_path: str, max_pixels: int = 1_000_000) -> bytes:
"""필요 이상의 해상도 이미지는 다운샘플링"""
img = Image.open(image_path)
w, h = img.size
if w * h > max_pixels:
ratio = (max_pixels / (w * h)) ** 0.5
new_w, new_h = int(w * ratio), int(h * ratio)
img = img.resize((new_w, new_h), Image.LANCZOS)
buf = io.BytesIO()
img.save(buf, format="JPEG", quality=85)
return buf.getvalue()
2. xhigh 기본값이 비용을 더 올린다
Claude Code 기본 추론 레벨:
4.6: high
4.7: xhigh (새 레벨)
xhigh = high보다 더 많은 추론 토큰 사용
→ 토크나이저 증가 + 추론 토큰 증가 이중 타격
3. 프롬프트 캐시도 더 비싸진다
캐시 쓰기 비용: 표준 입력의 125%
캐시 읽기 비용: 표준 입력의 10%
Opus 4.6 CLAUDE.md 10,000 토큰:
- 캐시 쓰기: 10,000 × $6.25 = $0.0625
Opus 4.7 같은 CLAUDE.md (1.45x):
- 캐시 쓰기: 14,500 × $6.25 = $0.0906
→ 캐시 쓰기 비용 45% 증가
→ 캐시 읽기도 45% 증가
마이그레이션 전 필수 확인
1단계 — 토큰 수 실측 (마이그레이션 전)
import anthropic
client = anthropic.Anthropic()
# 실제 프로덕션 프롬프트로 비교
def compare_token_count(sample_text: str) -> dict:
results = {}
for model in ["claude-opus-4-6", "claude-opus-4-7"]:
response = client.messages.count_tokens(
model=model,
messages=[{"role": "user", "content": sample_text}]
)
results[model] = response.input_tokens
ratio = results["claude-opus-4-7"] / results["claude-opus-4-6"]
return {
"opus_4_6_tokens": results["claude-opus-4-6"],
"opus_4_7_tokens": results["claude-opus-4-7"],
"ratio": ratio,
"cost_increase_pct": (ratio - 1) * 100
}
# 실제 프로덕션 샘플로 측정
samples = [
open("system_prompt.txt").read(),
open("CLAUDE.md").read(),
open("example_user_message.txt").read(),
]
for i, sample in enumerate(samples):
result = compare_token_count(sample)
print(f"샘플 {i+1}: {result['ratio']:.2f}x ({result['cost_increase_pct']:.1f}% 증가)")
2단계 — Breaking Changes 수정
# ❌ 4.6 방식 — 4.7에서 400 에러
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
temperature=0.7, # 제거됨
top_p=0.9, # 제거됨
thinking={
"type": "enabled",
"budget_tokens": 8000 # 제거됨
},
messages=[...]
)
# ✅ 4.7 올바른 방식
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
thinking={
"type": "enabled",
"effort": "xhigh" # budget_tokens 대신
},
messages=[...]
)
어시스턴트 프리필도 제거됐어요:
# ❌ 4.6에서 쓰던 프리필 패턴
messages = [
{"role": "user", "content": "JSON으로 응답해줘"},
{"role": "assistant", "content": "{"} # 프리필 → 4.7에서 400 에러
]
# ✅ 4.7 대안
response = client.messages.create(
model="claude-opus-4-7",
system="반드시 유효한 JSON으로만 응답하세요. 다른 텍스트 없이.",
messages=[{"role": "user", "content": "응답해줘"}]
)
3단계 — 비용 통제 설정
# Task Budget — 에이전트 루프 비용 제한
response = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=128000,
output_config={
"effort": "high", # xhigh 대신 high로 절약
"task_budget": {
"type": "tokens",
"total": 50000 # 에이전트 전체 루프 5만 토큰 제한
}
},
messages=[...],
betas=["task-budgets-2026-03-13"]
)
비용 절감 전략
전략 1 — 모델 라우팅
def choose_model(task_type: str, complexity: str) -> str:
"""
Opus 4.7: 복잡한 코딩, 장기 에이전트 작업
Sonnet 4.6: RAG, 분류, 일반 질답 (40% 저렴)
Haiku 4.5: 분류, 라우팅, 단순 추출 (80% 저렴)
"""
if task_type == "coding" and complexity == "hard":
return "claude-opus-4-7"
elif task_type in ["rag", "qa", "summarize"]:
return "claude-sonnet-4-6" # Opus 대비 40% 절약
else:
return "claude-haiku-4-5" # Opus 대비 80% 절약
전략 2 — 캐싱으로 토크나이저 증가 상쇄
# 시스템 프롬프트를 캐싱하면
# 토크나이저 증가분 상당 부분 상쇄 가능
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
system=[
{
"type": "text",
"text": "[긴 시스템 프롬프트]",
"cache_control": {"type": "ephemeral"}
}
],
messages=[{"role": "user", "content": user_message}]
)
# 캐시 히트 시: 캐시된 토큰 × $0.50/M (90% 할인)
# 토크나이저로 토큰이 35% 늘어도
# 캐시 읽기 비용이 워낙 싸서 실질 증가 억제
전략 3 — effort 레벨 조정
작업별 권장 effort:
max: 절대적 최고 품질 필요 (매우 비쌈)
xhigh: 복잡한 코딩, 에이전트 작업 (Claude Code 기본값)
high: 대부분의 지능 필요 작업
medium: 일반적인 질답, 간단한 코딩
low: 분류, 라우팅, 단순 추출
xhigh → high로 낮추면:
토큰 사용량 15~20% 감소
품질 저하 거의 없는 경우 많음
요약
가격: 동일 ($5/$25 per MTok)
실제 비용: 워크로드에 따라 다름
영어/코드 집중 서비스: 최대 47% 증가
한국어 서비스: 거의 영향 없음 (1~5%)
이미지 집중 서비스: 최대 3배 증가
Breaking Changes:
- temperature, top_p, top_k 제거
- thinking.budget_tokens → effort로 교체
- 어시스턴트 프리필 → 400 에러
대응:
1. count_tokens API로 실제 비용 미리 측정
2. 캐싱 최대한 활용
3. xhigh → high effort 다운그레이드 검토
4. Opus 불필요한 곳은 Sonnet/Haiku로 라우팅
반응형
'LLM' 카테고리의 다른 글
| LLM 사설 평가셋 50개 만들고 모델 비교하기 — 벤치마크를 믿지 마세요 (1) | 2026.04.20 |
|---|---|
| Opus 4.7 에이전트 비용 제어 실전 — effort + Task Budget 완전 가이드 (0) | 2026.04.20 |
| Claude Opus 4.7 출시 — SWE-bench Pro 1위, GPT-5.4 완전히 제쳤다 (1) | 2026.04.17 |
| GLM-5.1 vs Claude Opus 4.6 vs GPT-5.4 (0) | 2026.04.16 |
| Anthropic Claude Opus 4.7 + AI 디자인 툴 이번주 출시 예정 — Figma, Wix 주가 폭락한 이유 (0) | 2026.04.16 |