컨텍스트를 비우는 두 도구 — /compact와 /clear는 언제 다르게 쓰나
2026.05.01
찾았으면 치워야 한다
지난 글에서 /context로 컨텍스트를 잡아먹는 범인을 찾는 법을 다뤘다. MCP 도구, CLAUDE.md, 그리고 쌓인 메시지와 큰 툴 출력. 이 중 세 번째, 세션이 길어지며 무거워진 대화는 도구를 연결하거나 파일을 지운다고 해결되지 않는다. 대화 자체를 비워야 한다.
Claude Code에는 이걸 위한 도구가 둘 있다. /compact와 /clear. 이름은 비슷해 보이지만 하는 일이 정반대에 가깝다. 하나는 접는 것이고 하나는 버리는 것이다. 이 둘을 헷갈려 쓰면, 살릴 맥락을 날리거나 반대로 쓰레기를 계속 짊어지고 간다.
두 도구가 하는 일
/compact는 지금까지의 대화를 Claude가 요약본으로 접는다. 어떤 결정을 했고 지금 어디까지 왔는지 같은 핵심은 남기고, 장황한 툴 출력과 중간 과정은 덜어낸다. 작업은 그대로 이어갈 수 있다. 자동 압축이 뜨기 직전에 내가 먼저 손으로 정리하는 셈이다.
/clear는 그냥 판을 엎는다. 대화 기록이 통째로 사라지고, 시스템 프롬프트·CLAUDE.md 같은 고정 영역만 남은 백지 상태로 돌아간다. 토큰은 거의 다 회수되지만, 방금 하던 맥락도 같이 날아간다.
언제 어느 쪽인가
기준은 하나다. "이 맥락을 이어서 쓸 건가?"
같은 PR을 계속 붙잡고 있는데 대화만 길어졌다면 /compact다. 결정과 진행 상황은 살려야 하니까. 반대로 A 기능을 끝내고 전혀 관련 없는 B 작업으로 넘어간다면 /clear가 맞다. A의 대화를 요약해서까지 들고 갈 이유가 없다. 오히려 남아 있으면 B 작업에서 헷갈리는 노이즈가 된다.
세 번째가 실전에서 자주 놓치는 경우다. systematic-debugging 글에서 다룬 것처럼, 잘못된 가설로 이것저것 시도하다 보면 대화가 실패한 시도로 가득 찬다. 이럴 땐 /compact로 그 혼란을 요약해 봤자 오염된 맥락이 요약된 채로 남는다. 차라리 /clear로 비우고, 지금까지 알아낸 사실만 새로 정리해서 시작하는 게 빠르다.
/compact를 잘 쓰는 법
/compact는 그냥 치는 것보다 무엇을 남길지 지시하면 훨씬 낫다. /compact 지금까지의 결정과 남은 작업만 남기고 요약해 처럼 초점을 주면, 요약이 쓸모 있는 방향으로 접힌다. 무엇을 살릴지는 내가 제일 잘 안다.
한 가지 주의. /compact도 공짜가 아니다. 요약을 만드는 것 자체가 한 번의 처리다. 그래서 1~2분마다 습관적으로 누르는 건 낭비다. 자동 압축이 임박했거나, 큰 탐색 작업을 막 끝내 툴 출력이 잔뜩 쌓였을 때처럼 회수할 게 확실히 많은 순간에 눌러야 값을 한다.
애초에 덜 채우는 게 먼저다
두 도구 모두 이미 찬 걸 치우는 사후 대응이다. 더 나은 건 애초에 큰 걸 대화에 안 들이는 것이다. 거대한 파일 탐색이나 로그 분석처럼 출력이 클 작업은 서브에이전트에 맡겨서 메인 대화에는 결론만 들어오게 할 수 있다. 이건 시리즈 마지막 글에서 제대로 다룬다.
/compact와 /clear는 소방수라면, 서브에이전트는 방화 설계다. 불이 나면 꺼야 하지만, 안 나게 짓는 게 먼저다.
직접 겪은 일: 압축을 믿었다가 규칙을 잃은 적이 있다
둘의 차이를 적었으니 압축 쪽에서 데인 이야기를 하나 적는다.
긴 세션에서 압축이 걸렸다. 요약이 남으니 이어서 일할 수 있다고 생각했는데, 그 뒤로 작업하던 브랜치 규칙이 지켜지지 않았다. 압축 전에 정해둔 「이 작업은 이 브랜치에서 한다」가 요약에서 빠진 것이다.
요약은 «무슨 이야기를 했는가»를 남기는 데는 좋은데, «무엇을 지키기로 했는가»는 잘 못 남긴다. 대화의 흐름에서 보면 곁가지처럼 보이기 때문이다.
지금은 두 가지로 대비한다. 하나는 지켜야 할 규칙을 대화가 아니라 파일에 적어두는 것 — 파일은 압축돼도 안 사라진다. 다른 하나는 압축 직전에 붙는 플러그인 훅을 켜두는 것이다. 압축 시점에 프로젝트 설정과 지시사항을 다시 붙여준다.
기준이 하나 더 생긴 셈이다. 이어서 할 일이 대화 내용에 달렸으면 압축, 지켜야 할 규칙에 달렸으면 차라리 비우고 규칙부터 다시 얹는 게 낫다.
정리
/compact— 대화를 요약해 접는다. 작업을 이어갈 때./clear— 대화를 통째로 비운다. 주제가 바뀌거나 오염됐을 때.- 기준은 하나 — "이 맥락을 이어서 쓸 건가?"
/compact는 회수할 게 많을 때만, 초점을 주고 눌러라.
/context로 범인을 찾고(1편), /compact·/clear로 치우는 법(2편)까지 왔다. 다음 글에서는 범인 중 가장 흔한 MCP 도구 정의를 정면으로 다룬다. 안 쓰는 도구를 컨텍스트에서 빼는 tool-search 지연 로딩 이야기다.
같이 읽으면 좋은 글
내 토큰을 누가 먹고 있나 — Claude Code /context로 컨텍스트 해부하기
컨텍스트가 꽉 차서 느려지고 자동 압축되는데 원인을 모른다면, /context 하나면 된다. 무엇이 토큰을 먹는지 카테고리별로 분해해서 보는 법과, 범인별 대응법을 정리한다.
Claude Code토큰관리생산성2026.04.30AI에게 '일단 만들어줘'라고 하지 마라 — brainstorming 스킬
코드부터 시키면 잘못된 걸 빠르게 만든다. 승인 전 구현을 막는 brainstorming 스킬을 HARD-GATE, 한 번에 한 질문, 2-3 접근법 제시까지 실전 사용법으로 정리한다.
AI설계Claude Code2026.04.29AI에게 '일단 고쳐봐'라고 하지 마라 — systematic-debugging 스킬
버그를 만나면 AI에게 던지고 랜덤하게 고치던 습관을 systematic-debugging 스킬 하나가 바꿨다. Iron Law, 4단계 방법론, 3번 실패하면 아키텍처를 의심하라는 규칙까지 실전 사용법으로 정리한다.
AI디버깅Claude Code2026.04.28