클로드를 위한 지속적 메모리: MCP 기반 로컬 스택, 39ms 검색, 82% 토큰 감소

한 Reddit 사용자가 Claude용 로컬 영구 메모리 레이어를 구축하여 세션 간 제로 컨텍스트 문제를 해결했습니다. 스택은 완전히 로컬에서 실행되며(클라우드 없음, API 키 없음) MCP를 통해 통합됩니다. 주요 아키텍처: 4개 레이어(L0: SQLite의 추가 전용 이벤트 로그, L1: 지연된 구조화된 사실, L2/L3: 위키 산문, L4: 요약 + 결정 + 열린 스레드가 있는 결정화된 세션 노드), 벡터 검색용 Qdrant Docker, GPU에서 Qwen3-Embedding-4B와 CPU에서 Qwen3.5-2B-Q4_K_M을 사용하는 llama.cpp(임베딩 및 채팅용), 7가지 도구(retrieve, crystallize_session, list_sessions, get_l4_node, index_status, reindex, shutdown_models)를 노출하는 FastMCP 서버.
수치
- grep+Read 기준 대비 토큰 감소: 평균 82.7%, 중앙값 86.2%.
- 검색 F1: 기준 0.20 대비 0.50.
- 임베딩 콜드 스타트 약 4초; 핫패스 p95 39ms(버그 수정 전 2241ms).
- L4 세션 검색 평가: 평균 점수 0.920(게이트 0.6).
- 104개 마크다운 파일에서 738개 청크 인덱싱.
핵심 교훈: Windows에서 연결 재사용
핫패스 검색이 4070 Ti Super에서 GPU 상주 임베딩을 사용함에도 p95가 2241ms에서 멈췄습니다. 원인: 모든 httpx.post()가 새 TCP 연결을 열었고, Windows 로컬호스트 핸드셰이크가 약 2초가 걸렸습니다. 지속적인 httpx.Client와 keep-alive로 전환하여 p95가 39ms로 떨어졌습니다—57배 속도 향상.
기타 놀라운 점
- Qwen3 생각 모드: llama-server에서
chat_template_kwargs: {enable_thinking: false}와--jinja를 통해enable_thinking을 비활성화하지 않으면, 모델이 모든 토큰 예산을 생각 블록에 사용하고 빈 내용을 출력합니다. - MCP 등록: Claude Desktop의 에이전트 모드(Cowork)는
~/.claude.json이 아닌 플러그인 구성 파일을 읽습니다. LKS 서비스는 적절한 Cowork .plugin 번들로 패키징되어야 합니다.
대상 사용자
Claude를 많이 사용하고 클라우드 의존 없이 비용 효율적이고 개인적인 로컬 메모리 레이어를 통해 세션 간 컨텍스트를 유지하려는 개발자.
📖 전체 소스 읽기: r/ClaudeAI
👀 See Also

Qwen3.6:27b + 맞춤형 Go 에이전트: Claude Code의 로컬 대안
한 개발자가 RTX 6000(96GB)에서 Q8 양자화된 Qwen3.6:27b를 테스트하고, 일상적인 코딩에 Claude Code와 비슷하다고 주장하며 플러그인이나 MCP 없는 최소한의 Go 에이전트를 오픈소스로 공개했습니다.

클로드의 캔바 통합: 디자인 생성을 위한 실용적인 워크플로우
Claude의 Canva 커넥터는 단순한 이미지가 아닌 구조화된 레이아웃으로 편집 가능한 Canva 프로젝트를 내보냅니다. 이 게시물은 프롬프트에서 완성된 캐러셀까지 12~15분이 걸리는 워크플로우를 설정, 고충실도 모드, 솔직한 한계를 포함하여 설명합니다.

JobPilot: 자동화된 구직 지원을 위한 Claude 코드 플러그인
JobPilot은 Playwright 브라우저 자동화를 사용하여 구직 및 지원 과정을 자동화하는 Claude Code 플러그인입니다. 구직 게시판 검색, 지원서 자동 작성, 자기소개서 생성, 지원 통계 추적 등의 명령어를 포함합니다.

nan-forget: 단일 SQLite 파일에 저장된 로컬 AI 코딩 메모리
nan-forget는 단일 SQLite 파일(~3MB)에 컨텍스트를 저장하고 백그라운드 서비스 없이 작동하는 AI 코딩 에이전트용 메모리 도구입니다. 3단계 검색 파이프라인을 사용하며 Claude Code, Cursor, CLI를 통한 터미널에서 작동합니다.