클로드 코드(Claude Code)의 기억력 향상: claude-mem vs DIY 방식 비교 분석

by DD
1개월 전
조회수 16

클로드 코드(Claude Code)는 세션 종료 시 모든 정보를 잊어버리는 문제를 해결하기 위해 세션 간 메모리(Persistent Memory)를 제공하는 claude-mem 등장

claude-mem은 SQLite, Chroma, Bun HTTP Worker를 활용하여 하이브리드 검색(Hybrid Search)웹 UI(Web UI)를 제공하며, 48시간 만에 46K 스타를 기록

DIY 방식은 PowerShell 스크립트를 사용하여 git 커밋(Git Commit) 기록세션 간 컨텍스트(Context) 주입을 구현하여 종속성(Dependency)을 최소화

claude-mem은 자동 압축(Automatic Compression)시맨틱 검색(Semantic Search) 기능을 제공하며, DIY 방식은 팀 공유(Team Sharing)토큰 비용 절감(Token Cost Reduction)에 유리

claude-mem 아키텍처 심층 분석

claude-mem은 클로드 코드(Claude Code)의 메모리 기능을 확장하기 위해 5가지 라이프사이클 훅(Lifecycle Hooks)을 활용한다.

SessionStart: 세션 시작 시 메모리 로드

UserPromptSubmit: 사용자 프롬프트 제출 시 정보 저장

PostToolUse: 툴 사용 후 정보 캡처

Stop: 세션 중단 시 작업 저장

SessionEnd: 세션 종료 시 정리

내부적으로는 SQLite(SQLite)를 사용하여 데이터베이스를 구축하고, Chroma(Chroma)를 통해 키워드 및 벡터 유사성(Vector Similarity) 기반의 하이브리드 검색을 지원한다. 또한, Bun(Bun) HTTP Worker를 사용하여 백그라운드 서비스를 실행하고, 웹 UI(Web UI)를 통해 메모리 내용을 시각적으로 확인할 수 있다.

DIY 방식의 기술적 구현

DIY 방식은 PowerShell 스크립트(PowerShell Scripts)와 클로드 코드(Claude Code)의 네이티브 훅 API(Native Hook API)를 사용하여 간단한 메모리 시스템을 구축한다.

PostToolUse 훅(Hook): Bash 또는 Write 툴 사용 후 git 커밋(Git Commit) 및 파일 생성(File Creation) 정보를 일별 마크다운 파일(Markdown File)에 기록

SessionStart 훅(Hook): 지난 3일간의 캡처 내용을 읽어 새로운 세션 시작 시 컨텍스트(Context)로 주입

장점: 제로 종속성(Zero Dependency), 팀 공유(Team Sharing), 토큰 비용 절감(Token Cost Reduction)

단점: 시맨틱 검색(Semantic Search) 부재 및 수동 설정 필요.

claude-mem과 DIY 방식의 비교 분석

claude-mem과 DIY 방식은 각기 다른 장점을 가지고 있으며, 사용 목적에 따라 적합한 방식을 선택할 수 있다.

claude-mem: 자동 압축(Automatic Compression), 시맨틱 검색(Semantic Search), 웹 UI(Web UI) 제공

DIY 방식: 제로 종속성(Zero Dependency), 팀 공유(Team Sharing), 토큰 비용 절감(Token Cost Reduction)

claude-mem은 Bun(Bun)과 SQLite(SQLite)를 사용하며, DIY 방식은 PowerShell 스크립트(PowerShell Scripts)와 마크다운 파일(Markdown Files)을 활용한다. claude-mem은 설치가 간편하지만, DIY 방식은 수동 설정이 필요하다. 두 방식은 공존 가능하며, 필요에 따라 레이어드 아키텍처(Layered Architecture)를 구성할 수 있다.

claude-mem의 토큰 비용 최적화

claude-mem은 기본적으로 클로드 API(Claude API)를 사용하여 툴 출력을 요약하므로 토큰 비용이 발생한다. 하지만, Gemini(Gemini) API를 사용하면 토큰 비용을 절감할 수 있다.

설정 변경: `~/.claude-mem/settings.json` 파일에서 `CLAUDE_MEM_PROVIDER`를 `gemini`로, `CLAUDE_MEM_GEMINI_API_KEY`를 본인의 API 키로 설정

Gemini API: 무료(Free)로 사용 가능하며, claude-mem의 압축 기능을 활용하여 토큰 비용 절감(Token Cost Reduction)

주의사항: Gemini API 키 발급 및 사용 관련 정책을 확인해야 한다. claude-mem은 Gemini API를 통해 LLM(Large Language Model) 압축(Compression)을 수행하여 메모리 효율성을 높인다.

3-Layer 메모리 아키텍처

본문에서는 Flutter Web(Flutter Web) + Supabase(Supabase) 환경에서 3-Layer 메모리 아키텍처(3-Layer Memory Architecture)를 소개한다.

L1: Intra-session claude-mem (SQLite) - 모든 툴 사용 기록, 시맨틱 검색

L2: Inter-session DIY hooks (markdown) - git 커밋 기록, 인스턴스 간 공유

L3: Cross-project NotebookLM - 장기적인 아키텍처 지식 저장

각 레이어는 서로 다른 목적과 기능을 가지며, claude-mem과 DIY 방식을 조합하여 효율적인 메모리 관리(Efficient Memory Management)를 구현한다. 이 아키텍처는 클로드 코드(Claude Code)를 '일회용 도구'에서 '성장하는 파트너'로 변화시키는 데 기여한다.

Adding Persistent Memory to Claude Code with claude-mem — Plus a DIY Lightweight Alternative

댓글 0

첫 번째 댓글을 남겨보세요!