클로드 코드 실전 팁 3편 - 컨텍스트 관리하기

클로드 코드 실전 팁 3편 - 컨텍스트 관리하기

2026. 08. 24.

한 세션을 오래 붙잡고 있으면 어느 순간부터 성능이 나빠집니다. 방금 정한 규칙을 다시 물어보고, 아까 읽은 파일을 또 읽어요. 코드가 어려워진 게 아니라 컨텍스트가 찬 겁니다.

지금 얼마나 찼는지는 /context로 바로 볼 수 있으며 /context all을 쓰면 더 펼쳐서 보여줘요.


1. 먼저 결론

찼을 때 쓸 수 있는 건 다섯 가지입니다. 고르는 기준은 하나예요. 지금 하던 대화를 이어가야 하는지, 아니면 끊고 새로 시작해도 되는지.

수단고르는 상황대화 기록
/clear [이름]주제가 바뀌어 앞 내용이 더 필요 없을 때비우고 새로 시작
/compact [지시]같은 대화를 이어가면서 자리만 비우고 싶을 때요약으로 남음
handoff 문서작업 내용을 파일로 넘길 때문서에 적은 것만
세션 + peer messaging다른 세션에 이어서 시키고 싶을 때보낸 텍스트만
/btw [질문]곁가지 질문 하나만 하고 싶을 때건드리지 않음
컨텍스트가 찼을 때 고를 수 있는 다섯 가지, 끊는 정도 순으로
컨텍스트가 찼을 때 고를 수 있는 다섯 가지, 끊는 정도 순으로

덜 차게 만드는 쪽은 세 가지입니다. /autocompact로 자동 압축 시점을 앞당기고, 큰 읽기는 Subagent에 맡기고, 필요하면 외부 도구를 겁니다.


2. 컨텍스트가 찼을 때

위 표의 다섯 가지를 하나씩 봅니다. 순서는 끊는 쪽에서 안 끊는 쪽으로 갑니다.

2-1. /clear [이름] - 끊고 새로 시작하기

빈 컨텍스트로 새 대화를 시작합니다. 이름을 붙이면 직전 대화에 라벨이 달려서 나중에 /resume 목록에서 그 이름으로 찾을 수 있어요. 같은 대화를 계속 이어가야 한다면 /clear 대신 /compact입니다.

/clear auth-refactor

실행하면 대화가 비워집니다. /resume을 열었을 때 목록에 auth-refactor가 보이면 제대로 라벨이 붙은 것입니다.

2-2. /compact [지시] - 이어가면서 비우기

지금까지의 대화를 요약해서 자리를 비웁니다. 뒤에 지시를 붙이면 그 기준으로 요약해요. 자동 압축이 알아서 고르게 두는 대신 무엇을 남길지 직접 정하는 셈입니다.

/compact focus on the auth bug fix

압축 뒤에 무엇이 살아남는지는 정해져 있습니다.

항목압축 뒤
시스템 프롬프트, 출력 스타일그대로. 애초에 대화 기록이 아니다
프로젝트 루트 CLAUDE.md, 범위 없는 규칙디스크에서 다시 주입
auto memory디스크에서 다시 주입
읽거나 수정한 파일최근 수정순으로 최대 다섯 개까지 다시 읽음
호출했던 스킬 본문스킬당 5,000 토큰, 전체 25,000 토큰까지. 오래된 것부터 빠짐

대화 전체가 아니라 일부만 줄이고 싶다면 /rewind로 메시지를 하나 고른 뒤 Summarize from here나 Summarize up to here를 고릅니다.

2-3. handoff 문서 - 파일로 넘기기

작업 상태를 문서로 적어 두고 새 세션에서 그 문서부터 읽게 하는 방식입니다. 문서를 쓰는 동안 이미 부족한 컨텍스트를 더 쓰고, 새 세션은 그 문서를 다시 읽느라 또 씁니다. 남는 건 문서에 적은 것뿐이라, 적다가 빠뜨린 판단은 새 세션이 물어볼 데가 없어요

2-4. 세션 + peer messaging - 다른 세션에 넘기기

저는 handoff 문서를 쓰는 것보다 세션을 하나 더 열고 peer messaging으로 넘기는 편을 씁니다. 문서를 쓰는 시간에 받는 쪽이 바로 되묻는 게 더 빠르고, 무엇을 적을지 미리 고르지 않아도 되니까요.

/list-agents

연결할 수 있는 subagent, 팀원, 다른 Claude Code 세션이 각각 부를 이름과 함께 나옵니다. 목록에 상대 세션이 보이면 넘길 준비가 된 것입니다. cross-session messaging이 켜진 세션에서만 보이빈다.

넘어가는 건 평문 텍스트뿐입니다. 2편에서 다룬 그대로, 대화 기록이나 파일 전체가 따라가지는 않습니다. 그래서 넘길 때는 지금까지 한 일보다 다음에 할 일과 그 이유를 보내는 편이 낫습니다.

2-5. /btw [질문] - 컨텍스트를 건드리지 않고 물어보기

지금 세션에 대해 곁가지 질문을 하되 대화에는 더하지 않습니다. 메인 컨텍스트 자체에는 영향을 주지 않아요. 질문 없이 /btw만 치면 가장 최근 곁가지 질문을 보여줘서 앞선 답들을 훑을 수 있습니다.

/btw 지금 이 파일 어디서 import 되고 있어?

답을 받은 뒤 /context를 다시 열었을 때 사용량이 그대로면 컨텍스트를 쓰지 않은 게 맞습니다. v2.1.212 이전에는 질문을 반드시 붙여야 했습니다.

대화를 그 지점에서 갈라 다른 방향으로 실제 작업을 해보려는 거라면 /branch가 따로 있습니다. /branch는 갈라진 쪽으로 넘어가고 원본은 /resume으로 돌아와요.


3. 컨텍스트 잘 관리하기

여기부터는 찼을 때가 아니라 덜 차게 만드는 쪽입니다. 한 번 걸어두면 다음 세션부터 계속 적용됩니다.

3-1. autocompact - 자동 압축 시점 정하기

컨텍스트가 얼마나 찼을 때 자동으로 압축할지 정합니다. 비율이 아니라 절대 토큰 수예요. 100K에서 1M 사이 값을 받고, 200000, 500k, 1M처럼 쓰거나 100에서 1000 사이 맨숫자를 넣으면 천 단위로 읽습니다. 200이면 200,000입니다.

/autocompact 500k

값은 user settings의 autoCompactWindow에 저장되고 지금 세션에도 바로 적용됩니다. 제대로 걸렸는지는 /context를 다시 열어 확인하면 됩니다. auto를 넣으면 모델에 맞춰진 기본값으로 돌아가요. Claude Code v2.1.221 이상이 필요합니다.

3-2. Subagent에 큰 읽기 위임하기

컨텍스트를 가장 빨리 채우는 건 대화가 아니라 읽어 들인 내용입니다. 조사처럼 중간 과정이 긴 작업은 subagent에 보냅니다. 파일 내용이 그쪽 컨텍스트에 쌓이고 내 쪽에는 결론만 돌아와요. 2편에서 subagent와 Agent Teams, cross-session messaging의 차이를 다뤘는데, 여기서는 컨텍스트를 아끼는 각도만 봅니다.

이 저장소에서 인증 흐름이 어디서 시작하는지 subagent에게 조사시켜줘.
메인 세션에는 파일 경로와 결론만 가져와.

조사한 파일 내용이 아니라 경로와 결론만 돌아왔다면 위임이 제대로 된 것입니다. 자주 쓰는 위임 에이전트는 .claude/agents/<name>.md에 정의 파일로 두면 매번 설명하지 않아도 됩니다.

3-3. MCP 도구와 메모리 파일 정리하기

MCP 도구를 많이 붙였다면 스키마가 지연 로드된다는 점도 알아두면 좋습니다. 기본은 이름만 먼저 올라가고 스키마는 필요할 때 불러와요. ENABLE_TOOL_SEARCH=auto면 컨텍스트의 10% 안에 들어갈 때 미리 로드하고, false면 전부 즉시 로드합니다. 특별한 이유가 없다면 기본값을 그대로 둡니다.

메모리 파일이 자리를 많이 차지한다고 나오면 /memory로 CLAUDE.md와 auto memory를 열어 정리합니다.


4. 토큰을 미리 줄이는 오픈소스

Claude Code 바깥에서 컨텍스트에 닿는 양 자체를 줄이는 도구도 있습니다. 세 개가 자주 언급되는데 줄이는 지점이 각각 달라서 같이 써도 겹치지 않아요.

도구어디서 줄이나주장 수치
RTK명령 실행 결과가 컨텍스트에 닿기 전토큰 80% 감소
Headroom파일과 데이터를 읽어 들이는 단계토큰 87.6% 감소
Caveman모델이 답을 내보내는 단계출력 토큰 65% 감소

4-1. RTK - 명령 출력을 걸러낸다

link_previewhttps://github.com/rtk-ai/rtk
RTK는 명령 실행 결과가 컨텍스트에 닿기 전에 걸러낸다
RTK는 명령 실행 결과가 컨텍스트에 닿기 전에 걸러낸다

빌드 로그나 테스트 출력처럼 길기만 하고 대부분 다시 볼 일 없는 내용이 컨텍스트를 가장 크게 먹습니다. RTK는 그 출력이 모델에 닿기 전에 중복 로그를 접고, 파일을 디렉터리별로 묶고, 군더더기를 지웁니다.

brew install rtk && rtk init -g

걸고 나서 rtk gain으로 얼마나 줄었는지 봅니다. 같은 명령을 다시 돌려 /context 숫자가 줄었으면 제대로 걸린 것입니다.

4-2. Headroom - 읽어 들이는 데이터를 압축한다

link_previewhttps://github.com/chopratejas/headroom
Headroom은 파일과 데이터를 읽어 들이는 단계에서 압축한다
Headroom은 파일과 데이터를 읽어 들이는 단계에서 압축한다

RTK가 명령 출력만 본다면 Headroom은 읽어 들이는 데이터 전체를 봅니다. 파일, JSON, 대화 기록을 종류에 맞는 방식으로 압축하고, 모델이 원본을 필요로 하면 다시 꺼내 줍니다. 큰 파일을 자주 읽는 작업에 맞아요.

pip install headroom-ai
headroom wrap claude

설치하고 나면 http://localhost:7878/dashboard에서 지금 얼마나 줄고 있는지 실시간으로 볼 수 있습니다.

4-3. Caveman - 모델의 답변을 짧게 만든다

link_previewhttps://github.com/JuliusBrussee/caveman
Caveman은 모델이 답을 내보내는 단계에서 줄인다
Caveman은 모델이 답을 내보내는 단계에서 줄인다

앞의 둘이 들어오는 양을 줄인다면 Caveman은 나가는 양을 줄입니다. 인사말과 군더더기를 걷어내고 핵심만 남기되 코드와 URL은 그대로 둡니다. 대화가 길어질수록 모델 자신의 답변도 컨텍스트에 쌓이기 때문에 효과가 납니다.

claude plugin marketplace add JuliusBrussee/caveman

압축 강도는 lite(문법 유지), full(기본), ultra(최대) 중에 고릅니다.

셋을 한꺼번에 붙이기보다 /context에서 무엇이 자리를 많이 먹는지 먼저 보고 고르는 편이 낫습니다. 명령 출력이 문제면 RTK, 큰 파일이 문제면 Headroom, 대화가 길어서면 Caveman입니다.


마지막 체크리스트

다음에 답이 흐려졌을 때 이 순서로 고릅니다.

먼저 /context로 무엇이 자리를 먹는지 본다
주제가 바뀌었으면 /clear [이름]
같은 대화를 이어가야 하면 /compact [지시]
다른 세션에 넘길 거면 /list-agents로 상대를 확인하고 peer messaging
곁가지 질문 하나면 /btw
한 번 걸어둘 것 - /autocompact 값, 큰 읽기는 Subagent, 필요하면 RTK