
지난 글(#5)에서 Claude Code의 기억 구조를 정리했다. /compact는 책상 정리, CLAUDE.md는 서랍장. 단기 기억과 장기 기억의 관계.
그런데 쓰다 보니 궁금해졌다. compact로 정리한 대화는 진짜 사라지는 걸까? 그리고 세션을 닫으면? 다른 세션에서는?
직접 확인해봤다.
/compact를 하면 Claude가 참조하는 범위(컨텍스트 윈도우)가 줄어든다. 여기까진 지난 글에서 다뤘다.
그런데 디스크에는 원본이 그대로 남아 있다. 프로젝트 폴더 안에 .jsonl 파일이 있는데, 이게 세션의 전체 대화 기록이다.
.claude/projects/프로젝트명/세션ID.jsonl
compact를 세 번 하든 다섯 번 하든, 이 파일에는 첫 대화부터 마지막 대화까지 전부 기록돼 있다. Claude의 "눈앞에서 사라졌을 뿐" 파일에는 남아 있는 거다.
실제로 compact 후에 "아까 그 내용 다시 보여줘"라고 하면 못 찾지만, "트랜스크립트 파일에서 찾아봐"라고 하면 원문을 그대로 뽑아온다.
Claude Code를 닫았다가 다시 열면 새 세션이 시작된다. 새 .jsonl 파일이 생긴다.
이전 세션의 .jsonl도 디스크에 남아 있다. 이론적으로는 이전 파일을 읽으면 과거 대화를 복원할 수 있다. 하지만:
즉, 물리적으로는 남아 있지만 실용적이지 않다.
새 세션을 열 때 Claude Code가 자동으로 읽는 건 딱 하나다. MEMORY.md.
여기에 이런 것들을 남겨둔다:
새 세션이 열리면 Claude가 MEMORY.md를 읽고 "아, 지난번에 여기까지 했고, 이 방식으로 하면 되는구나"를 파악한다.
같은 세션 안:
compact 전 → 전부 기억
compact 후 → 요약만 기억, 원본은 .jsonl에 남음
다른 세션:
이전 .jsonl → 디스크에 있지만 자동 참조 안 됨
MEMORY.md → 자동으로 읽힘 ← 여기가 연결고리
비유를 하나 더 하면, 신경망과 비슷하다.
.jsonl = 에피소드 기억. 그날 경험한 것 전체가 녹화된 테이프.MEMORY.md = 장기 기억. 에피소드에서 뽑아낸 패턴, 규칙, 맥락의 압축본.에피소드 기억은 쌓이기만 하고 꺼내 보기 어렵다. 하지만 장기 기억으로 옮겨둔 것은 언제든 꺼낼 수 있다. 사람의 기억도 그렇다.
다른 세션에서 작업하다가, 이전 세션에서 정한 규칙을 Claude가 정확히 따르는 걸 봤다. 새 세션인데 어떻게 아는 거지? 했는데, MEMORY.md에 기록해뒀던 거였다.
반대로, MEMORY.md에 안 남긴 것은 깔끔하게 잊는다. "아까 그거"가 통하지 않는다. 세션이 다르니까.
결국 내가 뭘 남기느냐가 Claude의 기억을 결정한다. AI의 기억은 AI가 관리하는 게 아니라, 쓰는 사람이 설계하는 거다.
#5에서 정리한 사이클에 한 단계를 추가한다:
/compact (책상 정리)이 사이클이 돌수록 MEMORY.md가 두꺼워지고, Claude가 프로젝트를 더 깊이 이해한다. 세션은 끊어져도 맥락은 이어지는 구조다.
이 글은 Claude Code 플레이북을 만들면서 배운 것을 비개발자 시점으로 정리한 시리즈입니다.