🧩

Context · Memory · Handoff 완전 정리

Claude Code

Claude Code의 세 가지 "기억" 메커니즘 — 각각 언제 쓰이고 어떻게 다른가

Claude Code에서 "기억"이라고 부를 수 있는 것은 세 가지가 있다. 각각 범위와 수명이 완전히 다르다.

1. Context — 현재 대화 (휘발성)

지금 진행 중인 대화의 내용이다. 토큰 한도(컨텍스트 윈도우)가 있어서 대화가 길어지면 앞부분이 잘린다. /compact로 압축하거나, /clear로 완전히 초기화할 수 있다.

한 세션 안에서만 유효하다. 세션을 닫으면 사라진다(단, --resume으로 세션 자체를 재개하는 건 가능).

2. Memory — 세션 간 기억 (영구)

~/.claude/projects/프로젝트/memory/ 디렉토리에 .md 파일로 저장되는 영구 기억이다. 세션을 닫았다 열어도, 다음 날 다시 시작해도 유지된다.

"이거 기억해", "always use bun" 같은 명시적 지시로 저장하거나, Claude가 중요하다고 판단하면 자동으로 저장한다. "잊어줘"로 삭제도 가능.

Memory는 CLAUDE.md와 다르다. CLAUDE.md는 프로젝트 규칙(Git에 커밋되는 공유 문서), Memory는 개인적인 선호도·피드백·작업 맥락(로컬에만 존재)이다.

3. Handoff — 세션 이동 (이관)

세션을 다른 환경으로 이동하는 메커니즘이다.

  • claude -c (--continue): 마지막 세션 즉시 재개

  • claude -r (--resume): 과거 세션 선택기

  • /remote-control: 모바일/브라우저에서 현재 세션 접속

  • claude.ai ↔ Claude Code 간 세션 이동

Handoff는 Context를 그대로 가져가지만, Memory는 항상 자동 로드되므로 별도 이관이 필요 없다.

Context vs Memory vs Handoff 비교

구분 Context Memory Handoff
정의 현재 대화 내용 세션 간 영구 기억 세션 이동 메커니즘
수명 세션 종료 시 소멸 영구 (파일 저장) 세션과 함께 이동
저장 위치 메모리(RAM) ~/.claude/projects/*/memory/*.md 세션 히스토리 DB
한도 토큰 윈도우 (모델별 다름) MEMORY.md 200줄 제한 없음
관리 명령 /compact, /clear "기억해", "잊어줘" -c, -r, /remote-control
자동 작동 한도 초과 시 자동 압축 중요 패턴 자동 저장 수동 실행만
Git 추적 아니오 아니오 (로컬 전용) 아니오

Memory vs CLAUDE.md — 혼동 주의!

구분 Memory CLAUDE.md
내용 개인 선호도, 피드백, 작업 맥락 프로젝트 규칙, 코드 컨벤션, 아키텍처
공유 범위 나만 (로컬 전용) 팀 전체 (Git에 커밋)
위치 ~/.claude/projects/*/memory/ 프로젝트루트/CLAUDE.md
예시 "이 유저는 한국어로 대화 선호"
"요약 없이 간결하게 답해줘"
"SQLite 사용, jsonb 금지"
"Docker 환경에서 명령 실행"

"왜 기억을 못 하지?" 트러블슈팅

아까 말한 걸 왜 모르지?

Context가 압축/잘림. 긴 세션 후에는 초기 대화가 자동 압축됩니다. /compact로 중요한 맥락을 강조하며 압축하거나, 중요한 결정은 CLAUDE.md에 기록하세요.

어제 말한 걸 왜 모르지?

Memory에 저장 안 됨. "이거 기억해"로 명시적으로 저장하거나, Claude가 자동 저장할 만큼 중요한 내용이 아니었을 수 있습니다. 중요한 패턴은 "always do X"로 명시적으로 저장하세요.

어제 세션을 이어서 하고 싶은데?

Handoff 사용. claude -c로 최근 세션 재개, claude -r로 과거 세션 목록에서 선택. 단, 오래된 세션은 Context가 이미 압축되어 있을 수 있으므로 중요한 결정은 CLAUDE.md에 기록하는 것을 권장합니다.

Memory의 5가지 타입

타입 내용 예시
user 사용자 역할, 선호도, 지식 수준 "시니어 Rails 개발자, React는 처음"
feedback 사용자가 교정한 행동 패턴 "DB mock 쓰지 마, 실제 DB로 테스트"
project 진행 중인 작업, 목표, 일정 "3/5부터 merge freeze, 모바일 릴리즈"
reference 외부 시스템 정보 포인터 "버그 트래킹은 Linear INGEST 프로젝트"

사용 방법

1

Context 관리: /compact로 압축, /clear로 초기화, statusline으로 남은 용량 확인

2

Memory 저장: "이거 기억해" 또는 자동 저장. ~/.claude/projects/*/memory/에 위치

3

Handoff: claude -c(최근 재개), claude -r(세션 선택), /remote-control(모바일 접속)

4

Memory ≠ CLAUDE.md — Memory는 개인 기억(로컬), CLAUDE.md는 프로젝트 규칙(Git)

Tags

#context #memory #handoff #session #resume #compact #persistent

Source

Anthropic Docs