![[심층분석] 내 컴퓨터 안에 짓는 AI '기억의 궁전', MemPalace를 파헤쳐봤어요](/newsimg/wbGNcuG4JwRUqe5u.png)
AI한테 자꾸 같은 말을 반복하는 게 지겹지 않으세요?
ChatGPT나 Claude 같은 AI랑 대화를 좀 해보신 분이라면 다들 한 번쯤 겪어봤을 거예요. 어제 분명히 "나는 파이썬으로 백엔드 개발하고, 들여쓰기는 스페이스 4칸 쓴다"고 말했는데, 오늘 새 창을 열면 AI가 나를 처음 보는 사람처럼 대하는 거죠. 매번 내 상황을 처음부터 다시 설명해야 하고요.
이게 왜 이러냐면요, 대부분의 AI는 대화 한 세션이 끝나면 기억을 통째로 날려버리거든요. AI 입장에서는 우리가 했던 대화가 단기 기억(컨텍스트 윈도우)에만 잠깐 떠 있다가, 창을 닫으면 사라지는 거예요. 마치 매일 아침 기억이 리셋되는 영화 주인공처럼요.
그래서 요즘 개발자 커뮤니티에서 뜨거운 주제가 바로 'AI 메모리(AI Memory)'예요. 쉽게 말해서 AI한테 장기 기억을 붙여주는 기술이죠. 오늘 소개할 MemPalace는 이 분야에서 "우리가 벤치마크 점수로는 제일 잘한다"고 당당하게 내세우는 오픈소스 프로젝트예요. 게다가 공짜고요. 같이 한번 뜯어볼게요.
MemPalace가 정확히 뭐 하는 녀석이냐면
이름부터 살펴보면 재밌어요. MemPalace는 'Memory(기억)'와 'Palace(궁전)'를 합친 말이에요. '기억의 궁전(Memory Palace)'이라는 건 원래 고대 그리스 시절부터 내려오는 암기 기법인데요, 머릿속에 가상의 건물을 하나 짓고 "현관에는 사과, 거실에는 강아지" 이런 식으로 기억할 것들을 방마다 배치해두는 방법이에요. 위치랑 연결지으면 훨씬 잘 외워지거든요.
MemPalace는 이 비유를 진짜로 소프트웨어 구조에 가져왔어요. AI랑 나눈 대화를 저장할 때 이렇게 정리해요.
- 사람이나 프로젝트는 '윙(wing, 별관)'으로 — 큰 단위 분류예요
- 주제는 '룸(room, 방)'으로 — 그 안의 세부 카테고리고요
- 실제 원본 내용은 '드로어(drawer, 서랍)'에 넣어둬요
- LongMemEval: AI의 장기 기억력을 테스트하는 표준 시험지 같은 거예요. "예전에 나눈 긴 대화에서 특정 정보를 잘 기억해서 답하나?"를 채점해요.
- R@5 (Recall at 5): 검색 결과 상위 5개 안에 정답이 들어있는 비율이에요. 96.6%라는 건, 100번 검색하면 96~97번은 상위 5개 안에 정답을 끼워 넣는다는 뜻이죠. 꽤 높은 수치예요.
- 요약형 메모리(Mem0 등 일부 방식): 회의록을 적을 때 핵심만 골라 정리하는 비서 같아요. 깔끔하고 가볍지만, 정리하면서 빠뜨린 디테일은 영영 못 찾아요.
- MemPalace(버바팀 방식): 회의를 통째로 녹음해두고 필요할 때 그 부분만 돌려 듣는 방식이에요. 저장 부담은 좀 더 있지만, 원본이 살아있으니 나중에 "그때 정확히 뭐라고 했지?"에 답할 수 있어요.
- 클라우드형 메모리: 남의 좋은 창고에 내 짐을 맡기는 거예요. 편하고 관리도 대신 해주지만, 내 짐을 남이 들여다볼 수 있고 보관료(API 비용)도 내야 해요.
- MemPalace(로컬형): 내 집 안에 직접 창고를 짓는 거예요. 처음 설치가 좀 번거롭지만, 내 물건은 온전히 내 거고 추가 비용이 없어요.
그러니까 "회사 프로젝트 별관 > 인증 기능 방 > 로그인 버그 서랍" 이런 식으로 차곡차곡 분류해서 저장하는 거죠. 이렇게 구조를 잡아두면 나중에 검색할 때 온 집안을 다 뒤지는 게 아니라 "인증 기능 방만 열어봐" 하고 범위를 좁힐 수 있어요. 검색이 빠르고 정확해지는 비결이에요.
가장 중요한 특징: '있는 그대로' 저장한다
MemPalace가 다른 메모리 시스템이랑 가장 크게 다른 점이 하나 있어요. 바로 버바팀(verbatim) 저장이에요. 'verbatim'이라는 단어가 좀 낯설죠? 쉽게 말하면 "한 글자도 안 바꾸고, 말한 그대로" 저장한다는 뜻이에요.
이게 왜 중요하냐면요. 보통의 AI 메모리 시스템들은 대화가 길어지면 내용을 요약해서 저장해요. "사용자가 인증 관련해서 여러 질문을 함" 이런 식으로 압축하는 거죠. 저장 공간도 아끼고 효율적이니까요. 그런데 이 과정에서 디테일이 날아가요. 예를 들어 내가 "토큰 만료 시간을 1800초로 설정했다"고 했는데, 요약 과정에서 "토큰 만료 설정을 했다"로 뭉개지면, 나중에 정확한 숫자가 필요할 때 AI가 답을 못 하는 거예요.
MemPalace는 이 문제를 "아예 요약을 안 한다"로 풀었어요. 원본을 그대로 서랍에 넣어두고, 검색할 때 필요한 걸 꺼내 쓰는 방식이죠. 요약하거나, 핵심만 추출하거나, 말을 바꿔 쓰는(paraphrase) 일을 안 해요. 약간 손이 더 가더라도 정보 손실이 없는 쪽을 택한 거예요.
핵심 기술 두 가지: 시맨틱 검색과 로컬 우선
1. 시맨틱 검색 (의미로 찾기)
MemPalace는 저장한 내용을 '시맨틱 검색(semantic search)'으로 찾아와요. 이게 뭐냐면, 우리가 흔히 쓰는 Ctrl+F 같은 단순 검색은 글자가 정확히 일치해야 찾아주잖아요. "로그인"으로 검색하면 "로그인"이라고 적힌 것만 나오고, "인증"이라고 적힌 건 안 나와요.
반면 시맨틱 검색은 글자가 아니라 '의미'로 찾아줘요. "로그인 문제"라고 검색하면 "인증 오류", "세션 만료" 같이 뜻이 비슷한 내용까지 알아서 찾아주는 거예요. 이걸 가능하게 하는 게 '임베딩(embedding)'이라는 기술인데, 문장을 숫자 벡터(좌표 같은 거예요)로 바꿔서 의미가 가까운 것끼리 가까운 위치에 놓는 방식이에요.
이 검색을 담당하는 저장소로 기본값은 ChromaDB라는 벡터 데이터베이스를 써요. 그런데 여기서 MemPalace의 설계 철학이 빛나요. 검색 엔진 부분을 '갈아끼울 수 있게(pluggable)' 만들어 뒀거든요. mempalace/backends/base.py라는 파일에 "검색 엔진은 이런 기능들을 갖춰야 해"라는 일종의 규격(인터페이스)만 정의해두고, 그 규격만 맞으면 ChromaDB 대신 다른 걸 끼워 넣어도 나머지 코드는 손 안 대도 되게 했어요. 콘센트 규격만 맞으면 어느 회사 충전기든 꽂아 쓸 수 있는 것처럼요.
2. 로컬 우선 (내 컴퓨터 안에서)
두 번째 핵심은 '로컬 우선(local-first)'이에요. MemPalace는 내 대화 기록을 외부 서버로 보내지 않아요. 전부 내 컴퓨터 안에서 처리돼요. README에도 못 박아 놨어요. "네가 직접 허락(opt-in)하지 않는 한, 아무것도 네 컴퓨터를 떠나지 않는다"고요.
게다가 검색할 때 API 호출이 제로(zero API calls)라고 강조해요. 무슨 말이냐면, 보통 AI 기능을 쓰면 OpenAI 같은 회사 서버에 요청을 보내고 돈을 내야 하잖아요. MemPalace는 검색 단계에서 그런 외부 호출이 없어서, 돈도 안 들고 내 데이터도 안 새 나가는 거예요. 회사 보안 규정 때문에 사내 코드를 외부 AI에 못 보내는 분들한테는 이게 진짜 큰 장점이에요.
벤치마크 점수, 진짜 잘하나?
MemPalace가 자신 있게 내세우는 숫자가 있어요. LongMemEval에서 R@5 기준 96.6%(raw)라는 기록이에요. 용어를 풀어볼게요.
물론 벤치마크 점수는 어디까지나 통제된 환경에서의 시험 성적이라, 실제 내 업무에서도 똑같이 나올지는 직접 써봐야 알아요. 시험 잘 보는 거랑 실전 잘하는 게 항상 같진 않으니까요. 그래도 "요약 안 하고 원본 그대로 저장"한다는 설계가 이 높은 점수의 비결인 건 분명해 보여요. 정보를 안 버렸으니 찾을 게 그만큼 많은 거죠.
경쟁 기술이랑 비교하면
AI 메모리 분야엔 이미 여러 선수가 있어요. 대표적으로 Mem0, Zep, 그리고 LangChain 같은 프레임워크에 딸린 메모리 모듈들이 있죠. 이들이랑 MemPalace를 비유로 비교해볼게요.
설치할 때 알아둘 점
MemPalace는 명령줄 도구(CLI)로 동작해요. README에서 설치할 때 격리된 환경(isolated environment)에 깔라고 권해요. 이게 왜냐면, 최근 데비안이나 우분투 같은 리눅스는 시스템 파이썬에 함부로 패키지를 깔면 'PEP 668' 에러를 내거든요. 시스템이 망가지는 걸 막으려는 안전장치예요. 그래서 pipx나 가상환경(venv) 같은 격리된 공간에 설치하는 게 안전해요.
그리고 README에 좀 무서운 경고도 있어요. 가짜 사이트(impostor sites)를 조심하라는 거예요. 공식 출처는 딱 세 곳 — 이 GitHub 저장소, PyPI 패키지, 그리고 mempalaceofficial.com 문서뿐이에요. .tech, .net 같은 다른 도메인은 악성코드를 퍼뜨릴 수 있는 사칭 사이트라고 명시해놨어요. 인기 있는 오픈소스일수록 이런 사칭이 붙으니, 설치 주소를 꼭 공식 출처에서 확인하세요.
한국 개발자에게 주는 시사점
그럼 우리가 이걸 어디에 써먹을 수 있을까요? 구체적인 시나리오 몇 개를 들어볼게요.
1. Claude Code나 코딩 에이전트랑 같이 쓰기. MemPalace는 Claude Code 같은 AI 코딩 도구와 연동을 염두에 두고 만들어졌어요. README에도 "Claude Code 세션이 30일 지나면 자동 저장 훅 없이는 만료된다"며 보존 설정 가이드를 안내하고 있죠. 즉 AI한테 시킨 작업 맥락을 장기 보관하고 싶은 분께 딱이에요. "지난달에 이 모듈 왜 이렇게 짰지?"를 AI가 기억하게 만드는 거죠.
2. 보안이 민감한 회사 환경. 금융권이나 공공기관처럼 코드를 외부로 못 보내는 곳 많잖아요. 로컬에서 다 돌아가고 외부 API 호출이 없는 MemPalace는 이런 환경에 잘 맞아요. 사내망 안에서 우리 팀만의 AI 지식 저장소를 만들 수 있어요.
3. 개인 지식 관리. 매일 AI랑 나눈 기술 토론, 디버깅 과정을 자동으로 쌓아두면 나만의 검색 가능한 개발 일지가 돼요.
학습 로드맵을 제안하자면 이래요. 먼저 벡터 데이터베이스와 임베딩 개념을 가볍게 잡으세요(왜 의미로 검색이 되는지만 이해해도 충분해요). 그다음 pipx로 MemPalace를 설치해서 개인 프로젝트에 붙여 한 2주 써보세요. 익숙해지면 backends/base.py 인터페이스를 열어보고, 회사에서 쓰는 다른 벡터 DB로 백엔드를 바꿔 끼우는 데까지 가보면 구조를 완전히 체득하게 돼요.
도입 전 고려할 점도 솔직히 말하면, 원본을 다 저장하니 데이터가 쌓일수록 디스크를 꽤 먹어요. 그리고 직접 운영해야 하니 "누가 관리할 거냐"를 미리 정해두는 게 좋아요.
마무리하며
AI가 점점 똑똑해지는 와중에, 정작 "어제 일을 기억 못 하는" 한계는 여전했어요. MemPalace는 이 빈틈을 "원본을 통째로 잘 보관하고, 의미로 빠르게 찾아주자"는 정공법으로 파고든 프로젝트예요. 특히 모든 걸 내 컴퓨터 안에서, 돈 안 내고 처리한다는 점이 클라우드 의존이 당연시되던 흐름에 던지는 메시지가 묵직해요.
앞으로 AI 에이전트가 더 보편화되면, '기억을 어디에, 어떻게 보관하느냐'가 도구 선택의 핵심 기준이 될 거예요. 요약해서 가볍게 갈 거냐, 원본 그대로 무겁지만 정확하게 갈 거냐 — 이 선택지가 본격적으로 갈리는 시점인 거죠.
여러분은 어떠세요? AI한테 매번 같은 설명을 반복하는 게 불편하셨나요? 아니면 내 대화 기록이 어딘가에 통째로 저장된다는 게 오히려 부담스러우신가요? 로컬 메모리 vs 클라우드 메모리, 여러분이라면 어느 쪽을 택하실지 댓글에서 같이 이야기해봐요.
🔗 출처: GitHub
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공