매일 반복되는 그 질문, Claude Code 탓이 아니다
Claude Code로 팀 프로젝트를 운영하다 보면 반드시 마주치는 순간이 있다. "우리가 왜 이 아키텍처를 선택했죠?" 새 세션을 열 때마다 Claude는 어제의 대화를 기억하지 못한다. 정확히는, 기억 자체는 존재한다. ~/.claude/projects/ 아래 JSONL 파일로 로그가 쌓이고 있다. 문제는 에이전트가 그걸 읽지 않는다는 것이다. Git은 무엇이 바뀌었는지 알려주지만, 왜 그렇게 바뀌었는지는 알려주지 않는다. 아키텍처 결정, 기술 부채 메모, 기각된 대안들—팀의 가장 값비싼 컨텍스트가 매 세션 증발한다.
memcp: 로그가 있는데 못 읽는 문제를 직접 고친 사례
dev.to에 올라온 오픈소스 프로젝트 memcp는 이 문제를 실용적으로 건드린다. 발상 자체는 단순하다. 세션이 끝나면 로그를 자동으로 로컬 SQLite DB에 적재하고, 다음 세션에서 Claude가 MCP(Model Context Protocol) 툴을 통해 그 DB를 검색하게 만드는 것이다. search_memory, read_session, list_recent_sessions, ingest_session 네 개의 MCP 툴이 전부다. 설치는 uv tool install 한 줄, 설정은 memcp setup 하나로 끝난다. 세션 종료 훅이 자동 등록되고, 기존 세션 로그도 소급 적재할 수 있다.
벡터 DB나 임베딩 대신 SQLite FTS5를 선택한 이유도 명확하다. 추가 인프라 없이 동작하고, 시맨틱 검색의 복잡도를 MVP 단계에 끌어들이지 않기 위해서다. 모든 데이터는 로컬에 머문다. 클라우드 동기화 없음, 텔레메트리 없음. 코딩 세션 로그에는 프로젝트 내부 컨텍스트와 민감 정보가 섞일 수 있다는 판단이 설계 원칙 1번이다.
컨텍스트 윈도우를 메모리로 착각하면 생기는 일
이 문제를 구조적으로 이해하려면 한 단계 더 올라가야 한다. EchoNerve의 Agent Stack 프레임워크는 AI 에이전트의 메모리를 세 계층으로 구분한다.
- Working Memory: 컨텍스트 윈도우. 수명은 한 세션. 채울수록 품질이 떨어진다.
- External Memory: 파일, 벡터 스토어, DB. 영구적이지만 검색 설계가 나쁘면 찾지 못한다.
- Procedural Memory: CLAUDE.md 같은 상시 로드 지침. 영구적이지만 처음부터 작성하지 않으면 존재하지 않는 것과 같다.
Chroma의 2025년 7월 연구는 18개 프론티어 모델을 테스트한 결과, 컨텍스트가 길어질수록 모델이 한계에 닿기 전에 이미 성능이 저하된다는 걸 보여준다. 더 불편한 발견은, 논리적으로 잘 구조화된 문서일수록 오히려 성능이 나빠졌다는 점이다. 체계적으로 정리된 대화 히스토리를 통째로 컨텍스트에 밀어 넣는 방식이 오히려 역효과를 낼 수 있다는 뜻이다. 대부분의 팀이 첫 번째 계층만 쓰고 있다는 게 진짜 문제다.
팀 도구로서 Claude Code의 메모리를 설계한다는 것
memcp는 현재 MVP다. 시맨틱 검색 없음, Windows 미지원, Claude Code 외 에이전트 미지원. 그래도 이 프로젝트가 중요한 이유는 도구 자체가 아니라 그것이 드러내는 설계 질문 때문이다. Claude Code를 팀 도구로 운영한다면 세 계층 모두를 의식적으로 설계해야 한다.
Procedural Memory인 CLAUDE.md에는 아키텍처 결정 원칙과 팀 컨벤션을 담는다. External Memory에는 memcp처럼 세션 로그를 적재하거나, 더 단순하게는 핵심 설계 결정을 마크다운으로 버전 관리한다. Working Memory는 매 세션 필요한 것만 선별해서 로드한다. 이 세 계층이 연결되지 않으면 팀은 매번 같은 설명을 반복하는 데 시간을 쓴다.
검색 품질이 정말 문제라면 Mem0 같은 hosted 서비스나 Letta(구 MemGPT) 같은 stateful 프레임워크도 선택지다. Mem0의 벤치마크 수치를 전적으로 신뢰하기는 어렵지만, 방향성 자체—소량의 정확한 검색이 대용량 컨텍스트 stuffing보다 정확도와 비용 모두에서 낫다—는 독립 연구와 일치한다.
감사 가능한 메모리가 다음 과제다
메모리 설계에는 성능 이외의 이유도 있다. Anthropic이 2026년 4월 공개한 Managed Agents는 버전 관리되고 내보내기 가능한 메모리 스토어를 포함했다. 에이전트가 무엇을 기억하고, 왜 그 결정을 내렸는지를 추적할 수 있는 구조다. Gartner가 2028년까지 Fortune 500 기업당 15만 개 이상의 에이전트를 전망하는 맥락에서, 감사 가능한 메모리는 거버넌스 문제이기도 하다.
memcp는 그 방향의 로컬 버전이다. 세션 로그가 SQLite에 남는다는 건 무슨 대화가 있었는지 언제든 열어볼 수 있다는 뜻이다. 단순한 편의 기능이 아니라 팀이 에이전트 행동을 검토할 수 있는 최소한의 기록 구조다.
내일 당장 팀에 적용할 수 있는 수준은 CLAUDE.md 정비와 핵심 설계 결정의 마크다운 문서화다. 거기서 한 단계 더 나아가고 싶다면 memcp를 실험해볼 만하다. 어떤 방법을 쓰든 핵심 질문은 하나다. 세션이 끊겨도 팀의 판단이 남아 있는가.