Claude Codecontext window토큰 관리AI 개발 도구

Claude Code, 대화가 길어질수록 느려지는 이유와 /clear 활용법

May 2, 20261 min read

왜 대화가 길어질수록 뭔가 이상해지는 걸까?

Claude Code를 쓰다 보면 이런 경험을 한 번쯤 해봤을 것 같다.

처음엔 빠릿빠릿하게 응답하던 Claude가, 대화가 30분~1시간 지나면서부터 점점 느려지고, 가끔은 엉뚱한 소리를 하거나 앞서 말한 내용을 까먹은 것처럼 행동한다. 그리고 /context 명령어를 쳐보면 이런 화면이 뜬다.

Context Usage
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛀ ⛀ ⛀   Sonnet 4.6
...
16.7k/200k tokens (8%)

숫자가 8%면 괜찮아 보이는데, 세션이 길어지면 이게 50%, 70%까지 올라간다. 바로 context window가 차고 있기 때문이다.


context가 뭔데 쌓이는 거야?

LLM(대형 언어 모델)은 기본적으로 지금까지의 대화 전체를 매번 입력으로 넣어서 다음 응답을 만든다. 내가 "파일 읽어줘"라고 하면 Claude는:

  • 지금까지 내가 한 말 전부
  • Claude가 응답한 내용 전부
  • 도구 호출 결과 (파일 내용, 명령어 출력 등) 전부

이 모든 걸 다 보면서 대답한다. 이 덩어리의 크기가 바로 토큰 사용량이다.

대화가 길어질수록 생기는 문제원인
응답이 느려진다입력 토큰이 많아서 처리 시간 증가
비용이 올라간다토큰 수에 비례해서 API 비용 증가
맥락을 잃는다context가 한계에 가까워지면 앞 내용이 압축되거나 잘림
이상한 응답이 나온다오래된 맥락과 새 요청이 충돌

200k 토큰이 한계면 많아 보이지만, 파일을 여러 개 읽거나 긴 코드를 수정하다 보면 생각보다 금방 찬다.


/clear가 뭘 하는 건가

/clear현재 세션의 대화 기록을 전부 지우는 명령어다. Claude Code를 새로 실행한 것처럼 context를 초기화한다.

/clear

입력하면 즉시 토큰 카운터가 초기 상태로 돌아간다. Claude는 이전 대화를 모른다 — 마치 새 세션을 연 것처럼.

주의할 점

  • /clear 후에는 이전 대화 내용에 접근할 수 없다
  • "아까 그 코드 다시 봐줘"가 안 된다
  • 하지만 파일은 그대로다. 코드 변경 사항은 사라지지 않는다

언제 /clear를 써야 하나

써야 할 때

작업이 완전히 바뀔 때가 제일 좋은 타이밍이다.

[이전 작업] 로그인 기능 버그 수정 → 완료
[다음 작업] 전혀 다른 UI 컴포넌트 작업 시작
→ 이때 /clear

맥락이 이어질 필요가 없고, 이전 대화가 오히려 노이즈가 될 때는 과감하게 지우는 게 낫다.

토큰이 50% 넘으면 슬슬 고민해볼 타이밍이다. /context로 수시로 확인하자.

/context   ← 현재 토큰 사용량 확인

쓰지 말아야 할 때

작업이 연속성이 있을 때는 섣불리 clear하면 안 된다. 예를 들어:

  • 여러 파일에 걸친 리팩토링 진행 중
  • Claude가 코드 구조를 파악하고 있어서 그 맥락이 필요한 상황
  • 오류 해결 흐름이 이어지는 중

이럴 땐 clear 대신 **자동 압축(autocompact)**에 맡기는 게 낫다.


/context로 현황 파악하기

/clear 전에 항상 /context로 현재 상태를 보는 습관을 들이자.

/context

출력 예시를 해석하면:

16.7k/200k tokens (8%)

Estimated usage by category
⛁ System prompt:   6.7k tokens (3.3%)
⛁ System tools:    7.8k tokens (3.9%)
⛁ Memory files:     949 tokens (0.5%)
⛁ Skills:            1k tokens (0.5%)
⛁ Messages:         110 tokens (0.1%)
⛶ Free space:     150.3k (75.2%)
⛝ Autocompact buffer: 33k tokens (16.5%)

보는 포인트:

항목설명
Messages지금까지 주고받은 대화. 이게 계속 쌓인다
Free space남은 공간. 낮아질수록 위험
Autocompact buffer자동 압축용 버퍼 공간

Messages가 전체의 30~40%를 차지하기 시작하면 /clear를 고려하자.


실전 흐름 예시

Step 1: 작업 시작 전 상태 확인

/context

토큰이 많이 쌓여 있으면 clear 먼저.

Step 2: 독립적인 작업 단위로 세션 나누기

한 세션에서 모든 걸 하려 하지 말고, 작업 단위로 끊어서 진행하는 게 효율적이다.

[세션 1] 기능 A 구현 → /clear
[세션 2] 기능 B 구현 → /clear
[세션 3] 버그 수정

Step 3: 필요한 맥락은 파일로 남기기

/clear 전에 Claude가 알아야 할 중요한 맥락이 있다면 파일로 정리해두자.

<!-- CONTEXT.md -->
## 현재 작업 맥락
- auth 모듈 리팩토링 중
- JWT 방식에서 session 방식으로 전환
- /src/auth/middleware.ts 가 핵심 파일

다음 세션에서 이 파일을 Claude에게 읽으라고 하면 맥락을 빠르게 복원할 수 있다.


자동 압축(autocompact)은 뭔가

Claude Code는 context가 한계에 가까워지면 자동으로 오래된 내용을 압축한다. 이게 autocompact다.

장점: 내가 신경 안 써도 어느 정도 자동으로 관리된다
단점: 압축 과정에서 세부 맥락이 손실될 수 있고, 압축 자체도 토큰을 소모한다

즉, autocompact에만 의존하는 건 완전한 해결책이 아니다. 작업 단위가 명확히 끝났을 때는 /clear로 깔끔하게 초기화하는 게 더 좋다.


핵심 정리

작업 완료 → /clear → 새 작업 시작
     ↑
이 흐름을 습관화하면 된다
명령어용도
/context현재 토큰 사용량 확인
/clear대화 기록 초기화 (파일은 유지)

Claude Code를 쓸 때 context 관리를 의식적으로 하는 것만으로도 응답 품질과 속도가 체감상 달라진다. 특히 하루 종일 Claude와 작업할 때는 작업 단위마다 /clear를 쓰는 걸 강력히 추천한다.

PM

backtodev

40대 PM, 다시 개발자로 돌아갑니다. 실패하고 배우며 성장하는 기록.

Claude Code, 대화가 길어질수록 느려지는 이유와 /clear 활용법 | backtodev