topic★★★★★난이도 · 약 20분
컨텍스트 관리 — AI의 기억력을 효율적으로 쓰기
컨텍스트 윈도우 한계, /compact, CLAUDE.md, 대화 분리 전략으로 AI 성능을 극대화.
#컨텍스트#CLAUDE.md#compact#대화분리#핸드오프
왜 배우는가
AI의 기억력(컨텍스트 윈도우)은 유한하다. 대화가 길어지면 앞부분을 잊고, 비용도 급증한다. 컨텍스트를 전략적으로 관리하면 같은 AI로 훨씬 나은 결과를 얻을 수 있다.
컨텍스트 윈도우는 AI가 한 번에 처리할 수 있는 토큰의 최대량이다. Claude는 200K 토큰(약 15만 단어, 책 3권 분량)을 지원하지만, 무한하지 않다. 대화가 길어지면 앞부분의 맥락이 희석되고, 비용도 토큰 수에 비례하여 증가한다.
| 전략 | 방법 | 효과 |
|---|---|---|
| `/compact` | 대화 요약 후 컨텍스트 압축 | 긴 대화를 짧게 줄여 성능 회복 |
| CLAUDE.md | 프로젝트 루트에 영구 맥락 파일 작성 | 매 대화마다 자동으로 읽혀 일관성 유지 |
| 대화 분리 | 작업 단위로 새 대화 시작 | 무관한 맥락이 섞이는 것을 방지 |
| 파일 참조 | 코드를 직접 붙여넣지 않고 경로로 안내 | 토큰 절약 — AI가 필요할 때 직접 읽음 |
| 요약 핸드오프 | 이전 대화 결과를 3줄로 요약하여 전달 | 새 대화에 핵심 맥락만 이식 |
bash
# CLAUDE.md 예시 — 프로젝트의 "영구 기억장치"
# 파일 위치: 프로젝트 루트/CLAUDE.md
cat > CLAUDE.md << 'EOF'
# 프로젝트 규칙
## 기술 스택
- Next.js 15, React 19, TypeScript, Tailwind CSS v4
- DB: Supabase (PostgreSQL)
- 배포: Vercel
## 코딩 규칙
- 한국어 주석 사용
- 컴포넌트는 src/components/ 아래에 생성
- Server Action은 src/app/actions/ 아래에 생성
## 절대 금지
- any 타입 사용 금지
- console.log 커밋 금지
- 다크 테마 금지 (밝은 배경만 사용)
EOFCLAUDE.md는 Claude Code가 대화를 시작할 때 자동으로 읽는 파일이다. 프로젝트의 기술 스택, 규칙, 금지 사항을 적어두면 매번 반복 설명하지 않아도 된다.
`/compact` 명령어는 Claude Code에서 대화가 너무 길어졌을 때 사용한다. 지금까지의 대화를 핵심만 추려서 요약한 뒤, 그 요약을 새로운 컨텍스트로 삼아 작업을 이어간다. 체감상 "AI가 멍해졌다" 싶을 때 사용하면 좋다.
bash
# 컨텍스트 관리 실전 팁
# 1. 대화가 길어지면 /compact로 압축
/compact
# 2. 새 작업은 새 대화에서 시작
# (이전 작업 맥락이 새 작업을 오염시키지 않도록)
# 3. 핸드오프: 이전 대화 결과를 새 대화에 전달
claude "이전 대화에서 로그인 기능을 구현했다.
- Google OAuth 연동 완료 (src/app/login/page.tsx)
- Supabase Auth 설정 완료
- 아직 미완: 로그아웃 버튼, 세션 만료 처리
이어서 로그아웃 기능을 구현해줘."
# 4. 파일 경로로 안내 (코드 붙여넣기 대신)
claude "src/components/Header.tsx를 읽고
모바일 반응형으로 수정해줘"코드를 직접 붙여넣으면 토큰을 많이 소모한다. 파일 경로만 알려주면 Claude Code가 직접 파일을 읽어서 처리하므로 훨씬 효율적이다.
대화 분리 원칙: 하나의 대화에서는 하나의 큰 작업만 처리한다. "로그인 구현"과 "결제 시스템 구축"을 같은 대화에서 하면, 맥락이 뒤섞여 두 작업 모두 품질이 떨어진다. 작업이 바뀌면 새 대화를 시작하되, 이전 결과를 3줄 요약으로 핸드오프한다.