jaysnote

Claude Code /clear 명령 — 언제 쓰고 어떻게 동작하나

Claude Code의 컨텍스트 관리 명령 중 가장 기본인 /clear를 쉽게, 그리고 자세히 설명한다. 관련: docs/06-claude-workflow.md에서 /clear는 “컨텍스트 열화 방지” 도구로 등장한다.

한 줄 요약

/clear는 현재 대화 기록을 통째로 비워서 “새 대화”를 시작하는 명령이다. 작업이 바뀔 때마다 눌러서 Claude의 머릿속을 깨끗이 리셋한다고 생각하면 된다.


먼저: “컨텍스트 창(context window)“이 뭔가

Claude는 대화하는 동안 주고받은 모든 메시지(내 질문 + Claude의 답 + 읽은 파일 + 도구 실행 결과)를 한 덩어리의 기억으로 들고 간다. 이 기억이 담기는 공간이 컨텍스트 창이고, 크기에 한계가 있다.

문제는 두 가지다:

  1. 꽉 참: 대화가 길어지면 컨텍스트가 가득 차서 느려지고, 오래된 내용이 밀려난다.
  2. 오염(poisoning): 앞에서 했던 엉뚱한 시도·틀린 가정이 계속 남아, Claude가 자꾸 그 잘못된 방향으로 되돌아간다.

/clear는 이 둘을 한 번에 푸는 가장 단순한 도구다.


/clear가 하는 일 (동작 원리)

Claude Code 프롬프트에 /clear를 입력하면:

  • 대화 기록 전체를 비운다. 그동안 쌓인 메시지·파일 읽기·도구 결과가 사라지고, 컨텍스트가 거의 텅 빈 상태로 돌아간다. (Medium: Clear vs Compact)
  • 새 대화처럼 시작한다. Claude는 방금까지 무슨 얘기를 했는지 더 이상 기억하지 못한다.

⚠️ 헷갈리지 말 것 — 사라지는 것 vs 남는 것

사라지는 것 (대화 기억)남는 것
주고받은 대화 내용✅ 디스크의 파일·코드 변경 (그대로 보존)
Claude가 읽었던 파일 내용CLAUDE.md (새 대화에서 자동으로 다시 로딩)
이번 세션에서 쌓은 맥락·가정✅ git 히스토리·커밋

핵심: /clear는 코드를 지우지 않는다. 작업한 파일은 그대로 있다. 지워지는 건 오직 “대화 기억”뿐이다. 그래서 안심하고 자주 써도 된다.


언제 써야 하나 (사용 시점)

작업이 바뀌는 순간이 기본 신호다. 다음 상황에서 쓴다:

  • 새 작업으로 전환할 때. “로그인 기능 끝 → 이제 결제 기능”. 앞 대화가 새 작업과 상관없으면 비운다.
  • 컨텍스트가 오염됐을 때. Claude가 틀린 가정을 계속 고집하며 같은 실수로 되돌아가면, 설득하지 말고 그냥 비우고 새로 시작하라. (Medium)
  • 대화가 너무 길어져 느려지거나 답이 산만해질 때.
  • 완전히 다른 주제/저장소로 넘어갈 때.

규칙: “지금 시작할 작업이 직전 20개 메시지에 의존하지 않는다면 /clear.” (Medium)

이것은 docs/06의 안티패턴 — “한 세션에서 여러 작업을 섞어 컨텍스트 열화” — 을 막는 직접적인 처방이다.

언제 쓰면 안 되나

  • 작업이 이어지는 중인데 앞의 결정·맥락이 계속 필요할 때. 비우면 그 맥락을 다 잃는다. → 이때는 /compact(아래).
  • ❌ 방금 한 토론·결정을 곧바로 이어서 써야 할 때.

/clear vs /compact — 무엇이 다른가

둘 다 컨텍스트를 줄이지만 방식이 정반대다.

/clear/compact
하는 일대화 기록을 전부 비움대화를 요약해 압축본으로 대체
맥락 보존❌ 안 됨 (완전 초기화)✅ 됨 (결정·방향 유지)
토큰 절감거의 전부 비움예: 70,000 → 약 4,000 토큰으로 압축
쓸 때작업 전환, 오염, 새 시작작업을 이어가면서 맥락은 살리고 싶을 때

(출처: Medium — Clear vs Compact)

간단 판단법:

직전 대화가 다음 작업에 필요한가?
├─ 아니오 → /clear   (깨끗이 새 출발)
└─ 예     → 그냥 계속 / 길면 /compact  (맥락 유지하며 압축)

실전 팁

  • 작업 단위로 끊어라. 기능 하나를 끝내면 /clear → 다음 기능. 이게 답 품질을 가장 크게 끌어올린다. 컨텍스트 열화가 Claude Code의 1순위 실패 모드다. (Claude Code Best Practices)
  • CLAUDE.md를 믿어라. /clear 후에도 CLAUDE.md는 자동 로딩되므로, 프로젝트 규칙·빌드 명령을 거기 적어두면 매번 다시 설명할 필요가 없다. → docs/05-documents.md의 “CLAUDE.md”.
  • 비우기 전에 남길 건 남겨라. 중요한 결정은 대화에만 두지 말고 ADR·spec·커밋에 박아두면, /clear로 대화를 비워도 정보가 보존된다.
  • 망설여지면 /compact부터. 맥락을 잃을까 불안하면 우선 압축하고, 작업이 완전히 끝났을 때 /clear.

한 장 정리

/clear  = 대화 기억만 통째로 비우기 (코드·파일·CLAUDE.md는 그대로)
언제?   = 작업 전환 · 컨텍스트 오염 · 대화가 너무 길어짐
주의    = 이어갈 맥락이 필요하면 /clear 대신 /compact
효과    = 컨텍스트를 깨끗이 유지 → 더 빠르고 정확한 답
← 목록으로