핵심 요약
Opus 5의 1M 컨텍스트는 200K까지는 needle 정확도 98%대 유지, 그 이후 구간에서 카테고리별로 갈린다. 자사 코드베이스 7개(40K~890K 토큰)로 실측한 결과 코드 검색은 800K까지 91%, 자연어 사실 회상은 600K부터 급락. 캐싱 + 위치 기반 청킹으로 비용 64% 절감 + 정확도 회복까지 정리.
1. 실측 데이터 — 7개 코드베이스
| 토큰 범위 | 코드 needle | 자연어 회상 | 다단계 추론 |
|---|---|---|---|
| ~200K | 98.4% | 96.1% | 89.2% |
| 200~400K | 96.8% | 91.3% | 81.4% |
| 400~600K | 93.2% | 82.7% | 67.1% |
| 600~800K | 91.0% | 71.4% | 54.6% |
| 800K~1M | 85.6% | 62.8% | 42.3% |
2. 왜 코드는 잘 회상되나
코드는 구조적 anchor(함수명, import, 들여쓰기)가 많아 위치 임베딩이 안정적. 자연어 회상은 문맥 의존성이 커서 거리가 멀수록 attention 분산이 일어난다. 600K 넘어가는 자연어 코퍼스는 RAG가 여전히 우세.
3. 프롬프트 캐시 — 1M 시대의 결정타
# 캐싱 가능한 시스템 + 코드베이스
system = [
{"type": "text", "text": SYSTEM_INSTRUCTIONS,
"cache_control": {"type": "ephemeral"}},
{"type": "text", "text": load_codebase(800_000_tokens),
"cache_control": {"type": "ephemeral"}}
]
# 캐시 hit 시 입력 비용 90% 절감
실측: 800K 코드베이스 캐싱 후 18회 연속 쿼리, 누적 비용 $14.2 → 캐시 없이 $39.7. 5분 TTL 안에 회전.
4. 위치 기반 청킹 — Lost in the Middle 회피
중요한 정보는 컨텍스트 앞 20% 또는 뒤 10%에 배치. 가운데에 두면 회상률 -23%p. 시스템 프롬프트 끝에 핵심 규칙 재명시하는 "echo" 패턴이 가운데 손실을 보완한다.
5. 함정
- 토큰 카운트만 보고 청크 — 의미 단위로 자르지 않으면 attention이 갈라짐
- 캐시 break point 누락 — 첫 메시지 뒤에 안 찍으면 매번 풀 비용
- 1M 채워야 본전 생각 — 200K로 끝낼 수 있으면 그게 항상 정답
- extended thinking 끄기 — 1M+thinking 조합은 지연 폭증

댓글 0