Claude Code를 사용할 때 이런 문제들 겪고 계신가요?

・Claude Code 세션이 길어지면 왜인지 답변 품질이 떨어진다.
・명령어가 뭐가 뭔지 잘 모르겠다. 차이를 모르겠다.
・서브 에이전트(Subagent)는 언제 써야 할지 감이 안 온다.
・컨텍스트(Context)가 완전히 엉망이다.
그런데 지금, Anthropic 직원인 Thariq(@trq212) 님의 "Claude Code 세션 관리와 100만 토큰 컨텍스트"에 관한 글이 54만 뷰를 기록하며 화제가 되고 있습니다 😳

그래서 이런 고민을 가진 모든 분들을 위해, 내용을 알기 쉽게 정리하고 설명해 드리겠습니다 👇
원문은 여기: https://x.com/trq212/status/2044548257058328723?s=20
■ 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 𝘄𝗶𝗻𝗱𝗼𝘄의 기본
먼저, 전제 조건으로 Claude Code의 컨텍스트 윈도우는 100만 토큰입니다.

컨텍스트에는 다음 모든 내용이 포함됩니다:
・시스템 프롬프트
・과거 대화 기록
・모든 도구 호출 및 그 출력 결과
・로드된 파일의 내용
즉, 세션이 길어질수록 이 컨텍스트에 정보가 계속 쌓이게 됩니다.
■ 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 𝗿𝗼𝘁이란?

여기서 중요한 개념이 "컨텍스트 로트(Context Rot)"입니다.
컨텍스트가 커지면 모델의 어텐션이 많은 토큰에 분산되고, 오래되었거나 관련 없는 정보가 노이즈가 되어 현재 작업을 방해하기 시작합니다.
Thariq에 따르면, 100만 토큰 모델에서 약 30만~40만 토큰부터 컨텍스트 로트가 관찰된다고 합니다. 다만 작업에 따라 크게 달라지므로 절대적인 기준은 아닙니다.
컨텍스트 윈도우에는 하드 한도가 있기 때문에, 한도에 가까워지면 이전 작업을 요약하고 새 컨텍스트에서 계속 진행해야 합니다. 이 과정을 "컴팩션(Compaction)"이라고 합니다.
■ 모든 턴이 "Turning Point"입니다

Claude Code가 하나의 작업을 마친 후 무엇을 해야 할까요? 사실 이것이 가장 중요한 결정 포인트입니다.
Thariq는 다섯 가지 옵션을 제시합니다:
𝟭. 𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗲
같은 세션에서 다음 메시지를 보냅니다. 가장 자연스러운 선택입니다.
𝟮. /𝗿𝗲𝘄𝗶𝗻𝗱 (Esc 키 두 번 누르기)
과거 메시지로 돌아가서 그 지점부터 다시 시작합니다. 이후의 메시지는 컨텍스트에서 삭제됩니다.
𝟯. /𝗰𝗹𝗲𝗮𝗿 (새 세션)
중요한 정보를 직접 요약하고 새 세션을 시작합니다.
𝟰. /𝗰𝗼𝗺𝗽𝗮𝗰𝘁
모델이 지금까지의 대화를 요약하고, 그 요약 위에서 계속 진행하도록 합니다.
𝟱. 𝗦𝘂𝗯𝗮𝗴𝗲𝗻𝘁𝘀
다음 작업 덩어리를 깨끗한 자체 컨텍스트를 가진 에이전트에게 위임하고, 결과만 부모 세션으로 반환합니다.
■ 새 세션을 시작해야 할 때
100만 토큰 컨텍스트 윈도우 덕분에 풀스택 앱을 처음부터 구축하는 것과 같은 긴 작업도 더 안정적으로 실행할 수 있게 되었습니다.
하지만 컨텍스트 공간이 남아 있다고 해서 같은 세션을 계속 사용해야 하는 것은 아닙니다.
Thariq의 간단한 기준은 다음과 같습니다:

🔥 "새로운 작업을 시작한다면, 새 세션을 시작해야 합니다."
물론 예외는 있습니다. 예를 들어, 기능을 구현한 직후 문서를 작성하는 경우입니다. 새 세션을 시작하면 Claude Code가 방금 구현한 파일을 다시 읽어야 하므로 느리고 비용이 많이 듭니다. 문서 작성과 같이 "높은 지능"이 필요하지 않은 작업은 약간의 컨텍스트 오염을 감수하고 그냥 계속하는 것이 더 효율적입니다.

■ 𝗿𝗲𝘄𝗶𝗻𝗱는 가장 과소평가된 기능입니다

Thariq는 좋은 컨텍스트 관리를 위한 최고의 습관으로 "rewind"를 꼽습니다.
Claude Code에서는 Esc 키를 두 번 누르거나 /rewind 명령어를 사용하여 과거 메시지로 돌아가서 다시 시작할 수 있습니다. 해당 지점 이후의 메시지는 컨텍스트에서 완전히 제거됩니다.
구체적인 시나리오를 생각해 보겠습니다:

Claude가 다섯 개의 파일을 읽고 어떤 접근 방식을 시도했지만 실패했습니다.
❌ 일반적인 반응: "그건 안 되네. X로 시도해 봐."
→ 실패한 접근 방식의 전체 로그가 컨텍스트에 남아 있습니다.
✅ 더 나은 방법: 파일을 읽은 직후로 되감기(rewind)하고, 알게 된 내용을 바탕으로 다시 지시합니다.
→ "접근 방식 A는 사용하지 마. foo 모듈이 그걸 노출하지 않아. 바로 B로 가."
이렇게 하면 실패한 시행착오의 토큰이 사라져 깨끗한 상태에서 재시도할 수 있습니다.
또한 "여기서부터 요약" 기능을 사용하면 Claude가 스스로 학습한 내용을 요약하여 "과거의 내가 미래의 나에게 보내는 메모"를 만들 수 있습니다.
■ /𝗰𝗼𝗺𝗽𝗮𝗰𝘁와 /𝗰𝗹𝗲𝗮𝗿의 결정적인 차이

세션이 길어지면 무게를 줄이는 두 가지 방법이 있습니다. 비슷해 보이지만 완전히 다릅니다.
【/compact】
・모델이 대화를 요약하고 기록을 그 요약으로 대체합니다.
・손실이 있습니다(Lossy) — 중요한 것은 Claude의 판단에 맡겨집니다.
・직접 아무것도 작성할 필요가 없지만, Claude가 중요한 것을 놓칠 수 있습니다.
・지침을 제공하여 요약을 유도할 수 있습니다 (예: /compact focus on auth refactor, remove test debugging).
【/clear】
・중요한 정보를 직접 작성하고 새 세션을 시작합니다.
・예: "목표는 인증 미들웨어, 제약 조건은 X, 관련 파일은 A와 B, 접근 방식 Y는 제외."
・노력이 필요하지만, 결과 컨텍스트는 자신이 선택한 정보로만 구성됩니다.
둘 중 선택은 제어와 편의성 사이의 트레이드오프입니다.
■ 𝗰𝗼𝗺𝗽𝗮𝗰𝘁가 실패하는 이유

긴 세션을 사용할 때 compact의 품질이 극도로 나빠질 수 있습니다.
Thariq에 따르면, compact가 나쁜 가장 큰 원인은 "모델이 작업의 방향을 예측할 수 없을 때"입니다.
예:
긴 디버깅 세션 후에 autocompact가 트리거되어 조사 내용을 요약합니다.
→ 그런 다음 "bar.ts에 있는 그 경고도 수정해 줘"라고 말하면, 해당 경고에 대한 정보가 디버그 중심의 요약에서 누락되었을 수 있습니다.
더 골치 아픈 것은 컨텍스트 로트로 인해 모델이 compact를 실행할 때 "가장 낮은 지능 상태"에 있다는 딜레마입니다. 즉, 가장 정확한 요약이 필요한 순간에 가장 낮은 품질의 요약이 생성됩니다.
이제 100만 토큰 컨텍스트가 있으므로, 가장 좋은 전략은 아직 여유가 있을 때 직접 /compact를 실행하고, 다음에 무엇을 할지에 대한 설명을 추가하는 것입니다.
■ 𝗦𝘂𝗯𝗮𝗴𝗲𝗻𝘁𝘀를 사용해야 할 때

서브 에이전트(Subagent)도 컨텍스트 관리의 한 형태입니다.
Claude Code가 Agent 도구로 서브 에이전트를 생성하면, 해당 서브 에이전트는 자체적인 깨끗한 컨텍스트 윈도우를 갖습니다. 필요한 만큼 작업을 수행하고, 결과를 요약하여 부모 세션으로 반환합니다.
기준은 간단합니다:
👀 "이 도구의 출력이 나중에 다시 필요할까? 아니면 결론만으로 충분할까?"
결론만으로 충분하다면 서브 에이전트에 맡겨야 합니다.
Claude Code는 서브 에이전트를 자동으로 호출하지만, 명시적인 지침을 주는 것도 효과적입니다:
・"서브 에이전트를 시작하고 이 스펙 파일을 기반으로 작업 결과를 검증해 줘."
・"서브 에이전트를 사용하여 다른 코드베이스에서 인증 흐름이 어떻게 구현되어 있는지 읽고 요약해 줘. 그걸 참고해서 여기에 구현해."
・"서브 에이전트를 사용하여 git diff에서 이 기능에 대한 문서를 작성해 줘."
중간 출력을 부모 컨텍스트로 가져오지 않음으로써 컨텍스트를 깨끗하게 유지할 수 있습니다.
■ 요약: 5가지 컨텍스트 관리 기술

Claude가 한 턴을 마친 후 다음 메시지를 보내기 전에 항상 결정해야 할 사항:
- 작업이 변경되었는가? → /clear로 새 세션 시작
- 접근 방식이 실패했는가? → /rewind로 파일 로딩 직후로 복귀
- 세션이 길어지고 있는가? → 여유가 있을 때 /compact 실행 (방향 제시 포함)
- 중간 출력이 많은 작업인가? → 서브 에이전트에 위임
- 컨텍스트를 관련 작업에 계속 사용할 수 있는가? → 그대로 계속
미래에는 Claude 자체가 이러한 결정을 도와주겠지만, 현재로서는 사용자가 이러한 판단을 내리는 것이 Claude Code의 출력 품질을 크게 향상시킬 수 있습니다.
세션 관리는 미묘하지만, Claude Code 경험을 근본적으로 바꾸는 기술입니다 🔥
이 글이 도움이 되셨다면:

𝗖𝗹𝗮𝘂𝗱𝗲 𝗖𝗼𝗻𝗱𝗲 𝗦𝘁𝘂𝗱𝗶𝗼 @ 𝗝𝗮𝗽𝗮𝗻 (@ClaudeCode_love)은 세 명의 Claude Code 애호가가 운영하는 계정입니다.
CLI 실전 사용법과 자동화에 관한 정보를 매일 게시하고 있습니다.
현재 상장 기업과 AI 에이전트를 공동 개발 중입니다.
평소 콘텐츠 👇
・Claude Code와 Claude를 활용한 실제 제품 개발 사례
・Claude Code 사용법 / Vibe Coding / 개발 트렌드 정리
・해외 Claude Code 최신 정보
개발 철학부터 디자인, 구현, 개선까지, 해외 및 1차 정보를 정리하여 "만들어서 끝"이 아닌 실제로 작동하는 제품 출시를 돕고 있습니다.
관심 있으시면 팔로우하고 확인해 보세요! 후회하지 않으실 겁니다!





