컨텍스트 관리
Claude Code(와 Claude 모델 전반)는 한 번의 대화에서 처리할 수 있는 텍스트 양에 한계가 있습니다. 이를 **컨텍스트 창(Context Window)**이라고 합니다. 이 한계를 이해하고 관리하는 것이 장시간 작업의 품질을 결정합니다.
컨텍스트 창이란?
Claude 모델이 한 번에 "기억"할 수 있는 텍스트의 총량입니다.
┌─────────────────────────────────────────┐
│ 컨텍스트 창 (200K 토큰) │
│ │
│ [대화 히스토리] [코드] [파일 내용] [응답] │
│ │
└─────────────────────────────────────────┘
Claude Code(claude-opus-4-6 기준)는 약 200,000 토큰 컨텍스트를 지원합니다. 대략:
- 한국어 약 10만 단어
- 코드 파일 약 150개 (파일당 평균 50줄)
- 5-8시간 분량의 집중 코딩 세션
컨텍스트가 가득 차면 생기는 문제
컨텍스트가 70-80% 이상 차기 시작하면:
- 응답이 느려짐 — 처리할 텍스트가 많아질수록 응답 속도 저하
- 초반 내용을 잊기 시작함 — 오래된 대화 내용에 대한 정확도 하락
- 비용 증가 — 토큰이 많을수록 API 비용 상승
- 컨텍스트 한계 도달 — 실제로 한계에 도달하면 세션이 종료됨
컨텍스트 상태 확인
/status
컨텍스트 사용량: 38,200 / 200,000 토큰 (19%)
예상 남은 대화: 약 2시간
컨텍스트 관리 전략
전략 1: /compact로 압축
대화가 길어졌을 때 완전히 초기화하지 않고 핵심만 남기는 방법입니다.
/compact
Claude Code가 지금까지의 대화를 분석해서 핵심 내용을 요약합니다:
- 완료된 작업
- 현재 상태
- 다음 할 일
- 중요한 결정사항
커스텀 압축 지시를 줄 수도 있습니다:
/compact 코드 샘플과 API 사용법에 집중해서 요약해줘
CLAUDE.md에서 기본 압축 지시를 설정할 수 있습니다:
# Compact instructions
compact 시 테스트 출력과 코드 변경사항에 집중해서 요약해줘
컨텍스트 한계에 가까워지면 Claude Code가 자동으로 대화를 압축합니다. 수동으로 /compact를 실행하지 않아도 세션이 갑자기 끊기지 않습니다.
전략 2: /clear로 새 시작
완전히 다른 작업을 시작할 때 씁니다.
# 결제 모듈 완성
/clear
# 이제 알림 시스템 시작
claude
> 알림 시스템 구현해줘. 이메일 + 푸시 알림.
CLAUDE.md에 프로젝트 컨텍스트가 있으면 /clear 후에도 중요한 정보는 유지됩니다.
전략 3: 작업을 작게 분할
하나의 긴 세션보다 여러 개의 짧은 세션이 효율적입니다.
❌ 비효율적:
"결제 시스템 전체를 한 번에 만들어줘
(Stripe 연동, 웹훅, 환불, 정기결제, 쿠폰, 영수증 이메일...)"
✅ 효율적:
세션 1: "Stripe 기본 결제 연동해줘"
세션 2: "웹훅 처리 로직 추가해줘"
세션 3: "환불 기능 구현해줘"
각 세션이 끝나면 코드를 git에 커밋하고 /clear로 새 세션 시작.
전략 4: 파일 직접 참조
긴 파일 내용을 대화에 붙여넣지 말고, Claude Code가 직접 파일을 읽게 하세요.
❌ 비효율적:
> 이 코드 리뷰해줘: [500줄의 코드를 대화창에 붙여넣기]
✅ 효율적:
> src/payment/stripe.ts 파일 리뷰해줘
Claude Code가 직접 파일을 읽으면 컨텍스트를 더 효율적으로 씁니다.
전략 5: CLAUDE.md에 중요 정보 저장
세션이 바뀌어도 유지되어야 할 정보는 CLAUDE.md에 넣으세요.
# CLAUDE.md
## 현재 진행 상황 (2026-02-20 업데이트)
- ✅ 인증 모듈 완료
- 🔄 결제 모듈 진행 중 (Stripe 웹훅 처리 남음)
- ⬜ 알림 시스템 미시작
## 중요 결정사항
- 결제 실패 시 최대 3회 재시도 (exponential backoff)
- 환불은 72시간 내만 가능
새 세션을 시작해도 이 정보는 유지됩니다.
큰 코드베이스 다루기
수천 개의 파일이 있는 대형 프로젝트에서는 모든 파일을 컨텍스트에 로드하는 것이 불가능합니다.
범위를 좁혀서 작업하기
# 전체 프로젝트가 아닌 특정 모듈에서 시작
cd src/modules/payment
claude
> 이 디렉토리의 결제 로직 리뷰해줘
관련 파일만 명시적으로 추가
> /add src/payment/stripe.ts
> /add src/payment/types.ts
> 이 두 파일 기반으로 환불 로직 추가해줘
인터페이스/타입만 먼저 파악
> types/ 디렉토리의 타입 정의만 먼저 읽어줘.
구현 파일은 나중에 필요한 것만 열어봐.
컨텍스트 비용 계산
장시간 세션을 계획할 때 비용 예측에 참고하세요.
| 작업 규모 | 예상 토큰 | 예상 비용 (Sonnet 기준) |
|---|---|---|
| 간단한 함수 작성 | ~5K | ~$0.01 |
| 컴포넌트 구현 | ~20K | ~$0.04 |
| 기능 전체 구현 | ~80K | ~$0.16 |
| 모듈 전체 구현 | ~200K | ~$0.40 |
장시간 작업이 예정되어 있다면 /status로 주기적으로 비용을 확인하세요. 예상보다 많이 쓴다면 더 구체적인 요청으로 비용을 줄일 수 있습니다.
체크포인트로 되돌리기
작업 중 잘못된 방향으로 갔을 때 Esc+Esc 또는 /rewind로 이전 상태로 되돌릴 수 있습니다. Claude Code는 각 프롬프트 전에 자동으로 체크포인트를 생성합니다. 자세한 내용은 체크포인트 시스템을 참조하세요.
실전 패턴: 장시간 세션 관리
오전 9시: claude 시작
> 오늘 할 일: 결제 모듈 완성
... 2시간 작업 ...
> /status (컨텍스트 45% 사용 확인)
... 1시간 더 작업 ...
> /compact (컨텍스트 70% → 30%로 압축)
... 마무리 작업 ...
> 오늘 작업 완료됐어. 내일 이어할 수 있게 CLAUDE.md 업데이트해줘.
이렇게 하면 하루 종일 품질을 유지하면서 작업할 수 있습니다.
다음 챕터: 메모리 시스템 →