Claude Code와 함께한 3일 차: Compaction으로 작업을 잃는 것을 멈춘 방법 (실제 워크플로우)

발행: (2026년 2월 21일 오후 02:12 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

아무도 경고하지 않는 문제

Claude Code와 함께 복잡한 리팩터링 세션을 시작한 지 90분이 지났습니다. 모든 것이 맞아떨어지고, 패턴을 정립했으며, 엣지 케이스도 다루었고, 이제 거의 끝났습니다.
그때 컴팩션이 발생합니다.

Claude가 세션을 요약하고 절반 정도의 컨텍스트를 잃어버린 뒤, 한 시간 전에 내린 결정에 대해 혼란스러워합니다. 최악의 경우, 이미 끝낸 작업을 다시 하거나 심지어 되돌리기까지 합니다. 저는 이런 식으로 세 번이나 3시간씩 작업을 잃은 뒤에야 제대로 된 워크플로우를 만들었습니다.

컴팩션 중 컨텍스트 손실은 무작위가 아닙니다. 다음을 일관되게 지워버립니다:

  • 결정 및 거부 – Claude에게 하지 말라고 한 내용이 사라집니다.
  • 정립된 패턴 – 세션별로 협의한 코딩 컨벤션.
  • 진행 중인 작업 – 80 % 완료됐지만 커밋되지 않은 작업.
  • 파일 관계 – 탐색을 통해 발견한 모듈 간 연결 관계.

Claude가 생성하는 요약은 낙관적입니다: 작업은 포착하지만 그 뒤의 이유는 담지 못합니다. 무엇을 하고 있었는지는 알지만 그렇게 했는지, 어떤 점을 피해야 하는지는 모릅니다.


해결책: 세션 관리 워크플로우

프로젝트 루트에 SESSION.md 만들기

# Session Context

## Active Goal
One sentence: what are we trying to accomplish

## Key Decisions Made
- Decision 1 and the reason
- Decision 2 and the reason

## What NOT To Do
- Approach we rejected and why

## Current State
Files changed, state of in‑progress work

이 파일은 컴팩션 보험 역할을 합니다—Claude가 매번 새로 로드합니다.

SESSION.md를 정기적으로 업데이트하기

  • 20–30 분마다 새로 고침.
  • 약 2 분 정도 걸리지만, 몇 시간의 재작업을 방지합니다.

커스텀 컴팩트 프롬프트 사용하기

컨텍스트가 길어질 때 다음을 실행합니다:

/compact "Please include in your summary: all rejected approaches, all active decisions with reasoning, all files currently being modified, and the exact current state of any in‑progress task."

커스텀 컴팩트 프롬프트는 요약 품질을 크게 향상시킵니다.

진행하기 전에 Claude의 이해도 확인하기

작업에 바로 뛰어들기보다 다음을 물어보세요:

What is the current state of what we are working on, and what decisions have we made so far?

답변이 틀리거나 불완전하면, 진행하기 전에 바로 수정합니다.

Mantra 로 전체 세션 스냅샷 찍기

중요한 작업 세션에서는 Mantra를 사용해 Claude Code 대화 전체의 “저장 상태”를 캡처합니다. 위험한 작업이나 자연스러운 중단점 전에 Mantra가 전체 컨텍스트를 기록하므로 정확히 복원할 수 있습니다.

  • 비디오 게임의 퀵세이브 기능과 같습니다.
  • 이 도구는 스냅샷을 로컬에 저장하고, Claude Code, Cursor, Windsurf 전반에서 작동하며, 언제든지 시각적으로 스냅샷을 탐색해 해당 시점의 컨텍스트를 확인할 수 있습니다.
  • Free download:

왜 세션 관리가 중요한가

세션을 잃는다는 것은 Claude Code를 실제 복잡한 작업에 사용하고 있다는 증거입니다. 가장 야심찬 개발자들은 견고한 세션 관리 워크플로우를 구축했으며, 아직도 컴팩션 때문에 작업을 잃는 사람들은 아직 그 습관을 채택하지 않은 것입니다.

시작하기

  1. 프로젝트에 SESSION.md 파일을 추가합니다 (비용 = 0, 즉시 효과).
  2. 매 반시간마다 업데이트합니다.
  3. 필요에 따라 커스텀 /compact 프롬프트를 사용합니다.
  4. 위험도가 높을 때는 Mantra 스냅샷을 도입합니다.

여러분은 어떤 세션 관리 전략을 사용하고 있나요?

0 조회
Back to Blog

관련 글

더 보기 »

서브넷팅 설명

Subnetting이란 무엇인가? 큰 아파트 건물을 여러 층으로 나누는 것과 같다. 각 층 서브넷은 자체 번호가 매겨진 유닛(hosts)을 가지고, 그리고 건물…