Logo
본문으로 이동
중급11분 소요memorycontextpersistence

메모리 시스템 (Memory)

읽는 시간: 11분 | 난이도: 중급자

Claude Code의 메모리 관리 시스템을 통해 컨텍스트를 유지하고 세션 간 정보를 공유하는 방법을 배웁니다.

개요

Claude Code의 메모리 시스템은 대화 컨텍스트, 프로젝트 정보, 사용자 설정 등을 저장하고 관리합니다. 이를 통해 더 지능적이고 효율적인 상호작용이 가능합니다.


1. 메모리 기초 (Memory Basics)

1.1 메모리 계층

Claude Code는 다단계 메모리 시스템을 사용합니다:

메모리 계층 구조:

1. 단기 메모리 (Short-term Memory)
   - 현재 세션의 대화 기록
   - 최근 파일 변경사항
   - 임시 변수

2. 중기 메모리 (Medium-term Memory)
   - 프로젝트 컨텍스트
   - 자주 사용하는 패턴
   - 세션 간 공유 데이터

3. 장기 메모리 (Long-term Memory)
   - 프로젝트 설정
   - 사용자 선호도
   - 학습된 패턴

1.2 메모리 저장소

메모리 저장 위치:

- 세션 메모리: .claude/memory/session-{id}.json
- 프로젝트 메모리: .claude/memory/project.json
- 사용자 메모리: ~/.claude/memory/user.json
- 캐시: ~/.claude/cache/

2. 컨텍스트 관리 (Context Management)

2.1 컨텍스트 우선순위

컨텍스트 우선순위:

1. 사용자 프롬프트 (최우선)
2. 현재 작업 파일
3. 관련 프로젝트 파일
4. 프로젝트 설정
5. 세션 기록
6. 사용자 선호도

2.2 컨텍스트 최적화

# .claude/memory/context.yaml
context:
  # 파일 컨텍스트
  files:
    max_files: 50
    max_size_per_file: "100KB"
    priority:
      - "CLAUDE.md"
      - "package.json"
      - "*.config.{js,ts}"
      - "src/**/*.{js,ts,jsx,tsx}"

  # 대화 컨텍스트
  conversation:
    max_turns: 20
    retain_hours: 24
    summarize_after: 10

  # 프로젝트 컨텍스트
  project:
    include:
      - "README.md"
      - "ARCHITECTURE.md"
      - ".claude/**/*"
    exclude:
      - "node_modules/**"
      - "dist/**"
      - "*.min.js"

3. 세션 메모리 (Session Memory)

3.1 세션 상태 저장

{
  "sessionId": "session-2024-02-24-001",
  "startTime": "2024-02-24T10:00:00Z",
  "lastActivity": "2024-02-24T12:30:00Z",

  "conversation": [
    {
      "role": "user",
      "content": "README를 한국어로 번역해줘",
      "timestamp": "2024-02-24T10:05:00Z"
    },
    {
      "role": "assistant",
      "content": "README의 한국어 번역을 완료했습니다...",
      "timestamp": "2024-02-24T10:05:30Z"
    }
  ],

  "files": [
    {
      "path": "README.md",
      "lastRead": "2024-02-24T10:00:00Z",
      "modified": true
    }
  ],

  "context": {
    "currentDirectory": "/project",
    "gitBranch": "main",
    "language": "ko"
  }
}

3.2 세션 복원

# 세션 목록 확인
claude session list

# 세션 복원
claude session restore session-2024-02-24-001

# 세션 내보내기
claude session export session-2024-02-24-001 --format json

# 세션 삭제
claude session delete session-2024-02-24-001

4. 프로젝트 메모리 (Project Memory)

4.1 프로젝트 컨텍스트 저장

{
  "projectId": "my-project",
  "lastUpdated": "2024-02-24T12:00:00Z",

  "structure": {
    "type": "react-app",
    "mainLanguage": "TypeScript",
    "framework": "React 18",
    "buildTool": "Vite"
  },

  "patterns": {
    "componentLocation": "src/components/",
    "utilsLocation": "src/utils/",
    "testsLocation": "src/**/*.test.ts",
    "naming": "PascalCase for components"
  },

  "preferences": {
    "codeStyle": "prettier",
    "linter": "eslint",
    "testFramework": "jest",
    "autoSave": true
  },

  "history": [
    {
      "action": "file_created",
      "file": "src/components/Header.tsx",
      "timestamp": "2024-02-24T10:00:00Z"
    }
  ]
}

4.2 프로젝트 메모리 관리

# 프로젝트 메모리 확인
claude memory project

# 프로젝트 메모리 초기화
claude memory project init

# 프로젝트 메모리 업데이트
claude memory project update

# 프로젝트 메모리 내보내기
claude memory project export --format json

5. 사용자 메모리 (User Memory)

5.1 사용자 선호도 저장

{
  "userId": "user-123",
  "preferences": {
    "language": "ko",
    "theme": "dark",
    "editor": "code",
    "autoComplete": true,
    "verboseMode": false
  },

  "frequentlyUsed": [
    {
      "command": "format",
      "usage": 150,
      "lastUsed": "2024-02-24"
    },
    {
      "command": "test",
      "usage": 120,
      "lastUsed": "2024-02-24"
    }
  ],

  "customPrompts": [
    {
      "name": "review",
      "template": "코드 리뷰를 해줘. 포커스: {focus}",
      "parameters": ["focus"]
    }
  ]
}

5.2 학습된 패턴

{
  "patterns": [
    {
      "type": "code_style",
      "description": "TypeScript React 컴포넌트 패턴",
      "template": "function {ComponentName}() {{ return (...) }}",
      "usage_count": 45
    },
    {
      "type": "naming",
      "description": "유틸리티 함수 camelCase",
      "pattern": "[a-z][a-zA-Z0-9]*",
      "usage_count": 120
    }
  ]
}

6. 메모리 최적화 (Memory Optimization)

6.1 컨텍스트 압축

# .claude/memory/compression.yaml
compression:
  enabled: true
  strategy: "intelligent"

  rules:
    # 대화 요약
    conversation:
      summarize_after: 15
      keep_recent: 5
      summary_detail: "brief"

    # 파일 변경사항
    files:
      keep_changes: 100
      consolidate_after: 50
      group_by: "file_type"

    # 프로젝트 정보
    project:
      cache_structure: true
      invalidate_on: "dependency_change"

6.2 메모리 정리

# 메모리 사용량 확인
claude memory stats

# 오래된 세션 정리
claude memory cleanup --sessions --older-than 30d

# 캐시 정리
claude memory cleanup --cache

# 전체 정리
claude memory cleanup --all

7. 영속성 (Persistence)

7.1 자동 저장

# .claude/memory/persistence.yaml
persistence:
  auto_save:
    enabled: true
    interval: "5m"
    on_change: true

  backup:
    enabled: true
    interval: "1h"
    keep: 10

  sync:
    enabled: false
    provider: "github"
    repository: "user/claude-memory"

7.2 메모리 동기화

# 메모리 동기화 활성화
claude memory sync enable

# 동기화 상태 확인
claude memory sync status

# 수동 동기화
claude memory sync push
claude memory sync pull

8. 메모리 보안 (Memory Security)

8.1 민감 정보 보호

# .claude/memory/security.yaml
security:
  sensitive_patterns:
    - "api_key"
    - "password"
    - "token"
    - "secret"
    - "credential"

  redaction:
    enabled: true
    character: "*"
    preserve_length: true

  encryption:
    enabled: true
    algorithm: "AES-256-GCM"
    key_from_env: "MEMORY_ENCRYPTION_KEY"

8.2 메모리 액세스 제어

access_control:
  # 파일 접근
  files:
    allow: ["CLAUDE.md", "*.config.*"]
    deny: [".env", "*secret*"]

  # 메모리 읽기
  read:
    require_auth: false
    log_access: true

  # 메모리 쓰기
  write:
    require_auth: false
    validate_before_write: true

요약

메모리 시스템은 Claude Code의 지능형 컨텍스트 관리 핵심입니다.

핵심 개념

  1. 메모리 계층: 단기/중기/장기 메모리
  2. 컨텍스트 관리: 우선순위 기반 컨텍스트
  3. 세션 메모리: 대화 기록 및 상태
  4. 프로젝트 메모리: 프로젝트별 컨텍스트
  5. 사용자 메모리: 선호도 및 학습

모범 사례

  • 정기적인 메모리 정리
  • 민감 정보 보호
  • 컨텍스트 압축 활용
  • 자동 저장 및 백업

다음 단계


이 가이드가 도움이 되셨나요?

메모리 관리에 대한 질문이 있으시면 언제든지 물어보세요!

관련 가이드

메모리 시스템 (Memory) | Claude Code 가이드 | GodDaeHee | GodDaeHee