LeanX

세컨드 브레인과 /memory — 결정을 기억시키기

세컨드 브레인은 배운 패턴과 결정의 이유를 로컬 마크다운에 쌓아 두는 것이며, /memory로 저장한 메모리는 매 세션 자동 로드되고 CLAUDE.md는 규칙과 참조 경로만 담아 상세 문서는 필요할 때만 읽히게 하면 컨텍스트를 아낄 수 있습니다.

세션이 끝나면 클로드는 대화를 잊습니다. 어제 두 시간에 걸쳐 함께 내린 '이 프로젝트는 왜 이 라이브러리를 안 쓰기로 했는지' 같은 결정도, 오늘 새 세션에선 백지 상태입니다. 매번 다시 설명하는 건 시간 낭비죠. 그래서 필요한 것이 대화 밖에 두는 '세컨드 브레인(제2의 뇌)'입니다.

세컨드 브레인이란

세컨드 브레인은 배운 패턴, 해결한 방법, 그리고 '왜 그렇게 결정했는지'를 로컬 마크다운 파일에 차곡차곡 쌓아 두는 것입니다. 사람이 노트에 업무 지식을 적어 두고 필요할 때 펴 보듯, 다음 세션에서는 그 파일만 읽히면 클로드가 곧바로 맥락을 되찾습니다. 대화가 사라져도 지식은 파일로 남습니다.

/memory 자동 메모리

클로드 코드에는 이걸 도와주는 메모리 기능이 있습니다. 작업 중 배운 내용을 메모리 파일에 저장해 두면 매 세션 자동으로 로드됩니다. 대화 중에 "이거 기억해 줘"라고 말하면 저장되고, /memory를 입력하면 저장된 메모리를 확인하고 편집할 수 있습니다. 입력창에서 #으로 시작하는 메시지를 보내면 그 내용을 바로 메모리에 추가할 수도 있습니다.

"기억해 줘"로 메모리에 저장하기

이번에 알아낸 걸 기억해 줘: 이 프로젝트의 이미지 업로드는 Supabase Storage의 'public' 버킷을 쓰고, 파일명은 반드시 유저ID를 접두어로 붙여야 RLS 정책을 통과해. 다음에 업로드 관련 작업할 때 이걸 참고해 줘.

개인 메모리 vs 팀 공유

무엇을 어디에 적을지 구분하는 게 중요합니다. '나만의 습관·취향'과 '팀 전체가 지켜야 할 규칙'은 저장 위치가 다릅니다.

구분개인 메모리팀 공유 (CLAUDE.md)
위치개인 메모리 파일, ~/.claude/프로젝트 루트 CLAUDE.md (Git 커밋)
내용내 말투·개인 노하우·임시 메모팀 공통 규칙·명령어·구조
공유나만 봄팀원 모두 공유
예시"커밋 메시지는 한국어를 선호""src/legacy는 수정 금지"

lazy loading: 다 싣지 말고 참조 링크만

메모리와 CLAUDE.md의 함정은 '비대해지는 것'입니다. 모든 세부 스펙과 DB 스키마, API 명세를 CLAUDE.md에 다 넣으면, 매 세션 그 무게를 통째로 짊어져 컨텍스트를 낭비합니다. 해법은 lazy loading(필요할 때만 읽기)입니다. CLAUDE.md에는 규칙과 '어디를 보라'는 참조 경로만 적고, 상세 내용은 별도 문서로 빼서 필요할 때만 읽게 하세요.

참조 링크만 담은 가벼운 CLAUDE.md

# 프로젝트: 쿠폰 정산 시스템

## 규칙
- TypeScript strict, any 금지
- 커밋·주석은 한국어
- DB 스키마 변경은 반드시 먼저 확인받을 것

## 자주 쓰는 명령어
- 개발: npm run dev
- 테스트: npm test

## 상세는 필요할 때 이 문서들을 읽어라 (평소엔 로드하지 말 것)
- DB 스키마: docs/db-schema.md
- 정산 규칙 상세: docs/settlement-rules.md
- 외부 API 명세: docs/payment-api.md
- 지난 결정 기록: docs/decision-log.md

폴더별 CLAUDE.md와 결정 로그

규칙이 특정 폴더에만 해당하면, 그 하위 폴더에 CLAUDE.md를 따로 두세요. 예를 들어 src/payments/CLAUDE.md에는 결제 모듈만의 주의사항을 적습니다. 그 폴더에서 작업할 때만 추가로 로드되어, 루트 CLAUDE.md를 가볍게 유지할 수 있습니다.

'왜 그렇게 정했는가'는 특히 docs/decision-log.md에 남기면 좋습니다. 코드만 보면 '무엇'은 알아도 '왜'는 알 수 없거든요.

docs/decision-log.md — 결정과 그 이유 기록

# 결정 기록

## 2026-06-20 상태관리 라이브러리 선택
- 결정: Zustand 사용 (Redux 대신)
- 이유: 보일러플레이트가 적고 팀 규모가 작아 러닝커브가 낮음
- 대안: Redux Toolkit — 규모가 커지면 재검토

## 2026-06-25 결제 금액 검증 위치
- 결정: 금액 검증은 프론트가 아니라 서버(엣지 함수)에서만
- 이유: 프론트 검증은 우회 가능, 보안상 신뢰 불가

작업을 끝낼 때 "오늘 내린 중요한 결정과 그 이유를 docs/decision-log.md에 날짜와 함께 추가해 줘"라고 요청하는 습관을 들이세요. 이 로그가 쌓이면 새 팀원(과 새 세션의 클로드)이 프로젝트의 '왜'를 몇 분 만에 파악합니다.

메모리와 CLAUDE.md도 비대해지면 오히려 독입니다. 오래되어 틀린 규칙, 더 이상 안 쓰는 정보가 쌓이면 클로드가 잘못된 지식을 근거로 작업합니다. 주기적으로 열어 보며 낡은 항목을 지우는 '다이어트'를 하세요. 짧고 정확한 메모리가 길고 낡은 메모리보다 강합니다.

세컨드 브레인의 원칙은 하나입니다. '대화는 잊혀도 좋게, 지식은 파일에.' 결정과 노하우를 밖에 적어 두면, 세션을 아무리 초기화해도 프로젝트의 기억은 사라지지 않습니다.