컨텍스트 관리
정확하고 관련성 높은 응답을 위한 전략적 컨텍스트 관리. 정보를 언제 추가하고, 지우고, 정리할지 배워요.
프리미엄 강좌 콘텐츠
이 레슨은 프리미엄 강좌의 일부예요. Pro로 업그레이드하면 모든 프리미엄 강좌와 콘텐츠를 이용할 수 있어요.
- 모든 프리미엄 강좌 이용
- 1000개 이상의 AI 스킬 템플릿 포함
- 매주 새로운 콘텐츠 추가
컨텍스트가 전부예요
이전 레슨에서 핵심 명령어를 다뤘어요. 이제 그 기반 위에 컨텍스트 관리를 쌓아볼게요.
Claude Code의 응답 품질은 여러분이 제공하는 컨텍스트에 달려 있어요. 올바른 파일을 주면 좋은 답변을 받아요. 관련 없는 것들을 쏟아넣으면 혼란스러운 응답을 받게 돼요.
컨텍스트 관리는 단순히 파일을 추가하는 게 아니에요. Claude가 원하는 결과를 내놓을 수 있도록 보여줄 것을 전략적으로 큐레이션하는 거예요.
컨텍스트의 작동 원리
Claude의 컨텍스트를 책상이라고 생각하세요. 작업 공간은 한정되어 있어요. 책상 위의 모든 것이 주의를 놓고 경쟁해요.
작고 정돈된 책상: 필요한 것을 찾을 수 있어요. 효율적으로 일해요.
크고 어수선한 책상: 중요한 것이 묻혀요. 집중이 흐트러져요.
Claude도 마찬가지예요. 관련 파일 몇 개가 간접적으로 관련된 수십 개보다 나아요.
최소 필요 컨텍스트 원칙
추가하기 전에 물어보세요: “현재 작업에 Claude가 이게 필요한가?”
필요하면 추가:
- 질문하거나 수정하려는 파일
- 사용 중인 인터페이스를 정의하는 파일
- 따르고 싶은 패턴이 있는 파일
- 예상 동작을 보여주는 테스트 파일
불필요하면 건너뛰기:
- “혹시 몰라서” 추가하는 전체 디렉토리
- 주제에 간접적으로만 관련된 파일
- Claude가 수정할 필요 없는 대형 설정 파일
- Claude가 참조할 필요 없는 문서
불확실하면: 일단 빼고 시작하세요. Claude가 정보가 부족해 보이면 그때 추가하세요.
컨텍스트 레이어링 전략
일반적인 것에서 구체적인 것으로, 컨텍스트를 층층이 쌓아가세요.
레이어 1: 프로젝트 이해
/add README.md package.json
프로젝트의 개요. 이게 뭐야? 어떤 스택?
레이어 2: 아키텍처 컨텍스트
/add src/index.js src/routes.js
진입점과 구조. 어떻게 조직되어 있어?
레이어 3: 기능 컨텍스트
/add src/auth/*.js
작업 중인 특정 영역.
레이어 4: 작업 컨텍스트
/add src/auth/login.js src/auth/types.ts
현재 작업에 필요한 정확한 파일들.
항상 모든 레이어가 필요하진 않아요. 간단한 버그 수정이라면 레이어 4로 바로 가세요.
컨텍스트 신호 읽기
Claude가 컨텍스트에 문제가 있을 때 신호를 보내요:
"…을 볼 수 없습니다" Claude에 파일이 빠져 있어요. 추가하세요.
존재하지 않는 코드를 언급할 때 실제 코드가 없어서 추측하고 있어요. 소스 파일을 추가하세요.
일관성 없는 스타일이나 패턴 기존 코드를 보지 못했어요. 원하는 패턴의 예시를 추가하세요.
매우 느린 응답
컨텍스트가 너무 클 수 있어요. /compact을 시도하세요.
오래된, 관련 없는 작업을 참조할 때
구식 정보로 컨텍스트가 어수선해요. /clear 후 다시 구축을 고려하세요.
작업별 컨텍스트 전략
버그 수정
/clear
/add [버그가 있는 파일]
/add [관련될 수 있는 파일들]
> 에러가 이거야: [에러 메시지]
> 버그를 찾아서 고쳐줘.
최소한의 집중된 컨텍스트. 이슈를 이해하고 고치는 데 필요한 것만.
기능 개발
/clear
/add src/similar-feature/* # 따라야 할 패턴
/add src/types/*.ts # 타입 정의
/add tests/similar-feature.test.js # 테스트 패턴
> X 기능을 새로 만들어. 기존 패턴을 따라줘.
컨텍스트가 Claude에게 어떤 패턴을 따를지 알려줘요.
코드 리뷰
/add $(git diff --name-only HEAD~1) # 변경된 파일만
> 이 변경사항에서 버그, 스타일 이슈, 잠재적 문제를 리뷰해줘.
실제로 바뀐 것에 집중.
리팩토링
/add [리팩토링에 관련된 모든 파일]
> [컴포넌트]를 [새 패턴]으로 리팩토링해줘.
> 이 파일들에 걸쳐 모든 사용처를 업데이트해줘.
영향받는 모든 파일을 미리 추가해서 일관된 변경을 가능하게 해요.
낯선 코드 이해하기
/add src/mystery-module/*
> 이 모듈이 어떻게 작동하는지 설명해줘. 메인 진입점이 뭐야? 각 부분이 어떻게 연결돼?
여러분이 코드에 뛰어들기 전에 Claude가 먼저 탐색하고 설명하게 하세요.
대규모 작업을 위한 컨텍스트 청킹
일부 작업은 편안하게 담을 수 있는 것보다 더 많은 컨텍스트가 필요해요. 해결책: 작업을 나눠요.
이렇게 하지 마세요:
/add src/**/* # 전부 — 너무 많아요
> 코드베이스 전체를 TypeScript로 리팩토링해줘
이렇게 하세요:
# 세션 1
/add src/utils/*
> utils를 TypeScript로 변환해줘. tsconfig는 이거야.
# 세션 2
/clear
/add src/models/*
> models를 TypeScript로 변환해줘. utils의 패턴을 따라줘.
# 세션 3
/clear
/add src/services/*
> services를 TypeScript로 변환해줘.
각 세션이 집중된 컨텍스트를 가져요. 작업은 점진적으로 진행돼요.
실습
다음 컨텍스트 관리 연습을 해보세요:
- 프로젝트에서 Claude Code 열기
- 너무 많은 파일 추가하기:
/add **/*.js - 특정 함수에 대해 구체적인 질문하기
- 응답이 관련 없는 코드를 참조하는지 관찰
/clear하고 관련 파일만 추가하기- 같은 질문하기
- 응답 품질 비교하기
집중된 컨텍스트가 보통 이겨요.
컨텍스트 관리 체크리스트
작업 시작 전:
- 이전 컨텍스트가 관련 없으면
/clear또는/compact - 필요한 최소한의 파일 파악
- 논리적 순서로 파일 추가 (패턴 먼저, 다음에 대상 파일)
-
/ls로 컨텍스트가 올바른지 확인
작업 중:
- Claude가 정보를 놓치고 있는 것 같으면 필요에 따라 파일 추가
- 응답이 느려지면
/compact사용 - “혹시 몰라서” 파일을 추가하지 않기
작업 완료 후:
- 다음 작업과 겹치는 컨텍스트가 있으면
/compact고려 - 관련 없는 작업으로 전환할 때
/clear
핵심 정리
- 컨텍스트는 양보다 질이 중요해요
- 최소 필요 컨텍스트: 현재 작업에 필요한 것만 추가하세요
- 작업 복잡도에 따라 일반적인 것에서 구체적인 것으로 레이어링하세요
- 컨텍스트 조정이 필요하다는 신호를 주시하세요
- 대규모 작업은 집중된 세션으로 나눠서 진행하세요
다음에는 Claude가 더 많은 작업을 수행하도록 멀티스텝 작업 오케스트레이션을 배워요.
다음 레슨: 태스크 오케스트레이션을 심층적으로 다뤄요.
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!