작업별 메모리를 위한 Claude Code 플러그인을 제작했습니다
요약
Claude Code의 기존 메모리 방식이 해결하지 못하는 특정 작업 단위의 컨텍스트 관리를 위해 'claude-named-memory' 플러그인을 소개합니다. 이 플러그인은 작업별로 독립된 메모리 프로필을 생성하여 전역 설정 오염 없이 특정 프로젝트나 디버깅 세션의 맥락을 유지할 수 있게 합니다.
핵심 포인트
- 작업(Task) 단위의 독립적인 메모리 프로필 생성 가능
- CLAUDE.md 등 전역 컨텍스트 오염 방지
- 최소 모드: 슬래시 명령어를 통한 수동 메모리 관리
- 확장 모드: 셸 별칭, 자동 시스템 프롬프트 로드 및 메모리 압축 지원
문제점
Claude Code는 이미 유용한 메모리/컨텍스트 (memory/context) 추상화 기능을 갖추고 있습니다:
사용자 수준 메모리 (user-level memory)
CLAUDE.md를 통한 프로젝트/리포지토리 (project/repo) 메모리
기술 (skills)
하지만, 실제 Claude Code 작업 중 상당수는 단일 사용자 설정, 리포지토리 디렉토리, 또는 재사용 가능한 기술에 깔끔하게 묶이지 않습니다.
예시:
설정 파일, 패키지, 쉘 스크립트, 시스템 상태 전반에 걸친 Linux 환경 설정
백엔드, 프론트엔드, 인프라 (infra) 리포지토리에 걸쳐 있는 무언가를 디버깅하는 작업
중요한 컨텍스트가 CLAUDE.md에 담기에는 너무 구체적이거나 변동이 심한 수 주 단위의 기능 개발 작업
몇 주 또는 몇 달에 걸쳐 다시 돌아오게 되는 장기적인 사이드 프로젝트나 연구 스레드
일반적인 임시 방편은 다음과 같습니다:
매 새로운 세션이 시작될 때마다 컨텍스트를 다시 구축합니다.
--resume을 계속 사용하여 오래된 대화를 계속 끌고 다닙니다.
두 방법 모두 작동하지만, 어느 것도 이상적이라고 느껴지지는 않습니다.
이름이 지정된 메모리 프로필 (Named Memory Profiles)
저는 제가 계속 겪었던 이 문제를 해결하기 위해 Claude에게 이름이 지정된 메모리 프로필을 부여하는 Claude Code 플러그인인 claude-named-memory를 제작했습니다.
기본 아이디어는 다음과 같습니다: 컨텍스트는 사용자나 리포지토리뿐만 아니라 특정 작업 (task)에 속할 수 있다는 것입니다.
예를 들어:
linux-setup, feature-x, prod-debug, migration-y
각 프로필은 자신만의 지속적인 메모리를 가집니다:
~/.claude/profiles/<name>/memory.md
따라서 linux-setup은 머신에서 무엇이 변경되었는지 기억할 수 있고, feature-x는 설계 결정 사항과 막혔던 부분들을 기억할 수 있으며, prod-debug는 이미 조사한 내용을 기억할 수 있습니다. 이 모든 과정은 전역 사용자 메모리나 프로젝트 수준의 CLAUDE.md를 오염시키지 않고 이루어집니다.
이 플러그인은 두 가지 단계가 있습니다.
최소 모드 (Minimal Mode, 기본값)
시스템 변경을 전혀 수행하지 않습니다.
명시적인 슬래시 명령어(slash commands)만 사용할 수 있습니다:
/named-memory:name <name> /named-memory:load <name> /named-memory:save
일반적인 흐름:
유용한 세션으로부터 프로필 생성 /named-memory:name myproject # 나중에, 어떤 세션에서든 해당 컨텍스트 로드 /named-memory:load myproject # 추가 작업 후, 변경 사항 저장 /named-memory:save
확장 모드 (Extra Mode)
extras를 설치하여 더 무겁고 주관적인(opinionated) 경험을 선택할 수 있습니다:
/named-memory:install-extra
확장 모드는 다음과 같은 더 자동화된 워크플로우(workflow)를 추가합니다:
- 프로필당 하나의 claude-<name> 셸 별칭(shell alias) 생성
- 해당 프로필의 memory.md를 시스템 프롬프트(system-prompt) 컨텍스트로 자동 로드
- 압축(compaction) 과정 이후에도 메모리를 유지
- 세션 종료(SessionEnd) 훅(hook)을 실행하여, 헤드리스(headless) claude -p를 사용해 세션 내 모델이 놓친 유용한 정보를 추출
- 메모리 파일이 임계값을 초과하여 커지면 압축(compacts)
- 프로필별 감사 로그(audit log) 유지
- /named-memory:uninstall-extra로 원상복구 가능
따라서 다음과 같이 프로필을 생성한 후:
/named-memory:name linux-setup
나중에 다음과 같이 실행할 수 있습니다:
claude-linux-setup
그러면 해당 작업의 메모리가 이미 로드된 상태로 Claude Code 세션을 시작할 수 있습니다.
리포지토리(Repo): https://github.com/pachuc/claude-named-memory
피드백을 듣고 싶으며, 이것이 다른 분들도 느끼고 있는 컨텍스트 관리(context management)의 페인 포인트(pain point)인지 알고 싶습니다.
제출자: /u/0XGY
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기