출근 첫날인 신입이 매일 아침 다시 출근하는 상상을 해보세요. "여기 뭐 하는 회사예요?" "빌드는 어떻게 돌려요?" "default export 쓰지 말라고요? 처음 듣는데요." 어제 가르친 걸 오늘 또 가르칩니다. 내일도요.

메모리 없는 AI 코딩 도구가 딱 이 신입이에요. 그리고 우리는 매 세션 그 온보딩을 공짜로 해주고 있죠. "우리 pnpm 써", "테스트는 make test-integration이야", "이 폴더는 건드리지 마"를 어제도, 오늘도, 다음 세션에도.

그런데 Claude Code는 사실 기억할 수 있어요. 한 번 알려주면 세션이 끝나도, 노트북을 껐다 켜도, 다음 날에도 그대로 남아 있어요. 다만 그 기능이 너무 조용히 깔려 있어서 대부분 안 켜고 살 뿐이에요. 이 글은 그 신입을 '경력직'으로 만드는 5분짜리 작업에 관한 거예요.

3초 요약
CLAUDE.md 규칙서 작성 Auto Memory 켜기 Claude가 알아서 학습 기록 다음 세션 자동 로드 맥락 설명 영구 종료

기억은 두 갈래로 흐른다

핵심부터 잡고 갈게요. Claude Code의 기억은 두 개의 다른 시스템이에요. 헷갈리면 둘 다 못 쓰니까, 이 구분이 사실상 전부예요.

CLAUDE.md — 내가 쓰는 규칙서. "우리 프로젝트는 TypeScript strict mode 쓴다", "테스트는 pnpm test:integration으로 돌린다" 같은 걸 내가 직접 적어두면, 매 세션 시작할 때 Claude가 자동으로 읽어요. AI한테 건네는 온보딩 문서인 셈이죠.

Auto Memory — Claude가 혼자 쓰는 업무 일지. 이게 덜 알려진 쪽이에요. Claude가 작업하면서 스스로 메모를 남기는 기능이거든요. 프로젝트 패턴, 디버깅하다 깨달은 것, 사용자가 싫어하는 방식 같은 걸 알아서 기록해두고 다음 세션에 참고해요.

한 줄로 외우는 차이

CLAUDE.md = "이렇게 해라" (내가 미리 쓰는 규칙)
Auto Memory = "저번에 이래서 터졌다" (Claude가 사후에 쓰는 일지)

둘 다 마법이 아니라 그냥 텍스트 파일이에요. Auto Memory는 ~/.claude/projects/<project>/memory/ 안에 마크다운으로 쌓여요. MEMORY.md가 인덱스 역할을 하고, debugging.mdapi-conventions.md 같은 토픽별 파일이 곁가지로 붙어요.

여기서 딱 하나 기억할 운영 규칙이 있어요. 매 세션에 자동으로 로드되는 건 MEMORY.md의 처음 200줄뿐이에요. 나머지 토픽 파일은 필요할 때 Claude가 알아서 펼쳐 봐요. 그래서 MEMORY.md는 살 빼서 인덱스로 유지하고, 상세한 건 별도 파일로 던지는 게 정답이에요. 인덱스를 잡소리로 채우면 정작 중요한 게 200줄 밖으로 밀려나거든요.

200줄
세션 시작 시 자동 로드
프로젝트별
기억은 저장소 단위로 격리
0원
추가 비용

"12줄짜리 기억이 뭐가 대단해?"

여기서 많은 사람이 김이 새요. 실제로 Auto Memory를 켜둔 한 개발자는 13개 프로젝트를 굴리며 몇 달을 돌렸는데, Claude가 기록한 건 통틀어 딱 12줄이었대요. "이거 고장 난 거 아냐?" 싶죠.

그런데 그 12줄이 결정적이었어요. 병렬 세션에서 컨텍스트 파일명이 충돌하던 버그를 잡아낸 핵심 패턴이 거기 들어 있었거든요. 매 세션 시작할 때 그 12줄이 자동으로 깔리니까, 같은 실수가 그냥 사라졌어요. 기억은 페이지 수로 평가하는 게 아니에요. 어제의 실패 한 줄을 오늘 다시 안 밟게 해주면 그걸로 본전 뽑은 거예요.

그리고 이건 개발자만의 도구가 아니에요. Product Talk의 Teresa Torres는 마케팅 카피, SEO 최적화, 경쟁사 리서치 같은 비개발 작업에 그대로 써요. 타겟 고객, 제품 가치, 브랜드 톤을 Claude가 기억하고 있으니, 매번 파일을 다시 업로드하거나 장문의 프롬프트를 복붙할 필요가 없어진 거죠. 반복되는 맥락이 있는 일이라면 직군 불문하고 효과를 봅니다.

정리하면, 기억을 켜기 전과 후의 일상은 이렇게 갈려요.

기억 없이기억 켜고
세션 시작매번 프로젝트 맥락 설명 반복자동으로 맥락 로드
실수 반복어제 고친 버그를 오늘 또 만듦이전 디버깅 인사이트 참고
코딩 컨벤션"default export 쓰지 마" 매번 반복한 번 알려주면 영구 기억
빌드/테스트 명령어"npm 아니라 pnpm" 매번 교정정확한 명령어 자동 사용
토큰맥락 반복에 낭비핵심 작업에 집중

"CLAUDE.md는 내가 쓰는 설정 파일이고, Auto Memory는 시스템이 자동으로 쓰는 설정 파일이다. 둘 다 '학습'이 아니라 '트레이닝'이다."

— Brent W. Peterson, "Automatic Memory Is Not Learning"

이 한마디가 멘탈 모델을 바로잡아줘요. Claude가 똑똑해지는 게 아니라, 내가 환경을 세팅해주는 거예요. 그러니 세팅이 곧 성능이에요. 아래 5단계가 그 세팅 전부예요.

지금 5분 안에 끝내는 세팅 5단계

  1. /init으로 CLAUDE.md 부트스트랩 — 그리고 절반을 지운다
    프로젝트 디렉토리에서 /init을 실행하면 Claude가 구조를 분석해 기본 CLAUDE.md를 만들어줘요. 핵심은 생성 직후의 가지치기예요. "이 프로젝트는 JavaScript를 사용합니다" 같은 뻔한 줄은 과감히 삭제하고, Claude가 모르면 틀릴 것만 남기세요 — 빌드 명령어, 코딩 컨벤션, 아키텍처 결정. 규칙서가 길수록 좋은 게 아니라, 짧고 날카로울수록 잘 지켜져요.
  2. Auto Memory 켜졌는지 확인
    /memory를 실행하면 현재 메모리 파일 목록과 Auto Memory 토글이 보여요. 꺼져 있으면 여기서 켜고, 안 보이면 환경변수 CLAUDE_CODE_DISABLE_AUTO_MEMORY=0으로 강제 활성화하세요.
  3. 그냥 평소대로 일한다
    이 단계는 진짜 할 게 없어요. 작업하다 보면 Claude가 프로젝트 패턴·디버깅 인사이트·코드 스타일을 알아서 MEMORY.md에 적어요. 세션 중에 Wrote X memories 메시지가 뜨면 기록됐다는 신호예요.
  4. 중요한 건 입으로 박아넣는다
    꼭 기억시키고 싶은 게 있으면 그냥 말하면 돼요. "우리 pnpm 쓰니까 기억해", "API 테스트할 땐 로컬 Redis 필요한 거 메모해둬"라고요. Claude가 Auto Memory에 바로 적어요.
  5. 가끔 들여다보고, 좋은 건 승격시킨다
    /memory로 MEMORY.md를 열어 Claude가 뭘 기억했는지 점검하세요. 틀린 건 고치고, 자꾸 반복되는 패턴은 CLAUDE.md 규칙으로 승격시키면 돼요. (일지에 세 번 나온 항목 → 규칙서로 올리기, 이게 12줄을 자산으로 키우는 루틴이에요.) 그냥 마크다운이라 아무 에디터로나 손볼 수 있어요.

딱 하나 함정

Auto Memory는 프로젝트(git 저장소)별로 격리돼요. A 프로젝트에서 배운 건 B 프로젝트로 안 넘어가요. 모든 프로젝트에 공통으로 적용할 개인 선호도는 ~/.claude/CLAUDE.md(글로벌 메모리)에 적으세요 — 이게 사실상 3번째 계층이에요. 글로벌 규칙 / 프로젝트 규칙(CLAUDE.md) / 프로젝트 일지(Auto Memory), 이 세 층으로 설계하면 끝납니다.