**컨텍스트 윈도우(Context Window)**는 AI 모델이 한 번에 기억하고 처리할 수 있는 텍스트의 양입니다.
사람으로 비유하면:
작은 컨텍스트 (4K 토큰 = 약 3,000단어):
큰 컨텍스트 (200K 토큰 = 약 150,000단어):
컨텍스트 윈도우 = 입력 토큰 + 출력 토큰 + 대화 히스토리
예시 (Claude 3.7 Sonnet, 200K 토큰):
입력 문서: 50,000 토큰 (약 37,500단어)
대화 히스토리: 10,000 토큰 (이전 질의응답 10번)
출력 공간: 140,000 토큰 (응답 생성 여유분)
총합: 200,000 토큰
| 모델 | 컨텍스트 크기 | 단어 환산 | 책 분량 | 최적 용도 |
|---|---|---|---|---|
| Claude Opus 4.6 | 1,000,000 | ~750,000 | 2-3권 | 전체 코드베이스, 대규모 문서 |
| Claude 3.7 Sonnet | 200,000 | ~150,000 | 1권 | 일반 문서, 법률 계약서 |
| GPT-4o | 128,000 | ~96,000 | 0.5권 | 중간 길이 문서 |
| Gemini 3 Pro | 2,000,000 | ~1,500,000 | 5권 | 대규모 데이터 분석 |
| Gemini 3 Flash | 1,000,000 | ~750,000 | 2-3권 | 빠른 대량 처리 |
| Llama 4 (Meta) | 128,000 | ~96,000 | 0.5권 | 오픈소스 프로젝트 |
| DeepSeek V4 | 64,000 | ~48,000 | 0.25권 | 중국어 문서 |
일반 규칙:
예시:
문장: "The quick brown fox jumps over the lazy dog."
토큰 수: 10개 (9개 단어 + 마침표)
한글은 영어보다 토큰 소비 많음:
예시:
문장: "빠른 갈색 여우가 게으른 개를 뛰어넘는다."
토큰 수: 약 25개 (한글 음절별 토큰화)
프로그래밍 언어별 토큰 효율:
| 언어 | 토큰 효율 | 예시 |
|---|---|---|
| Python | 1 토큰 ≈ 4-6 글자 | def func(): = 5 토큰 |
| JavaScript | 1 토큰 ≈ 4-5 글자 | const x = 10; = 7 토큰 |
| JSON | 1 토큰 ≈ 3-4 글자 | {"key":"value"} = 9 토큰 |
전체 파일 크기 예시:
Claude 3.7 이미지 처리:
OpenAI Tokenizer:
https://platform.openai.com/tokenizer
→ 텍스트 입력 시 실시간 토큰 계산
Claude Token Counter (API):
import anthropic
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-3-7-sonnet",
messages=[{"role": "user", "content": "긴 텍스트..."}]
)
print(f"토큰 수: {response.input_tokens}")
문제:
기존 방법 (작은 컨텍스트):
1. 파일별로 나눠 업로드 (50번 이상)
2. AI가 각 파일 독립적으로 분석
3. 전체 맥락 파악 불가 → 놓치는 버그 많음
긴 컨텍스트 활용:
# 전체 프로젝트를 하나의 프롬프트로
prompt = f"""
다음 전체 코드베이스를 분석하세요:
{전체_코드_150K_토큰}
작업:
1. SQL 인젝션 취약점 탐지
2. 인증/인가 로직 검토
3. 성능 병목 지점 식별
4. 리팩토링 우선순위 제시
"""
결과:
문제:
긴 컨텍스트 활용:
프롬프트:
"계약서 A와 B를 비교하세요.
1. 차이점 목록 (조항별)
2. A에만 있는 위험 조항
3. B에서 개선된 부분"
→ Claude 3.7 Sonnet (200K)으로 한 번에 처리
결과:
문제:
Gemini 3 Pro (2M 토큰) 활용:
입력: 100편 논문 전체 텍스트 (총 1.5M 토큰)
출력:
1. 주요 연구 트렌드 (시계열 분석)
2. 가장 많이 인용된 방법론
3. 연구 갭 (미해결 문제) 식별
4. 추천 연구 방향
결과:
문제:
Claude Opus 4.6 (1M 토큰) 활용:
입력: 전체 채팅 로그 (800K 토큰)
출력:
1. 불만 카테고리별 빈도 분석
2. 해결되지 않은 반복 문제 탐지
3. 자동 응답 가능한 FAQ 100개 생성
4. 고객 감정 추이 (월별)
결과:
문제:
Claude 3.7 Sonnet (200K 토큰) 활용:
입력: 전체 책 텍스트 (150K 토큰)
프롬프트:
"이 책을 다음 형식으로 요약하세요:
1. 3줄 요약
2. 챕터별 핵심 (각 500자)
3. 실행 가능한 액션 아이템 10개
4. 비판적 리뷰 (장단점)"
결과:
Claude 3.7 Sonnet 가격 (2026년 2월 기준):
| 토큰 범위 | 입력 비용 | 출력 비용 |
|---|---|---|
| 0~200K | $3/1M 토큰 | $15/1M 토큰 |
| 200K+ | $6/1M 토큰 (2배) | $22.5/1M 토큰 (1.5배) |
예시 계산:
150K 토큰 입력 + 5K 토큰 출력
비용: ($3 × 0.15) + ($15 × 0.005) = $0.525
250K 토큰 입력 + 5K 토큰 출력
비용: ($6 × 0.25) + ($22.5 × 0.005) = $1.6125 (3배!)
Anthropic의 Prompt Caching:
예시:
# 첫 번째 요청 (전체 비용)
response1 = client.messages.create(
model="claude-3-7-sonnet",
system=[
{"type": "text", "text": "긴 시스템 프롬프트 (50K 토큰)"},
{"type": "text", "text": "코드베이스 (100K 토큰)", "cache_control": {"type": "ephemeral"}}
],
messages=[{"role": "user", "content": "질문 1"}]
)
# 두 번째 요청 (캐시 사용, 10% 비용)
response2 = client.messages.create(
# 동일한 system 프롬프트 → 캐시 히트
messages=[{"role": "user", "content": "질문 2"}]
)
결과:
문제:
해결:
# 비효율적: 100번 호출
for doc in docs:
analyze(doc) # 각 $0.1 → 총 $10
# 효율적: 1번 호출
all_docs = "
---
".join(docs)
analyze(all_docs) # $0.5 (20배 절감)
문제:
해결:
# Step 1: 목차 분석 (저비용)
toc_analysis = analyze(book_toc) # 1K 토큰
# Step 2: 중요 챕터만 상세 분석
important_chapters = toc_analysis.recommended_chapters
for chapter in important_chapters:
detailed_analysis(chapter) # 각 20K 토큰
결과:
같은 작업, 다른 모델:
| 모델 | 컨텍스트 | 비용 | 속도 | 품질 |
|---|---|---|---|---|
| Claude Opus 4.6 | 1M | $$$ | 느림 | 최고 |
| Claude 3.7 Sonnet | 200K | $$ | 보통 | 우수 |
| Gemini 3 Flash | 1M | $ | 빠름 | 양호 |
전략:
| 항목 | 긴 컨텍스트 | RAG |
|---|---|---|
| 비용 | 높음 (200K+ 토큰) | 낮음 (5K 토큰 정도) |
| 정확도 | 전체 맥락 이해 → 높음 | 검색 오류 가능 → 중간 |
| 속도 | 느림 (200K 토큰 처리) | 빠름 (5K 토큰만 처리) |
| 복잡도 | 낮음 (그냥 업로드) | 높음 (벡터 DB 구축 필요) |
| 적합 작업 | 전체 맥락 필요 (코드 리뷰, 법률 분석) | 특정 정보 검색 (FAQ, 문서 QA) |
긴 컨텍스트 추천:
RAG 추천:
최선의 방법: 둘 다 사용
1단계 (RAG): 관련 문서 10개 추출 (벡터 검색)
2단계 (긴 컨텍스트): 10개 문서 전체를 AI에 입력 (200K 토큰)
3단계: AI가 전체 맥락 이해한 후 답변
효과:
현상:
해결:
# 중요한 정보를 앞/뒤에 배치
prompt = f"""
{중요한_컨텍스트_앞부분}
... (중간 세부 내용) ...
{중요한_컨텍스트_뒷부분}
질문: {사용자_질문}
"""
현상:
해결:
현상:
해결:
# 불필요한 부분 제거
cleaned_text = remove_headers_footers(raw_text)
cleaned_text = remove_ads(cleaned_text)
# 70K → 50K 토큰으로 절감
1. 10M 토큰 컨텍스트
2. 무제한 컨텍스트 (Infinite Context)
3. 비용 하락
1. 스마트 컨텍스트 압축
2. 계층적 컨텍스트 처리
3. 개인화 컨텍스트
긴 컨텍스트 윈도우는 AI 활용의 게임 체인저입니다.
2024년까지만 해도 4K~8K 토큰이 일반적이었지만, 2026년 현재는:
이제 우리는:
핵심 가이드:
2026년은 "작게 쪼개던 시대"에서 "크게 보는 시대"로의 전환점입니다.
이제 AI에게 전체 그림을 보여주고, 진짜 인사이트를 얻으세요.
참고 자료: