Community연구 & 데이터 분석github.com

Lilily58/Mem

🧠 SQLite, 전체 텍스트 검색 및 벡터 유사도와 충돌 해결을 사용하여 AI 어시스턴트를 위한 지속적이고 하이브리드한 대화 메모리를 구축합니다.

Mem란 무엇인가요?

Lilily58/Mem은 AI 어시스턴트의 장기 대화 맥락을 유지하기 위해 설계된 하이브리드 메모리 스킬입니다. SQLite를 기본 저장소로 사용하여 메모리를 지속적으로 저장하고, SQLite의 FTS5(전체 텍스트 검색) 기능을 통해 키워드 기반 검색을 지원하며, 벡터 유사도 검색을 통해 의미 기반 검색도 함께 제공합니다. 특히 충돌 해결(resolution) 메커니즘을 통해 동일한 키(예: 사용자 ID, 세션)에 대해 여러 출처의 메모리가 충돌할 때 지능적으로 병합하거나 최신 정보를 우선시할 수 있습니다. Cursor, Claude Code, Windsurf 등 다양한 AI 코딩 어시스턴트 플랫폼에서 사용 가능하며, 복잡한 영구 저장소 설정 없이 가볍고 확장 가능한 메모리 시스템을 원하는 개발자에게 이상적입니다. SKILL.md 문서를 참고하면 설치, 메모리 CRUD 작업, 검색, 충돌 해결 정책 설정 방법을 상세히 알 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Lilily58/Mem

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Mem은(는) 무엇을 하나요?

🧠 SQLite, 전체 텍스트 검색 및 벡터 유사도와 충돌 해결을 사용하여 AI 어시스턴트를 위한 지속적이고 하이브리드한 대화 메모리를 구축합니다.

개요

이 스킬은 AI 어시스턴트가 여러 세션에 걸쳐 맥락을 유지할 수 있도록 합니다. SQLite에 메모리를 저장하고, 전체 텍스트 검색(FTS5)과 벡터 유사도 검색을 모두 지원하며, 메모리 충돌 시 지능적인 해결 메커니즘을 제공합니다.

주요 기능

  • 지속적 메모리: SQLite 데이터베이스에 메모리를 저장하여 어시스턴트 재시작 후에도 유지됩니다.
  • 하이브리드 검색: 키워드 기반(FTS5) 및 의미 기반(벡터) 검색을 결합하여 최적의 결과를 제공합니다.
  • 충돌 해결: 동일한 키에 대한 여러 메모리 업데이트를 병합하거나 최신 정보로 덮어씁니다.
  • 경량: 추가 인프라 없이 SQLite 하나로 작동합니다.

지원 플랫폼

  • Claude Code
  • Cursor
  • Codex
  • 기타 AI 코딩 어시스턴트

설치 방법

# 저장소 복제
git clone https://github.com/Lilily58/Mem.git
cd Mem

# 의존성 설치
pip install -r requirements.txt

# 데이터베이스 초기화
python mem.py init

사용 예제

메모리 저장

from mem import MemoryStore

store = MemoryStore()
store.save("user_123", {"topic": "프로젝트 계획", "details": "새로운 AI 에이전트 개발"})

메모리 검색

# 전체 텍스트 검색
results = store.search("AI 에이전트", mode="fts")

# 벡터 유사도 검색 (임베딩 필요)
results = store.search("머신러닝 관련 내용", mode="vector")

# 하이브리드 검색
results = store.search("딥러닝 프레임워크", mode="hybrid")

충돌 해결

# 충돌 해결 정책 설정 (기본값: "merge")
store.set_conflict_resolution("latest")  # 최신 메모리 우선
store.set_conflict_resolution("merge")   # 내용 병합

구성

환경 변수설명기본값
MEM_DB_PATHSQLite 데이터베이스 파일 경로./mem.db
MEM_EMBEDDING_MODEL벡터 임베딩에 사용할 모델all-MiniLM-L6-v2
MEM_SEARCH_MODE기본 검색 모드hybrid
MEM_CONFLICT_RESOLUTION충돌 해결 정책merge

라이선스

MIT

관련 스킬