초대하고 적립

초대 보상 안내

초대 링크를 공유하세요. 친구가 링크로 가입하고 충전하면 이후 충전마다 표시된 보상을 받을 수 있습니다.

Claude Code에서 /compact를 쓸 때와 새 세션을 시작할 때

Claude Code의 컨텍스트를 실무적으로 관리하는 가이드입니다. /compact의 역할을 명확히 설명하고 /clear, /rewind, 별도 새 세션과 비교하며, Claude Web의 자동 압축 차이, 압축 후 확인 프롬프트, 안전한 인계 템플릿, 1분 판단 절차를 제공합니다.

목차

Claude Code의 /compact는 오래된 대화 내용을 더 짧고 구조화된 요약으로 바꿔 활성 컨텍스트 창의 공간을 확보합니다. 이 과정에서 작업 목표, 중요한 결정, 프로젝트의 현재 상태를 가능한 한 유지하려고 합니다. 작업은 그대로이고 접근 방향도 맞지만 긴 로그, 도구 출력, diff, 중간 논의가 세션을 가득 채웠을 때 가장 유용합니다.

하지만 /compact가 이미 혼란스러워진 세션을 자동으로 바로잡아 주는 것은 아닙니다. 압축 후 활성 컨텍스트에는 이전 세부 사항이 모두 문장 그대로 남아 있지 않습니다. 정확한 오류 메시지, 이미 기각한 접근, 임시 제약, 채팅에서만 전달한 지시가 덜 두드러질 수 있습니다. Claude가 여러 작업을 섞거나 실패한 해법을 반복하거나 잘못된 아키텍처 가정으로 움직인다면, 짧은 인계 내용을 만든 뒤 깨끗한 새 세션으로 옮기는 편이 안전합니다.

Claude Code와 Claude Web에서 /compact는 무엇을 하나요?

Claude Code의 /compact는 이전 여러 대화 턴을 요약해 컨텍스트 공간을 확보하며, 명령 자체가 프로젝트 파일을 수정하지는 않습니다. Claude Code는 컨텍스트 한계에 가까워질 때 자동으로 압축할 수도 있고, 세션이 느려지거나 잡음이 많아지기 전에 사용자가 직접 실행할 수도 있습니다.

일반 Claude Web 채팅에는 사용자가 실행하는 /compact 명령이 없습니다. 코드 실행이 켜져 있고 긴 대화가 컨텍스트 한계에 가까워지면 Claude가 오래된 메시지를 자동으로 요약하고 대화를 이어갈 수 있습니다. 화면에 Claude가 생각을 정리하고 있다는 상태가 표시될 때도 있습니다. 전체 채팅 기록은 보존되지만, 모델의 활성 작업 컨텍스트에는 전체 기록을 그대로 다시 보내는 대신 요약이 사용됩니다.

비교 항목Claude CodeClaude Web
압축 시작 방식/compact 수동 실행 또는 자동 실행한계 근처에서 자동 컨텍스트 관리
사용자가 같은 명령을 실행할 수 있는가가능같은 이름의 채팅 명령은 없음
같은 대화가 이어지는가같은 세션에서 계속같은 채팅에서 계속
주요 목적같은 개발 작업을 계속할 컨텍스트 공간 확보긴 대화를 길이 제한으로 덜 중단되게 유지
주요 위험정확한 오류나 채팅에서만 말한 제약이 요약에서 약해질 수 있음오래된 세부 사항이 활성 컨텍스트에서 덜 눈에 띌 수 있음

/compact, /clear, /rewind, 새 세션 중 무엇을 선택해야 하나요?

선택무엇이 바뀌나적합한 상황적합하지 않은 상황
그대로 계속초기화나 요약이 없음Claude가 증상, 제약, 최근 검증 결과를 정확히 기억함루프, 작업 혼합, 기각안 재제안이 발생함
/compact오래된 턴을 요약하고 같은 세션의 공간을 확보같은 작업이고 방향도 맞지만 로그와 도구 출력이 너무 많음핵심 이해가 틀렸거나 과거의 정확한 세부 정보가 필수임
/clear현재 Claude Code 프로세스 안에서 빈 대화를 시작하며 이전 세션은 /resume으로 재개 가능작업 디렉터리와 파일 상태는 유지하고 대화만 새로 시작하고 싶음코드 변경을 되돌려야 함. /clear는 파일을 복원하지 않음
/rewindcheckpoint에서 코드, 대화, 선택 범위 요약을 복원하거나 생성최근 몇 턴만 잘못됐고 돌아갈 지점을 알 수 있음Bash, 외부 도구, 수동 편집, 대부분의 subagent가 만든 변경을 되돌려야 함
별도 새 세션다른 터미널, 창, 격리된 workspace에서 깨끗한 컨텍스트로 시작작업 전환, 아키텍처 재검토, 병렬 작업, 심한 컨텍스트 저하세션 이해는 정확하고 긴 로그만 문제임

/clear도 이미 새로운 빈 대화를 시작합니다. 여기서 “별도 새 세션”은 더 분명한 경계를 뜻합니다. 새 터미널이나 창을 열고, 필요하면 별도 branch나 worktree를 사용하며, 검증된 사실만 담은 명시적 인계를 전달하는 방식입니다.

먼저 컨텍스트 문제인지 진단 부족인지 구분하세요

CSV 가져오기 로직을 고친다고 가정해 보겠습니다. amount가 비어 있으면 validation error를 반환하고 데이터를 쓰지 않아야 합니다. Claude는 handler를 두 번 수정했고 같은 파일을 다시 열었으며 이제 첫 번째 구현을 다시 제안합니다.

바로 /compact하거나 재시작하지 말고, 먼저 가장 좁은 테스트를 실행합니다.

npm test -- tests/import/empty-amount.test.ts

결과는 다음처럼 해석합니다.

  • 테스트가 없거나 다른 동작을 검증한다면, 먼저 사양 또는 재현이 부족한 것입니다. 새 세션이 증거를 만들어 주지는 않습니다.
  • 테스트가 올바른 증상을 안정적으로 재현하고 Claude가 그 결과를 정확히 사용한다면 현재 세션을 계속합니다.
  • 테스트는 계속 실패하지만 Claude가 이미 제외한 원인을 잊고 범위를 넓히거나 옛 아이디어를 반복한다면 컨텍스트 저하를 의심할 수 있습니다.

언제 압축해야 하는지를 정하는 공식 Token 수나 메시지 수는 없습니다. **컨텍스트 사용률 60%~80%**를 점검 신호로 사용할 수는 있지만 고정 기준은 아닙니다. 더 강한 신호는 행동입니다. Claude가 목표, 제약, 검증된 사실, 다음 검증 명령을 정확히 설명할 수 있는지 확인하세요.

/compact를 사용하기 좋은 시점

다음 조건이 모두 맞으면 /compact를 우선 고려합니다.

  1. 같은 작업과 같은 저장소에서 계속 일하고 있다.
  2. Claude가 목표와 수정 허용 파일을 정확히 이해한다.
  3. 현재 방향이 추측이 아니라 테스트나 로그로 뒷받침된다.
  4. 컨텍스트 대부분을 긴 로그, build 출력, 반복 diff, 중간 논의가 차지한다.
  5. 절대 잃으면 안 되는 사실을 몇 문장으로 정리할 수 있다.

압축하기 전에 작업 트리를 확인합니다.

git status --short
git diff

그다음 /context를 실행해 메시지, 도구, MCP 정의, CLAUDE.md 중 무엇이 공간을 쓰는지 봅니다. 실제 원인이 매우 큰 첫 prompt, 대형 첨부 파일, 도구 정의, 지나치게 긴 memory 파일이라면 /compact가 요약할 이전 턴이 충분하지 않을 수 있습니다.

프로젝트 루트의 CLAUDE.md는 /compact 후 다시 로드됩니다. 반면 대화에서만 전달한 지시는 덜 안정적입니다. 장기 규칙은 간결한 CLAUDE.md에 두고, 이번 작업의 핵심 사실은 압축 전후에 명시적으로 다시 확인하세요.

압축 직후 컨텍스트를 반드시 검증하세요

/compact 직후 Claude가 바로 파일을 수정하게 하지 마세요. 먼저 다음 확인 프롬프트를 보냅니다.

방금 컨텍스트를 압축했습니다. 파일을 수정하기 전에 다음 네 가지에 답하세요.
1. 우리가 고치는 정확한 증상과 기대 결과는 무엇인가요?
2. 이미 시험하고 기각한 접근은 무엇이며, 왜 기각했나요?
3. 수정해도 되는 파일은 무엇이고, 무엇은 바꾸면 안 되나요?
4. 가설을 검증하기 위해 다음에 실행할 단 하나의 명령은 무엇인가요?

현재 컨텍스트만으로 답할 수 없는 항목이 있다면 추측하지 말고 부족한 정보를 명시하세요.

예시 작업이라면 최소한 다음을 답해야 합니다.

  • 빈 amount는 validation error를 만들고 데이터를 쓰지 않아야 한다.
  • Number(value || 0)는 빈 값을 정상적인 0으로 바꾸므로 기각되었다.
  • 수정 범위는 parser와 대상 테스트로 제한된다.
  • 다음 단계는 좁은 테스트나 추적 명령이며 전체 가져오기 시스템의 리팩터링이 아니다.

답이 정확하면 같은 세션을 이어갑니다. 답이 모호하거나 기각안을 다시 제시하거나 README와 공개 CSV 형식까지 범위에 넣는다면 요약을 신뢰하지 마세요. 인계를 준비하고 /clear 또는 별도 새 세션을 사용합니다.

/compact가 맞지 않는 상황

1. 작업이 바뀌었습니다

validation bug를 고치다가 README 업데이트, deploy 설정 변경, 다른 API 문제까지 추가했다면 압축은 모두를 한꺼번에 요약할 뿐 깨끗한 경계를 만들지 않습니다. 두 번째 작업은 별도 세션으로 옮기세요.

2. Claude의 핵심 가정이 이미 틀렸습니다

빈 값을 계속 0으로 처리하거나 데이터 쓰기 경로를 잘못 이해한다면 문제는 단순히 대화가 길다는 데 있지 않습니다. 검증된 사실을 기반으로 한 깨끗한 세션이 대개 더 빠릅니다.

3. 정확한 세부 정보를 그대로 보존해야 합니다

일부 오류 줄, SQL, stack 위치, protocol field, 보안 제약은 요약에만 맡길 수 없습니다. 필요한 최소 조각을 인계 메모나 로컬 파일에 기록하세요.

4. 한 번의 입력 자체가 너무 큽니다

첫 prompt에 거대한 로그, 첨부 파일, 많은 도구 정의가 들어 있다면 압축할 이전의 여러 턴이 없습니다. 입력을 줄이고 파일 경로를 참조하거나 필요 없는 MCP server를 끄세요.

5. 요약을 만들 공간조차 남지 않았습니다

컨텍스트가 너무 가득 차면 /compact 자체가 실패할 수 있습니다. Esc를 두 번 눌러 몇 턴 뒤로 돌아간 다음 다시 시도하세요. 그래도 실패하면 /clear를 사용합니다. 이전 세션은 /resume으로 다시 열 수 있습니다.

/rewind가 /compact보다 나은 경우

문제가 최근 턴에 집중되어 있다면 /rewind가 더 정확합니다. /rewind를 실행하거나 입력창이 비어 있을 때 Esc를 두 번 누르면 checkpoint 메뉴에서 다음을 선택할 수 있습니다.

  • 코드와 대화를 함께 복원한다.
  • 현재 파일은 유지하고 대화만 복원한다.
  • 대화는 유지하고 코드만 복원한다.
  • 선택 지점부터 이후를 요약한다.
  • 선택 지점 이전 전체를 요약한다.

최근 세 턴만 잘못됐고 그 이전 컨텍스트는 올바른 경우에 유용합니다.

Checkpoint는 주로 Claude의 파일 편집 도구가 만든 변경을 추적합니다. Bash 명령, 외부 프로그램, 수동 편집, 대부분의 subagent가 만든 변경은 복원되지 않을 수 있습니다. 또한 Git을 대체하지 않습니다. 중요한 시점에는 branch나 commit을 사용하거나 최소한 git diff를 확인하세요.

작업을 새 세션에 안전하게 인계하는 방법

새 세션에는 전체 대화 기록이 필요하지 않습니다. 검증된 사실, 현재 파일 상태, 다음 한 단계가 필요합니다.

먼저 확인합니다.

git status --short
git diff

그다음 짧은 인계를 보냅니다.

목표: 빈 amount는 validation error를 반환하고 데이터를 쓰지 않는다.
작업 트리: 먼저 git status와 git diff를 확인하고 clean이라고 가정하지 않는다.
대상 파일: parser/amount.ts, tests/import/empty-amount.test.ts
재현 명령: npm test -- tests/import/empty-amount.test.ts
현재 결과: 테스트가 실패한다.
기각한 접근: Number(value || 0). 빈 값을 0으로 바꾸기 때문이다.
제약: 공개 CSV 형식을 변경하지 않고 관련 없는 module을 리팩터링하지 않는다.
열린 질문: 빈 값과 정상적인 0을 어느 layer에서 구분해야 하는가?
다음 단계: CSV parser부터 validation branch까지 value를 추적하고 검증 가능한 가설 하나만 제시한다.

편집 전에 목표, 제약, 기각안, 다음 검증 명령을 다시 말하세요.

API Key, Cookie, .env 내용, 개인정보, 전체 원시 로그를 인계에 넣지 마세요. 오류 줄이 꼭 필요하다면 최소 조각과 로컬 로그 경로만 남기세요.

1분 판단 절차

  1. 먼저 재현합니다. 증상을 증명하는 가장 작은 테스트나 명령을 실행합니다.
  2. 세션이 아직 정확한가요? Claude가 목표, 제약, 최근 결과를 기억하면 계속합니다.
  3. 주된 문제가 잡음인가요? 같은 작업, 올바른 방향, 과도한 로그라면 /compact를 사용합니다.
  4. 최근 턴만 잘못됐나요? 특정 범위를 복원하거나 요약하려면 /rewind를 사용합니다.
  5. 작업이 바뀌거나 이해가 저하됐나요? 인계와 함께 /clear 또는 별도 새 세션으로 이동합니다.
  6. 수정 전에 검증합니다. Claude가 사실을 다시 말하게 한 뒤 변경을 허용합니다.

자주 묻는 질문

Claude Code의 /compact는 정확히 무엇을 하나요?

오래된 여러 턴의 대화를 더 짧은 컨텍스트 표현으로 요약해 같은 세션이 계속될 공간을 만듭니다. 명령 자체가 프로젝트 파일을 수정하지는 않습니다.

/compact가 원래 채팅이나 코드를 삭제하나요?

목적은 활성 컨텍스트를 압축하는 것이지 코드를 삭제하는 것이 아닙니다. 세션 기록은 유지되지만 이후 응답은 주로 요약과 현재 활성 내용에 의존하므로 중요한 세부 사항은 따로 확인해야 합니다.

/compact와 새 세션은 언제 구분해서 사용하나요?

작업과 방향이 맞고 누적된 로그나 중간 출력만 문제라면 /compact를 사용합니다. 작업이 섞이고, 기각안이 반복되고, 핵심 제약이 사라지거나 아키텍처를 잘못 이해한다면 새로 시작하세요.

Claude Web의 Compact는 무엇인가요?

긴 채팅이 컨텍스트 한계에 가까워지면 Claude Web이 오래된 메시지를 자동 요약하는 기능입니다. Claude Code의 /compact 명령과 다르며 보통 사용자가 직접 실행하지 않습니다. 자동 컨텍스트 관리는 코드 실행이 활성화되어 있어야 합니다.

/clear와 새 터미널을 여는 것은 어떻게 다른가요?

/clear는 현재 Claude Code 프로세스 안에서 빈 대화를 시작하고 이전 세션은 /resume으로 재개할 수 있습니다. 새 터미널이나 창은 작업 격리, 병렬 작업, 별도 branch 또는 worktree에 더 적합합니다.

공식 자료

LLM 워크플로를 최적화할 준비가 되셨나요?

하나의 API로 모델을 연결하고 키와 AI 비용을 관리하세요.

무료로 시작하기