Claude Code /compact와 /clear, 언제 쓰나: 같은 세션 갈라 실측

사람이 직접 검수한 글 · 검수 검수 방식

시리즈 · AI가 자꾸 까먹을 때 2/2편 예제 파일 1개 받기 ↓

Claude Code가 엉뚱해지기 시작하면 같은 작업은 /compact, 다른 작업은 /clear, 끝까지 지킬 규칙은 CLAUDE.md에 두면 됩니다. 같은 세션을 325K까지 채운 뒤 갈라서 재 보니, /compact는 46K로 줄이고도 처음 대화로 준 규칙을 4번 모두 지켰습니다. 반면 대화로만 준 규칙은 새 대화(/clear 뒤와 같은 상태)로 넘어가지 못했고, 2번 모두 버튼 문구가 바뀌었습니다. 같은 규칙을 CLAUDE.md에 적어 두자 새 대화에서도 2번 모두 지켰습니다.

직접 해 본 결과

/compact 전후 /context 화면 값, Sonnet 5.5(창 1M)
325K → 46K
압축 뒤 규칙 지시 없이 2번, 남길 것 지시 2번
4/4 지킴
새 대화 뒤 규칙 버튼 문구가 '보기'·'확인'으로 바뀜
0/2

이 글의 파일

이런 분께 / 준비물

이런 분께 맞습니다.

  • Claude Code로 페이지·도구를 만들다 대화가 길어져 답이 흐려진다고 느끼는 분
  • /compact와 /clear 중 무엇을 눌러야 할지 매번 망설이는 분
  • 처음에 정해 준 규칙을 한참 뒤에 어기는 일을 겪은 분

준비물

웹 채팅(ChatGPT·Claude)에서 같은 증상을 겪는다면 시리즈 1편 AI가 처음 지시를 까먹을 때가 더 맞습니다.

1단계: /context로 얼마나 찼는지 먼저 봅니다

느낌보다 숫자를 먼저 봅니다. 입력창에 /context를 치면 지금 대화가 차지한 공간이 격자와 숫자로 나옵니다.

Claude Code /context 화면. Sonnet 5.5, 325.1k/1m tokens (33%). 항목별로 System prompt 2.8k, System tools 29.7k, Skills 2.8k, Messages 289.9k, Free space 641.9k, Autocompact buffer 33k. 아래에 Auto-compact window: 1m tokens
7번 주고받은 뒤의 /context. 전체 325.1K 중 대화(Messages)가 289.9K입니다
  • Messages: 내가 보낸 말, AI 답, 읽은 파일 내용이 모두 여기에 쌓입니다. 이 실험에서는 한 번 주고받을 때마다 약 48K씩 늘었습니다(예약 자료 파일을 통째로 읽게 했기 때문입니다).
  • Free space: 남은 공간입니다. 최신 모델은 창이 1M이라 한참 남아 보입니다.
  • Autocompact buffer: 자동 압축을 위해 비워 두는 몫입니다.

창이 넉넉하다고 그냥 두면 안 됩니다. 공식 문서는 오래된 대화가 매 메시지마다 토큰을 쓴다고 안내합니다. 자동 압축도 1M 창 모델에서는 약 967K에서야 일어나므로, 그 전에 직접 정리하는 편이 낫습니다.

2단계: 같은 작업을 이어 갈 땐 /compact

같은 작업을 계속하는데 대화가 길어졌다면 /compact입니다. 지금까지의 대화를 요약 한 장으로 바꾸고 그 위에서 이어 갑니다.

Claude Code에서 /compact 실행 뒤 화면. 'Conversation compacted' 문구와 이전 대화가 저장된 위치, 그 아래 Read app.js (103 lines)와 Referenced file data\2026-06.csv부터 2026-03.csv까지 네 줄
/compact가 끝난 화면. 요약 뒤 최근에 다룬 파일을 다시 불러옵니다
/compact 뒤 /context 화면. 46.1k/1m tokens (5%). System prompt 4.3k, System tools 28.4k, Skills 2.8k, Messages 10.5k, Free space 920.9k
같은 세션의 압축 뒤 /context. 325.1K가 46.1K로, 대화 몫은 289.9K가 10.5K로 줄었습니다
  • 얼마나 줄었나: 325.1K → 46.1K입니다. 요약에 걸린 시간은 4번 실행에서 23~73초였습니다.
  • 무엇이 다시 들어오나: 공식 문서 기준으로 CLAUDE.md는 디스크에서 다시 읽고, 최근에 읽거나 고친 파일을 최대 5개까지 다시 불러옵니다. 위 화면의 Read app.js, Referenced file …이 그 모습입니다.
  • 남길 것을 지시할 수 있습니다: /compact 처음에 정한 규칙과 남은 할 일은 원문 그대로 남겨 줘처럼 뒤에 붙이면 됩니다.

3단계: 다른 작업으로 넘어갈 땐 /clear

전혀 다른 작업을 시작할 때는 /clear입니다. 대화를 비우고 새 대화로 시작합니다.

  • 만든 파일은 그대로 남습니다. 지워지는 것은 대화뿐입니다.
  • 이전 대화는 /resume으로 다시 열 수 있습니다. /clear 이름처럼 이름을 붙여 두면 찾기 쉽습니다.
  • 대가: 대화로만 말한 규칙과 정보도 함께 사라집니다. 아래 실험의 D가 그 모습입니다.

4단계: 끝까지 지킬 규칙은 CLAUDE.md에

어느 대화에서든 지켜야 하는 규칙은 프로젝트 폴더의 CLAUDE.md 파일에 적습니다. Claude Code는 새 대화를 열 때마다 이 파일을 읽고, 압축 뒤에도 다시 읽습니다.

  • 규칙은 짧게, 꼭 필요한 것만 적습니다. 매 대화의 공간을 차지하기 때문입니다.
  • 공식 문서는 Compact Instructions라는 제목 아래에 “요약할 때 남길 것”을 적어 두면 압축할 때 반영된다고 안내합니다.
  • #으로 시작하는 줄은 메모가 아니라 제목으로 읽힙니다. 나만 볼 안내문은 <!-- --> 사이에 넣습니다. 실제로 넣어 보니 이 사이의 글은 지침에 들어가지 않았습니다.
  • CLAUDE.md 시작 템플릿을 만들어 두었습니다. 그대로 넣었을 때 /context의 Memory files에 447토큰으로 잡혔습니다. 실험 E에서 쓴 규칙 원문도 예시로 넣어 두었습니다.

직접 해본 결과

실험 방법

직접 만든 예제 프로젝트로 긴 세션을 만들고, 같은 지점에서 갈라 비교했습니다.

  • 프로젝트: 회의실 예약 페이지(index.html, app.js)와 가상 예약 자료 6개(월별 900건, 각 약 83KB)
  • 첫 메시지: 대화로만 규칙 2개와 정보 1개를 줬습니다.
    • 규칙 1: 모든 답변의 마지막 줄은 ’— 이상, 예약 도우미’로 끝낸다
    • 규칙 2: 화면에 보이는 버튼 문구는 ’예약하기’로만 쓴다(‘등록’, ‘신청’, ‘확인’ 금지)
    • 정보: 배포 담당자 ‘한결’, 배포는 매주 목요일
  • 긴 세션: “이번 달 자료를 끝까지 읽고 회의실별 건수를 표로 알려 준 뒤, 화면에 보여 주는 함수를 추가해 줘”를 6번 반복했습니다. 이 동안 버튼은 만들지 않았습니다.
  • 시험 과제: 갈래마다 “회의실 옆에 버튼을 달고 누르면 이름을 보여 줘”를 주고, 다음 턴에 배포 정보와 규칙 원문을 물었습니다.

긴 세션: 7번 주고받는 동안 규칙은 계속 지켰습니다

Claude Code 2.1.311 헤드리스 실행(claude -p), Sonnet 5.5(창 1M), 개인 설정·플러그인을 끈 상태. 각 턴 1회. /context를 부를 때마다 대화 몫이 약 0.5K씩 함께 늘어납니다
턴한 일/context 전체대화(Messages)규칙 1 지킴
1규칙·정보 전달36.9K5.4K예
21월 자료 읽기 + 함수 추가85.0K53.5K예
32월133.2K101.7K예
43월181.1K149.6K예
54월229.0K197.5K예
65월276.8K245.2K예
76월324.6K293.1K예
측정 조건 Claude Code 2.1.311 헤드리스 실행(claude -p), Sonnet 5.5(창 1M), 개인 설정·플러그인을 끈 상태. 각 턴 1회. /context를 부를 때마다 대화 몫이 약 0.5K씩 함께 늘어납니다 측정일

같은 지점에서 갈랐을 때: 규칙을 잃은 건 새 대화뿐

위 긴 세션(324.6K)을 --fork-session으로 복제해 갈래마다 같은 시험 과제 실행. 프로젝트 파일은 갈래마다 같은 상태로 되돌림. B·C·D·E 2회, A 1회. D는 헤드리스에서 /clear 대신 새 대화를 열었습니다
갈래처리시험 직전 /context버튼 문구(규칙 2)답 끝 문구(규칙 1)배포 정보·규칙 원문
A그대로 계속326.2K예약하기지킴맞음
B/compact42.1K · 41.9K예약하기 · 예약하기2/22/2 원문 그대로
C/compact + 남길 것 지시41.8K · 41.9K예약하기 · 예약하기2/22/2 원문 그대로
D새 대화(/clear 뒤와 같은 상태)36.7K · 36.7K보기 · 확인0/20/2 ('모릅니다')
E규칙을 CLAUDE.md에 두고 새 대화37.0K · 37.0K예약하기 · 예약하기2/22/2 (CLAUDE.md에서 찾음)
측정 조건 위 긴 세션(324.6K)을 --fork-session으로 복제해 갈래마다 같은 시험 과제 실행. 프로젝트 파일은 갈래마다 같은 상태로 되돌림. B·C·D·E 2회, A 1회. D는 헤드리스에서 /clear 대신 새 대화를 열었습니다 측정일
갈래별 결과 도표. A 그대로 계속 326.2k 규칙 모두 지킴, B /compact 42.1k·41.9k 2번 모두 지킴(요약에 규칙 원문), C /compact+지시 41.8k·41.9k 2번 모두 지킴, D 새 대화 36.7k 2번 모두 잃음(버튼 문구 '보기'·'확인'), E CLAUDE.md 37.0k 2번 모두 지킴
규칙을 잃은 갈래는 D(새 대화) 하나였습니다

결과에서 눈에 띈 점은 세 가지입니다.

  • /compact는 규칙을 요약 맨 앞에 넣었습니다. 압축 요약 4개를 열어 보니 모두 첫 항목에 “대화 내내 지킬 규칙”을 따로 적었고, 규칙 문장이 원문 그대로 들어 있었습니다. 남길 것을 지시하지 않은 B도 같았습니다.
  • 새 대화(D)는 규칙을 모른 채 일했습니다. 버튼 문구를 한 번은 ‘보기’, 한 번은 ’확인’으로 달았습니다. ’확인’은 처음에 금지한 말입니다. 배포 정보를 묻자 “모릅니다”라고 답했습니다.
  • CLAUDE.md(E)는 새 대화에서도 지켰습니다. 답에 “CLAUDE.md에 적혀 있습니다”라고 출처까지 밝혔습니다.

그래서 언제 무엇을 쓰나

상황 쓸 것
같은 작업을 계속하는데 대화가 길어졌다 /compact (꼭 남길 게 있으면 뒤에 적기)
전혀 다른 작업으로 넘어간다 /clear
어떤 대화에서든 지켜야 하는 규칙이 있다 CLAUDE.md에 적기
지금 얼마나 찼는지 궁금하다 /context
답이 꼬였는데 대화로 정한 규칙이 많다 규칙을 CLAUDE.md로 옮긴 뒤 /clear

주의할 점과 한계

  • 조건이 단순합니다. 규칙을 첫 메시지 한 곳에 몰아서, 짧고 분명하게 줬습니다. 공식 문서는 대화 초반의 자세한 지시가 요약에서 빠질 수 있다고 안내합니다. 규칙이 대화 여기저기 흩어져 있거나 아주 길면 결과가 다를 수 있습니다.
  • 횟수가 적습니다. 갈래마다 2번(A는 1번)만 실행했습니다. 경향을 보는 실험이지 확률을 잰 것은 아닙니다.
  • 모델 하나만 썼습니다. Sonnet 5.5(창 1M)로만 쟀습니다. 200K 창 모델에서는 같은 분량에서 자동 압축이 먼저 일어납니다.
  • D는 /clear를 직접 누른 것이 아닙니다. 헤드리스 실행에서는 /clear 대신 같은 폴더에서 새 대화를 열었습니다. 공식 문서상 /clear도 빈 대화로 새로 시작하므로 같은 상태로 봤습니다.
  • 자동 메모리는 비어 있었습니다. Claude Code는 작업하며 배운 것을 스스로 메모(auto memory)해 두기도 합니다. 이 실험의 새 대화에서는 메모가 비어 있었습니다. 평소 쓰던 프로젝트라면 메모 덕분에 /clear 뒤에도 일부 규칙이 남을 수 있습니다.
  • Codex는 재지 않았습니다. 이 PC에 설치돼 있지 않아 Claude Code만 다뤘습니다.
  • 사용량은 /context 표시값입니다. 요금제에서 실제로 얼마가 차감되는지는 재지 않았습니다.

자주 묻는 질문

/compact를 하면 처음에 정한 규칙이 사라지나요?

이 실험에서는 사라지지 않았습니다. 첫 메시지에 규칙을 몰아서 준 세션을 4번 압축했는데, 4번 모두 요약 맨 앞에 규칙 원문이 들어갔고 이후 과제도 규칙대로 했습니다. 다만 공식 문서는 대화 초반의 자세한 지시가 요약에서 빠질 수 있다고 안내합니다. 규칙이 대화 여기저기 흩어져 있으면 결과가 다를 수 있습니다.

/clear를 하면 만든 파일도 지워지나요?

아닙니다. /clear는 대화만 비웁니다. 실험에서도 새 대화의 Claude Code는 앞서 만든 app.js를 그대로 읽고 이어서 고쳤습니다. 이전 대화는 /resume으로 다시 열 수 있습니다.

자동 압축은 언제 일어나나요?

모델마다 다릅니다. 공식 문서 기준으로 1M 창을 쓰는 최신 모델(Sonnet 5 이후, Opus 4.7 이후 등)은 약 967K에서, 확장하지 않은 Sonnet 4.6·Opus 4.6은 200K에서 자동으로 압축합니다. /autocompact 명령으로 더 일찍 압축하게 바꿀 수 있습니다.

근거와 출처

직접 해 본 근거

  • 직접 측정 2026년 10월 29일, 직접 만든 예제 프로젝트(회의실 예약 페이지와 가상 예약 자료 6개)로 Claude Code 세션을 7번 주고받아 324.6K까지 채웠습니다. 같은 지점에서 다섯 갈래로 나눠 같은 과제를 주고, 처음 대화로 준 규칙이 지켜졌는지 채점했습니다. 갈래마다 2번(그대로 계속은 1번) 실행했습니다.
  • 직접 캡처 /context와 /compact 화면은 같은 날 같은 세션을 Claude Code 대화형 화면으로 열어 직접 캡처했습니다. 실행 명령 줄과 계정 표시는 잘라 냈습니다.
  • 결과 파일 CLAUDE.md 시작 템플릿과 /compact 지시 문구 예시를 내려받을 수 있습니다. 같은 날 예제 프로젝트에 넣어 Claude Code가 읽는 것(447토큰)을 확인했고, 실험에서 쓴 규칙 원문도 예시로 들어 있습니다.

참고한 출처