AI 에이전트가 얼마나 잘 기억하는지 측정하는 LongMemEval이라는 벤치마크가 있다. 다양한 라이브러리가 도전했고, 지금까지 잘 알려진 오픈소스 중 가장 높은 점수는 MemPalace의 96.6%였다.
MemKraft v1.0.1은 98.0%를 기록했다.
오픈소스 기반의 주요 에이전트 장기 기억 벤치마크에서 현재 1위다.
LongMemEval은 실제 사람처럼 쌓이는 대화 기록에서 질문에 답하는 능력을 측정한다. 단순 검색이 아니라 기억의 질을 본다.
테스트 환경은 이렇다.
• 데이터셋: LongMemEval oracle subset, 50개 질문
• 평가 방식: LLM-as-judge (claude-sonnet-4.6) — 단순 문자열 매칭이 아니라 의미 기반 채점
• 모델: claude-sonnet-4.6
• 측정 방식: semantic majority vote (동일 질문 3회 샘플링 후 의미 기반 다수결)
LLM-as-judge를 쓴 이유가 있다. 정답이 의미상 맞는데 단어 표현이 달라 오답 처리되는 케이스가 많았다. string match로 측정하면 실제보다 낮게 나온다. 논문에서 MemPalace가 제시한 것과 동일한 평가 방식으로 맞췄다.
카테고리별 결과는 이렇다.
| 카테고리 | 점수 |
| ------------- | ----- |
| 시간 추론 | 100% |
| 단일 세션 (사용자) | 100% |
| 선호도 파악 | 100% |
| 정보 업데이트 | 100% |
| 멀티 세션 종합 | 92.3% |
| 단일 세션 (어시스턴트) | 83.3% |
다른 라이브러리와 비교하면 포지션이 선명해진다.
| 라이브러리 | 점수 | 비고 |
| ------------------- | ----- | -------------------- |
| MemKraft v1.0.1 | 98.0% | Markdown, zero-infra |
| MemPalace | 96.6% | ChromaDB 필요 |
| MEMENTO (Microsoft) | 90.8% | LLM self-compression |
| Mem0 | — | 클라우드 SaaS |
| Letta | — | 인프라 필요 |
| LangMem | — | LangChain 종속 |
MemKraft는 Markdown 파일 위에서 돌아간다. 외부 DB 없고, 외부 API 호출 없고, 프레임워크 종속 없다. 점수도 제일 높고, 깔리는 것도 제일 가볍다.
멀티 세션과 어시스턴트 기억 카테고리는 아직 여지가 있다. 다음 업데이트에서 더 올릴 계획이다.
───
이번엔 업데이트의 쓰레드는 다음과 같다. "기억하는 시스템"에서 "스스로 개선하는 시스템"으로. 버전별 키워드를 공유한다.
v0.9.0: 기억에는 실패의 자리도 있어야 한다
에이전트들이 같은 실수를 반복하는 걸 보면서 시작했다. 기억은 있는데 "왜 그랬는지"가 없었다.
Incident Memory Layer를 추가했다. incident_record, incident_rca, runbook_match. 무엇을 했는지뿐 아니라, 무엇이 잘못됐는지도 같은 기억 공간에 남긴다.
v0.9.1: 결정도 사건이다
결정을 시간 순으로 연결하면 흐름이 보인다. YongKeun Park의 What / Why / How 원칙을 그대로 박제했다.
decision_record, decision_link, 그리고 evidence_first — 행동하기 전에 과거 증거부터 조회하는 API. 먼저 조사하고 행동하라는 원칙을 코드에 박았다.
v0.9.2 M1: 프롬프트도 엔티티다
mizchi의 empirical prompt tuning 글("馬鹿みたいに効く")에서 영감을 받았다. 프롬프트를 사람처럼 이력이 쌓이는 대상으로 등록하고, 튜닝할 때마다 "무엇을 바꿨고 왜 바꿨는가"를 자동으로 기록한다.
MemKraft는 여전히 내부에서 LLM을 부르지 않는다. 기록만 할 뿐, 판단은 밖에서 한다.
v0.9.2 M2: 과거는 지금의 증거다
prompt_evidence — 튜닝 직전에, 비슷한 시도에서 뭐가 통했는지 자동으로 꺼내준다.
convergence_check — 정확도, 스텝 수, 소요 시간 세 가지가 안정되면 수렴으로 판정한다.
경험 많은 선임이 "이 정도면 됐어"라고 말해주는 감각을 코드로 옮긴 것이다.
v1.0.0: 루프가 닫혔다
register → eval → evidence → convergence_check. 한 바퀴 도는 자기개선 루프가 완성됐다.
새 storage 없음, 새 deps 없음, 새 LLM 호출 없음. 12개 API, 731 tests, Production/Stable.
Bitemporal memory × empirical tuning: the first self-improvement ledger for AI agents.
v1.0.1: 다시 보니 보이는 것들
정식 버전을 내자마자 E2E 패스를 한 번 더 돌렸다. P0(크래시/데이터 손실)은 0건. P1 5개 패치. 741 tests. 12분 13초.
───
v0.9.0에서 v1.0.1까지 여섯 번의 업데이트를 관통하는 주제는 "기억을 자기개선 원장으로 쓰는 것"이었다.
무엇을 기억할까에서, 왜 기억해야 하는가로. 그리고 그 기억이 다음 행동을 더 낫게 만드는가로.
영원한 MIT 라이선스, 맘대로 쓰면 된다. 스타, 포크, PR 전부 환영!
https://github.com/seojoonkim/memkraft



