Code 입문

Claude Code 컨텍스트 창 관리법 — 품질 저하 없이 길게 쓰는 5가지 습관

seunghyeonlab 2026. 5. 25. 10:16

hero

Claude Code를 쓰다 보면 갑자기 응답 품질이 떨어지거나, 분명히 말했던 내용을 모른다는 듯 행동하는 순간이 온다. 이 글은 그 원인이 컨텍스트 창 포화라는 걸 모르고 그냥 넘어가던 개발자를 위한 글이다. 증상을 짚고, 실제로 효과 있는 관리법 다섯 가지를 정리했다.


1. 왜 지금 이걸 봐야 하나

Claude Code는 대화를 "기억"하지 않는다. 매 응답마다 지금까지의 대화 전체를 하나의 긴 텍스트로 묶어서 처음부터 읽는다. 사람처럼 앞 내용을 기억에 저장해두는 구조가 아니다.

이 텍스트에는 한계가 있다. Claude Code가 쓰는 모델의 컨텍스트 창은 200K 토큰이다. 한글 기준으로 대략 10만 자 수준이다. 이게 꽉 차면 두 가지 중 하나가 일어난다. 모델이 오래된 내용을 자동으로 잘라내거나, 포화 상태에서 억지로 응답을 만들어내면서 품질이 무너진다.

현장에서 겪는 증상은 이렇다.

  • 아까 수정한 함수를 다시 그대로 만든다
  • 엉뚱한 파일을 건드린다
  • "앞에서 말씀드렸듯이"라며 실제로 하지 않은 말을 언급한다
  • 응답 속도가 눈에 띄게 느려진다

이 증상들이 동시에 몇 가지 나타난다면, 컨텍스트 포화를 의심해야 한다.


2. 핵심 아이디어

컨텍스트 관리의 핵심은 하나다. Claude에게 꼭 필요한 정보만, 필요한 순간에 넣어라.

대화창에 쌓이는 모든 내용이 컨텍스트를 먹는다. 코드를 직접 붙여넣거나, 범위 없이 "전체 분석"을 요청하거나, 하나의 대화에서 너무 많은 작업을 처리하려 할 때 문제가 커진다.

반대로 말하면, 컨텍스트를 아끼는 습관 몇 가지만 들이면 훨씬 긴 세션에서도 일관된 품질을 유지할 수 있다. 방법은 복잡하지 않다.


3. 바로 따라하는 방법

습관 1: /clear로 세션을 끊어라

새 작업을 시작할 때 가장 먼저 할 일이다.

/clear

이 명령어 하나로 대화 히스토리 전체가 초기화된다. Claude는 빈 상태에서 다시 시작한다. 타이밍은 하나의 작업이 완전히 끝난 직후가 맞다. 중간에 치면 필요한 맥락도 같이 사라진다.


습관 2: 코드를 채팅창에 붙여넣지 마라

Claude Code는 파일을 직접 읽는다. 대화창에 코드를 복사해 넣을 이유가 없다.

# 이렇게 하지 마라 — 500줄짜리 코드를 채팅창에 붙여넣기

# 이렇게 해라
src/api/auth.ts 파일의 login 함수에서 토큰 검증 로직만 수정해줘

파일 경로와 함수 이름만 명시하면 Claude Code가 직접 열어서 읽는다. 컨텍스트 소모가 절반 이하로 줄어든다.


습관 3: CLAUDE.md로 반복 설명을 없애라

매 세션마다 "우리 프로젝트는 Next.js 14이고, TypeScript strict 모드이고, 테스트는 Vitest로..." 설명하면 그 자체가 컨텍스트 낭비다.

프로젝트 루트에 CLAUDE.md 파일을 만들어두면 Claude Code가 세션 시작 시 자동으로 읽는다.

# 프로젝트 개요
- Next.js 14, App Router
- TypeScript strict 모드
- 패키지 매니저: pnpm
- 테스트: Vitest + Testing Library
- 스타일: Tailwind CSS

# 코드 컨벤션
- 함수형 컴포넌트만 사용
- 상태 관리: Zustand
- API 호출: React Query

# 주의사항
- any 타입 금지
- console.log 커밋 금지

한 번 만들어두면 이후 세션에서 별도 설명 없이 이 규칙이 적용된다.


습관 4: 작업 단위를 쪼개라

하나의 대화에서 로그인 UI, API, DB 연결, 에러 처리, 테스트까지 한꺼번에 요청하면 컨텍스트가 빠르게 포화된다.

# 비교

# 나쁜 방식
로그인 기능 전체를 만들어줘. UI, API, DB 연결, 에러 처리, 테스트까지 전부.

# 좋은 방식
1단계: login API 엔드포인트만 만들어줘  →  완료  →  /clear
2단계: 로그인 UI 컴포넌트만 만들어줘    →  완료  →  /clear
3단계: login 테스트 코드만 작성해줘     →  완료  →  /clear

작업 단위가 작아질수록 각 대화의 컨텍스트가 깔끔하게 유지된다. 응답 품질도 올라간다.


습관 5: 파일 읽기 범위를 좁혀라

"프로젝트 전체를 분석해줘"는 수십 개 파일을 한꺼번에 읽게 만든다. 그 내용 전부가 컨텍스트에 쌓인다.

# 나쁜 방법
우리 프로젝트 구조를 파악해줘

# 좋은 방법
src/auth 폴더 안의 파일들만 보고 세션 관리 방식을 설명해줘

폴더나 파일 이름, 함수 이름까지 구체적으로 명시할수록 Claude Code가 읽는 파일 수가 줄어든다.


컨텍스트 사용량 확인 방법

Claude Code 화면 하단에 현재 컨텍스트 사용 비율이 표시된다. 70%를 넘으면 경계 신호다. 현재 작업을 마무리한 뒤 /clear를 칠 타이밍이다.

사용률 상태 권장 행동
~50% 정상 계속 진행
50~70% 주의 작업 단위 축소 고려
70~90% 경계 현재 작업 마무리 후 /clear
90%+ 위험 즉시 /clear, 품질 저하 구간

4. 운영할 때 조심할 점

/clear를 너무 자주 치면 작업 간 연결 맥락이 끊긴다. 예를 들어 API를 만들고 UI를 만들 때 API의 응답 구조를 Claude가 알아야 한다면, /clear 전에 그 구조를 CLAUDE.md에 적어두거나 다음 세션 시작 시 짧게 다시 알려줘야 한다.

CLAUDE.md가 너무 길어지는 것도 문제다. 300줄이 넘는 CLAUDE.md는 세션 시작부터 컨텍스트를 잡아먹는다. 실제로 반복해서 쓰는 정보만 남기고, 한 번 쓰고 마는 내용은 넣지 않는 게 좋다.

파일 경로를 지정할 때 잘못된 경로를 주면 Claude Code가 파일을 못 찾고 엉뚱한 곳을 뒤진다. 경로는 프로젝트 루트 기준 상대 경로로 정확하게 적는 습관을 들여라.


마무리

컨텍스트 관리는 Claude Code를 길게, 일관되게 쓰기 위한 가장 기본적인 습관이다. /clear로 세션을 끊고, 파일은 경로로 참조하고, 반복 설명은 CLAUDE.md에 위임하고, 작업은 작게 쪼개는 것. 이 네 가지만 지켜도 응답 품질이 눈에 띄게 달라진다.

다음 글에서는 Claude Code의 CLAUDE.md를 더 실전적으로 구성하는 방법을 다룬다. 어떤 내용을 어떤 순서로 배치해야 Claude가 가장 잘 읽는지 정리할 예정이다.


🐦 X에서 더 빠르게: @baegseungh7061
📚 이 시리즈 더 보기: Code 입문
💌 새 글 알림: X 팔로우 또는 블로그 RSS 구독