SimpleMem

AI MemoryCLIPython

★ 3,754주당 +27조회 4

무엇인가

SimpleMem은 LLM 에이전트의 컨텍스트 윈도우 밖에 장기 기억을 두는 계층이다. 검색 증강 생성이 외부 문서를 붙이는 자리와 대화 로그를 그대로 누적하는 자리 사이에서, 상호작용 자체를 압축해 기억으로 바꾼다. 하나의 `simplemem` 패키지 안에 텍스트용 SimpleMem, 멀티모달용 Omni-SimpleMem, 검색 설정을 자동 진화시키는 EvolveMem이 함께 들어 있다.

어떻게 동작하나

동작은 세 단계다. 대화나 사실을 구조화된 원자적 기억으로 변환해 저장하고, 시맨틱 임베딩과 구조적 메타데이터로 인덱싱하고, 질의 시 키워드가 아니라 의미를 기준으로 검색한다. 백엔드는 `mode="auto"`가 첫 호출의 입력을 보고 정한다. 순수 텍스트면 텍스트 백엔드, 이미지·오디오·비디오가 섞이면 Omni 백엔드가 선택된다. MCP 서버는 mcp.simplemem.cloud에 호스팅되어 있다.

무엇과 다른가

기존 방식과의 차이는 압축을 먼저 통과시킨다는 점이다. 원시 상호작용 이력을 그대로 쌓으면 중복이 늘고 토큰을 많이 쓰며, 비싼 추론 루프로 노이즈를 걸러내면 느리고 비용이 든다. SimpleMem은 3단계 파이프라인에서 의미를 잃지 않는 선으로 압축한다. LoCoMo 벤치마크에서 이전 시스템 대비 평균 F1 26.4% 향상, 추론 시점 토큰 소비 약 30배 절감을 보고한다. Omni-SimpleMem은 LoCoMo F1=0.613, Mem-Gallery F1=0.810을 기록했다.

어떻게 쓰나

설치는 `pip install simplemem` 후 `from simplemem import SimpleMem`으로 시작한다. `simplemem.optimize(...)`는 개발용 질문 집합에서 top_k, 융합 모드, 답변 검증, 반성 라운드 같은 검색 플래그를 오프라인으로 조정하고 결과 Config를 추론에 배포한다. MCP 클라이언트(Claude Desktop, Cursor, LM Studio, Cherry Studio 등)에는 서버를 등록해 텍스트 기억을 쓴다. 기억 구축·검색·판정에 쓸 추론은 `OPENAI_BASE_URL`로 OpenAI 호환 엔드포인트를 지정해 처리한다. 대규모 대화 처리는 병렬 모드를 켠다.

전제와 한계

전제 조건이 있다. 기억 생성과 검색 판정에 LLM 추론이 필요하므로 OpenAI 호환 엔드포인트가 있어야 한다. 텍스트 기억은 MCP로 연동하고, 이미지·오디오·비디오를 포함한 전체 멀티모달 기능은 Python 통합으로만 쓴다. EvolveMem의 벤치마크 어댑터와 카테고리별 오버라이드를 포함한 독립 실행 버전은 저장소의 `EvolveMem/` 디렉터리에 따로 있다.

관련 논문 3

유사 도구