🔥 요약하지 않았는데 96.6%가 나왔다, 원문 메모리가 이긴다

어제 Claude Code 문서에서 기본 보관 기간이 30일이라는 문장을 읽고, ls ~/.claude/projects/를 쳐서 남아 있는 세션 폴더를 다시 셌다. 로컬에 쌓여 있으니 안전하다고 막연히 생각했는데, 기본값을 그대로 두면 30일이 지난 세션은 다음 시작 시점에 정리될 수 있다는 뜻이었다. 그 뒤로 나는 대화 기록을 옮길 도구를 찾기 시작했다.
그때 MemPalace README 첫 문장이 바로 눈에 들어왔다. 원문을 줄이지 않고, 의미 검색만으로, LongMemEval R@5에서 96.6%를 냈다는 설명이었다. 메모리 도구가 보통 요약 품질이나 LLM 후처리를 먼저 내세우는 관행에서, 이 저장소는 반대로 원문 보관을 전면에 놓았다. 나는 그 선택이 숫자로 어디까지 버티는지부터 확인했다.
무엇이 새로운가

MemPalace의 새 점은 요약을 늦춘 정도가 아니다. 저장 단계에서 요약, 추출, 재작성을 아예 하지 않는다. README도 이 원칙을 앞에 둔다.
"It does not summarize, extract, or paraphrase."
요약하지 않고, 정보만 뽑아내지도 않고, 다시 바꿔 쓰지도 않는다는 뜻이다.
구조는 세 단계다. README는 wings, rooms, drawers라는 이름을 쓰고, 사람과 프로젝트를 동으로, 주제를 방으로, 원문 조각을 서랍으로 나눈다. 기본 검색 백엔드는 ChromaDB이고, 지식 그래프는 로컬 SQLite에 둔다. API 키 없이 시작할 수 있고, 사용자가 따로 고르지 않으면 데이터도 외부로 보내지 않는다.
96.6% 라는 숫자는 어떻게 측정됐나

이 숫자는 LongMemEval에서 나왔다. Wu 등의 ICLR 2025 논문은 500문제로 장기 메모리를 재고, 정보 추출, 여러 세션 추론, 시간 추론, 지식 갱신, 답 보류까지 같이 평가한다. MemPalace README 표는 의미 검색만 쓴 96.6% R@5, 450문제를 따로 떼어 잰 98.4%, LLM 재정렬을 포함한 99% 이상을 따로 적는다.
내가 더 무겁게 본 값은 처음의 100% 문구가 아니라 96.6%와 98.4%다. 저장소는 특정 오답을 보고 손을 댄 부분이 일부 있다고 직접 공개했고, 50개 개발 문제를 따로 두고 남은 450개로 다시 잰 98.4%를 가장 정직한 수치로 적는다. Danilchenko의 리뷰도 100% 문구를 96.6%로 고친 결정을 정정의 핵심으로 짚는다.
요약하지 않는 디자인이 왜 이기는가

요약 중심 메모리는 먼저 검색을 돌리고, 그 결과만 다시 압축한다. 첫 검색에서 빠진 사실은 뒤 단계가 다시 살리지 못한다. LongMemEval처럼 질문 표현과 원문 표현이 어긋나는 평가에서는 이 한계가 그대로 점수로 나온다.
원문을 그대로 두면 모델은 요약문을 다시 해석하지 않아도 된다. 의미 검색이 비슷한 문장을 가져오면, 답에 필요한 표현과 수치가 그대로 남는다. 96.6%가 흥미로운 이유도 같은 맥락이다. LLM 후처리 없이도 의미 검색만으로 raw R@5 96.6%를 보고할 수 있었다는 뜻이다.
그럼 Mem0 / Zep 은 끝났나

MemPalace 점수만으로 Mem0나 Zep이 끝났다고 말할 수는 없다. Mem0 연구 페이지는 LongMemEval 93.4를 적고 있고, Zep 논문에서 인용되는 수치도 다른 구성에서 나왔다. README가 나란한 비교표를 거부한 이유도 여기에 있다. 상위 5개 안 회수율과 최종 응답 정확도를 한 표에 놓으면 공정한 비교가 아니기 때문이다.
더 중요한 변화는 출발점이다. 메모리 시스템은 오랫동안 요약을 앞단에 뒀다. MemPalace는 원문 보관을 앞단에 두고도 raw R@5 96.6%를 받아 적었다. 그래서 다른 도구의 출발점도 다시 보게 된다.
어디에 쓸 수 있나

내가 바로 떠올린 곳은 Claude Code 세션 보관이었다. 문서 기준 기본 보관 기간은 30일이고, 세션 기록은 ~/.claude/projects/ 아래 평문으로 남는다. 한 달 뒤 사라질 기록이라면, 작업이 끝나기 전에 원문째 옮겨 둘 이유가 충분하다.
uv tool install mempalace
mempalace init ~/projects/myappuv tool install mempalace
mempalace init ~/projects/myappmempalace mine ~/.claude/projects/ --mode convosmempalace mine ~/.claude/projects/ --mode convosmempalace search "why did we switch to GraphQL"mempalace search "why did we switch to GraphQL"mempalace wake-upmempalace wake-upREADME는 29개 MCP 도구도 함께 둔다고 적는다. 세션 기록을 먼저 넣고, 새 세션에서 wake-up을 호출해 필요한 문맥을 다시 불러오는 식이다.
그래서
대화가 길고, 나중 질문이 처음 표현과 수치를 다시 써야 하는 일이라면 원문 보관이 맞다. 반대로 짧은 업무 메모나 최종 결정만 남기면 되는 기록이라면 요약이 더 싸고 간단하다. MemPalace가 보여 준 96.6%는 요약이 항상 출발점일 필요는 없다고 말한다.
참고 자료
- MemPalace on GitHub — 이 글의 1차 소스. README, 벤치마크 결과 파일,
docs/HISTORY.md모두 여기서 확인할 수 있다. - LongMemEval — Wu et al., ICLR 2025 — 96.6% R@5 수치가 측정된 벤치마크 논문. 500문제, 다섯 가지 장기 메모리 능력을 함께 평가한다.
- MemPalace Review: The 100% Score Was Fake. 96.6% Is Real. — 100% 문구가 96.6%로 정정된 과정과 held-out 98.4% 의미를 정리한 외부 리뷰.
- Claude Code — Data usage —
~/.claude/projects/30일 retention과cleanupPeriodDays동작의 1차 출처. - Mem0 — Token-efficient memory algorithm — Mem0가 보고한 LongMemEval 93.4와 토큰 비용 데이터의 1차 출처.
- Zep: A Temporal Knowledge Graph Architecture for Agent Memory — 시간 기반 지식 그래프 메모리의 설계 논문. 직접 비교가 어려운 이유를 메서드 차이로 보여 준다.
- Chroma — open-source search infrastructure for AI — MemPalace의 기본 백엔드. 의미 검색이 어디에 얹혀 도는지 확인할 수 있다.







