🔍
광고 자리 · 리더보드
홈 ›

에이전트 메모리, memnest와 Lemmalog가 짚은 건 저장보다 갱신이었다

9월 01, 2026
광고 자리 · 본문 상단

코딩 에이전트한테 같은 설명을 매번 다시 하는 게 지겨워서 메모리 얘기가 나오면 일단 열어본다. 며칠 사이에 두 개가 같이 올라왔는데, 둘이 짚는 자리가 달랐다.

세션 하나 끝나면 그동안 정한 것들이 다 날아간다. 이건 쓰는 사람이면 다 아는 불편이고, 나도 반복 지시는 아예 규칙 파일에 박아두는 식으로 버티고 있다. 그러다 로컬 메모리 얘기 두 건을 연달아 봤다. 하나는 내 컴퓨터 안에 기억 창고를 놓는 물건이고, 다른 하나는 "기억을 어떻게 쌓나"가 아니라 "지금 뭐가 참인가"를 붙드는 쪽이더라. 직접 깔아보진 않았고, 공개된 문서와 글에 적힌 것만 읽고 정리한다.

📑 목차

1. memnest, 내 컴퓨터 안에 기억 창고를 놓는 쪽

memnest는 Rust로 만든 서비스인데, 내 컴퓨터 안(localhost)에서만 돈다. 클라우드에 보내는 게 아니라 SQLite 파일 하나를 진짜 원본으로 삼고, 클로드코드나 Codex 같은 도구가 거기에 같이 붙어 쓰는 구조다. (github.com) MIT 라이선스로 공개돼 있다. (news.hada.io)

눈에 띈 건 LLM을 아예 안 부른다는 점이었다. 대화를 요약해 저장하는 게 아니라 보이는 텍스트를 그대로 담고, 자격증명 같은 건 지운 뒤 넣는다. 검색은 두 갈래를 같이 쓴다. 정확한 단어를 찾는 BM25(단어가 얼마나 드물고 자주 나오는지로 점수를 매기는 고전 검색 방식)와, 말을 바꿔 물어도 찾아주는 벡터 검색을 겹쳐 돌린다. (github.com) 게시글에 적힌 한국어 성능은 recall@1 0.976이다. 첫 번째로 내놓은 답이 정답인 비율이 그 정도라는 뜻. 다만 같은 줄에 no-result 정확도 0.200 이라는 숫자가 같이 붙어 있는데, 어떤 조건에서 잰 건지는 거기 안 적혀 있다. (news.hada.io)

공짜는 아니다. 임베딩 모델을 로컬에 두니까 디스크 1.1GB쯤 먹고, 임베딩 도는 동안 메모리를 최대 1.9GB까지 쓴다고 적혀 있다. (github.com) 이 계산은 로컬 LLM이 더 이득이라는 착각, 실측하니 아니었다에서 한 번 두드려본 적이 있어서, 공짜라는 말이 나오면 이제 자동으로 자원부터 본다.

근데 나는 저장소 설명보다 거기 적힌 경고가 더 인상적이었다. 저장된 사실이 언제 낡았는지를 memnest는 스스로 못 알아챈다. 낡은 걸 갈아치우려면 사용자가 supersedes=<id> 로 "이건 저걸 대체한다"고 직접 찍어줘야 한다. 검색이 다 찾아준다는 보장도 없으니 결과는 확인하라고 써놨고, 일반 메모리는 암호화 없이 저장되며 진짜 민감한 것만 AES-256-GCM 금고에 넣으라고 한다. 포트 3111은 인터넷에 열지 말라는 말도 있다. 아직 0.1.x 대라 올리기 전에 백업하라는 문장까지. (github.com)

만든 쪽이 자기 한계를 이 정도로 먼저 적어두는 문서는 드물어서, 오히려 신뢰가 갔다.

2. Lemmalog, 틀린 걸 알았을 때 딸린 결론까지 접는 쪽

같은 날 본 다른 글은 출발점이 아예 달랐다. 취약점 연구에 LLM 에이전트를 쓰던 사람이 겪은 문제가 이거였다. 몇 시간 조사해서 이미 배제한 접근을 모델이 다시 제안하고, 거짓으로 판명된 가정 위에서 계속 추론을 이어가더라는 것. (pwning.systems)

그래서 나온 게 Lemmalog다. 과거 대화를 잘 찾아주는 게 아니라 "지금 무엇이 참인지"를 사실과 규칙으로 들고 있는 엔진이고, 바탕은 Datalog다. Datalog는 계산 절차를 시키는 대신 사실과 규칙만 적어두면 새 사실을 알아서 끌어내는 언어다. 핵심은 그다음인데, 깔고 있던 사실 하나를 철회하면 거기 매달린 결론들이 자동으로 무효가 된다. "왜 이게 참이냐"를 되물으면 의존 관계를 따라 답도 나오고. (pwning.systems)

숫자를 보면 방향이 더 선명하다. LongMemEval 이라는 긴 기억 평가에서 Lemmalog는 F1 0.463 인데 전체 맥락을 통째로 넣는 방식이 0.222 였다. 토큰은 질문당 약 104,000에서 약 2,700으로 38배 줄었다. LoCoMo 쪽은 F1 0.533 으로 전체 맥락 0.542 에 오히려 살짝 못 미쳤고, 토큰은 18,900에서 3,400으로 6배 감소. 세부 항목 중에 지식을 갱신하는 문제가 0.579 로 비교 대상보다 높게 나왔고, 거짓 전제를 깔고 묻는 적대적 질문이 0.707 이었다. (pwning.systems)

약한 데도 그대로 공개돼 있다. 조건부 추론은 0.164 로 비교 대상 0.289 에 밀렸고, 여러 세션에 걸친 정보는 0.211 대 0.582 로 크게 벌어졌다. 자연어를 사실로 옮기는 단계에서 생기는 환각은 아직 해결 못 했다고 적어놨다. (pwning.systems) 첫 구현이 0.226 이었는데 0.463 까지 온 게 모델을 키워서가 아니라 같은 대상을 가리키는 다른 표현을 묶고 날짜 표기를 통일하는 식의 손질이었다는 대목도 인상적이었고.

memnest와 Lemmalog의 저장 방식, 검색과 갱신 방법, 공개 수치, 각자 밝힌 한계를 좌우 두 카드로 비교한 표 ▲ memnest와 Lemmalog의 저장 방식, 검색과 갱신 방법, 공개 수치, 각자 밝힌 한계를 좌우 두 카드로 비교한 표 (자체 제작 이미지)

3. 두 글이 같은 자리를 가리키고 있었다

따져보면 둘은 경쟁 상대가 아니다. memnest는 "무엇을 어디에 쌓고 어떻게 찾나"를 풀었고, Lemmalog는 "그중에 지금 뭐가 아직 참인가"를 풀었다. 그리고 memnest 문서가 스스로 못 한다고 적어둔 바로 그 칸, 낡은 사실을 알아서 못 걷어낸다는 그 자리를 Lemmalog가 정면으로 잡고 있다. 한쪽의 한계 문단과 다른 쪽의 문제 제기 문단이 거의 같은 말이더라.

내 자리에 대보면 이렇다. 반복 지시를 규칙 파일에 적어두는 방식은 클로드코드 프롬프트 6가지에서도 다뤘고 지금도 쓰고 있는데, 이건 사실 memnest 쪽 문제만 푼 거다. 적어두는 건 되는데, 그중 뭐가 이제 틀렸는지는 결국 내가 지운다. 규칙 목록에 유통기한을 걸었던 것도 (스킬 80개를 7개로) 자동 무효화가 아니라 그냥 손으로 만든 시한이었고. 그래서 두 번째 글 쪽이 더 오래 걸릴 얘기 같다.

다만 지금 바로 붙일 물건인지는 모르겠다. memnest는 0.1.x 고 백업 권고가 붙어 있다. Lemmalog 쪽은 벤치마크 위에서 잰 결과지 실제 조사에 붙여 굴린 기록이 아니고, 글쓴이 본인이 다음 단계로 진짜 취약점 조사에서 죽은 가설이 되살아나는지를 시험해보겠다고 적어놨다. (pwning.systems) 둘 다 어제오늘 공개된 것들이라, 몇 달 굴린 사람들의 후기는 아직 없다. 그건 없는 대로 두는 게 맞겠지.

솔직히 나는 아직 안 깔았고, 깔았을 때 뭐가 걸릴지는 이 글로는 말 못 한다. 읽은 것까지만 적었다.

3줄 요약

  • memnest는 내 컴퓨터 안 SQLite에 기억을 쌓고 단어 검색과 벡터 검색을 같이 돌린다. 한국어 recall@1 0.976, 대신 디스크 1.1GB에 MIT.
  • Lemmalog는 쌓는 대신 "지금 뭐가 참인가"를 들고 있다가 전제가 틀리면 딸린 결론을 자동으로 접는다. 토큰은 38배까지 줄었고 조건부 추론은 약하다고 스스로 밝혔다.
  • 저장은 이미 여러 방법이 있는데 갱신은 아직 사람 손이다. 그 칸이 비어 있다는 걸 두 문서가 각자 다른 각도로 말하고 있었다.

낡은 메모를 지우는 일만큼은 아직 내가 하고 있는데, 이게 언제까지 내 몫일지.

이 글은 정보 제공을 목적으로 하며, 작성 시점(2026년 9월) 기준 공개 자료를 읽고 정리한 것이다. 두 프로젝트 모두 초기 단계라 기능·수치·설치 방식은 바뀔 수 있으니 설치 전에 원문을 직접 확인하기 바란다. 필자가 직접 설치·운용해본 기록은 아니며, 특정 도구의 사용을 권유하거나 성능을 보장하지 않는다.

참고한 공식 자료

광고 자리 · 멀티플렉스

함께 읽으면 좋은 글

    댓글

    댓글