핵심 정리
/init
-> CLAUDE.md 생성
/memory
-> memory 파일 수정메모 구조
세션 사이에 memory가 필요한 이유
Claude Code는 대화형 도구지만 세션이 끊기면 이전 맥락을 기억하지 않습니다. CLAUDE.md 같은 memory 파일은 세션이 바뀌어도 계속 유지하고 싶은 규칙과 맥락을 담는 장치입니다. 프로젝트 스타일, 실행 절차, 검증 규칙, 도메인 용어처럼 매 세션마다 다시 설명해야 하는 내용을 memory에 두면 반복 비용이 크게 줄어듭니다.
memory에 넣을 내용과 넣지 말아야 할 내용을 구분하는 기준
공식 docs는 "코드 스타일 선호", "명명 규칙", "프로젝트별 작업 방식"처럼 반복되는 기준을 넣으라고 안내합니다. 자주 깨지는 테스트 실행 순서, 필수 린트 명령, 금지 패턴, 리뷰 기준처럼 실제로 다시 찾게 되는 규칙이 좋은 후보입니다. 반대로 일회성 작업 지시나 현재 브랜치의 임시 상황은 memory에 넣으면 곧 stale해집니다. memory는 "계속 유지할 규칙"에만 집중하고, 현재 작업 범위는 프롬프트에서 주는 편이 맞습니다.
/init과 /memory를 언제 써야 하는가
/init은 프로젝트에 CLAUDE.md를 처음 세팅할 때 유용합니다. Claude Code가 프로젝트 구조를 분석해 초기 memory 파일을 자동으로 생성해 줍니다. /memory는 기존 memory를 수정하거나 새 규칙을 추가할 때 씁니다. 두 명령을 알면 세션마다 같은 설명을 반복하는 비용이 크게 줄어들고, 팀 규칙을 파일로 버전 관리할 수 있는 기반이 생깁니다.
/init
-> 처음 뼈대 만들기
/memory
-> 기존 규칙 수정
-> 새 기준 추가stale한 memory가 오히려 판단을 흐리는 이유
memory가 길어지면 Claude Code가 오래된 규칙과 최신 규칙 사이에서 혼선을 일으킬 수 있습니다. 특히 예전 브랜치 기준으로 적힌 절차나 이미 폐기된 패턴이 memory에 남아 있으면, Claude Code가 잘못된 방향으로 판단하거나 충돌하는 규칙을 동시에 따르려다 어정쩡한 결과를 냅니다. memory는 주기적으로 정리하는 것이 길게 쌓는 것보다 중요합니다.
언제 남겨둘까
| 상황 | 적합한 선택 |
|---|---|
| 프로젝트 memory 처음 만들 때 | /init 실행 |
| 기존 memory 수정 또는 보강 | /memory 사용 |
| 반복되는 스타일, 명령, 검증 루프 | CLAUDE.md에 기록 |
| 일회성 작업 지시, 임시 상태 | 프롬프트에서 직접 제공 |
| memory가 오래됐을 때 | 주기적으로 stale 항목 정리 |
| 프로젝트 시작 직후 공통 규칙을 파일로 남기기 | /init |
주의할 점
memory는 길게 쓰는 것이 목적이 아닙니다. 매 세션마다 계속 적용될 기준만 남겨야 하고, 오래된 규칙이 쌓이면 오히려 Claude Code의 판단이 흔들릴 수 있습니다. stale한 항목은 주기적으로 정리하세요.
❌ 현재 브랜치: hotfix/payment-timeout
❌ 오늘만 임시로 test/ 스킵
❌ 이번 세션에서만 쓸 TODO 메모이런 항목은 오래 남을수록 오해를 만들기 쉽습니다. 계속 유지할 규칙만 memory에 남기는 편이 안전합니다.
참고 링크
2 sources