zilliztech/memsearch
A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.
memsearch란 무엇인가?
memsearch는 AI 코딩 어시스턴트(Claude Code, Codex, DeepSeek Harness, OpenClaw, OpenCode 또는 모든 사용자 지정 에이전트)에게 영구적이고 검색 가능한 메모리를 제공하는 크로스 플랫폼 오픈 소스 도구입니다. 모든 대화 턴을 일반 텍스트 Markdown 파일에 기록하고 Milvus로 인덱싱하며 에이전트가 필요에 따라 관련 과거 노트를 검색할 수 있도록 합니다.
대상 사용자
- 에이전트 사용자 – 선호하는 코딩 어시스턴트용 작은 플러그인을 설치하면 추가 설정 없이 과거 채팅을 자동으로 캡처하고 회상할 수 있습니다.
- 에이전트 개발자 – 제공된 CLI 또는 Python 라이브러리를 사용하여 자체 봇, RAG 파이프라인 또는 하네스 엔지니어링 프로젝트에 동일한 메모리 엔진을 통합할 수 있습니다.
핵심 아이디어
| 아이디어 | 작동 방식 |
|---|---|
| 신뢰 소스 | 모든 메모리는 사람이 편집할 수 있는 .md 파일(예: memory/2024-11-20.md)로 저장됩니다. |
| 섀도우 인덱스 | Milvus 벡터 저장소(기본 Milvus Lite 또는 Zilliz Cloud)가 청크를 인덱싱하여 빠른 의미 검색을 제공합니다. |
| 하이브리드 검색 | 밀집 임베딩, BM25 희소 매칭, 상호 순위 융합(RRF) 재순위화를 결합합니다. |
| 점진적 회상 | 검색 → 전체 Markdown 섹션으로 확장 → 선택적으로 원본 대화록 가져오기. |
| 실시간 동기화 | 파일 감시자가 Markdown 폴더를 감시하고 변경된 부분만 다시 청크합니다(SHA-256 중복 제거). |
| 선택적 원격 재순위화 | 모델을 다운로드하지 않고 Jev의 TypeSafe API를 통해 결과를 재순위화할 수 있습니다. |
| 절차적 메모리 | 반복 워크플로를 설치 가능한 스킬(Agent Skills 표준)로 증류할 수 있습니다. |
| 백그라운드 유지 관리 | 선택적 작업으로 PROJECT.md(프로젝트 상태)와 USER.md(개인 선호도)를 최신 상태로 유지합니다. |
주요 기능
- 제로 구성 플러그인 – 5가지 주요 코딩 에이전트용. 플러그인을 설치하면 대화가 자동으로 캡처되고
/memory-recall …과 같은 간단한 명령이나 자연스러운 질문으로 회상할 수 있습니다. - 임베딩 제공자 – 기본 ONNX bge-m3는 로컬에서 무료로 실행됩니다. OpenAI, Ollama 등으로 전환할 수 있습니다.
- Milvus 백엔드 – 빠른 시작을 위한 Milvus Lite(단일 파일), 대규모 팀을 위한 Zilliz Cloud(관리형) 또는 Docker를 통한 자체 호스팅 Milvus.
- 스킬 증류 – 캡처된 워크플로를 에이전트가 나중에 호출할 수 있는 재사용 가능한 명령으로 변환합니다.
- CLI 및 Python API –
memsearch index,memsearch search,memsearch config …등과 프로그래밍 방식 사용을 위한 라이브러리(import memsearch). - 하이브리드 검색 – 밀집 벡터 + BM25 + RRF는 일반 벡터 검색보다 더 나은 관련성을 제공합니다.
- 실시간 파일 감시자 – Markdown 파일이 변경되면 즉시 인덱스를 업데이트합니다.
사용자를 위한 일반적인 워크플로
- 에이전트용 플러그인 설치(예:
plugin marketplace add zilliztech/memsearch). - 평소처럼 채팅 – 각 턴이 요약되어 일일 Markdown 파일에 추가됩니다.
- 회상 –
/memory-recall <질문>을 실행하거나 에이전트에게 자연스럽게 질문합니다. 에이전트가 자동으로 메모리 회상 스킬을 호출합니다. - (선택 사항) PROJECT/사용자 노트 또는 스킬 증류를 활성화하려면 에이전트에게 "MemSearch 스킬 증류 활성화"를 요청합니다.
개발자를 위한 일반적인 워크플로
from memsearch import MemsearchClient
client = MemsearchClient()
# 새 markdown 파일 인덱싱
client.index_path('my_project/memory/2024-11-20.md')
# 검색
results = client.search('redis는 어떻게 구성했나요?', top_k=5)
for r in results:
print(r.text)
동일한 클라이언트가 플러그인을 지원하므로 모든 사용자 지정 에이전트가 전체 인덱싱, 검색 및 유지 관리 로직을 재사용할 수 있습니다.
중요한 이유
- 연속성 – 에이전트는 세션 후에 잊어버립니다. memsearch는 세션을 넘어 서로 다른 에이전트 간에도 전체 대화 기록을 보존합니다.
- 사람이 읽을 수 있음 – 메모리가 Markdown에 있으므로 개발자는 노트를 검사, 편집, 버전 관리 또는 비교할 수 있습니다.
- 비용 효율성 – 기본 로컬 ONNX 임베딩은 API 비용을 피합니다. Milvus Lite는 즉시 사용할 수 있습니다.
- 확장 가능 – CLI/API를 통해 모든 LLM에 연결하고, 사용자 지정 요약 모델을 추가하거나, 관리형 Milvus 클러스터로 전환할 수 있습니다.
TL;DR: memsearch는 AI 코딩 어시스턴트를 위한 가볍고 Markdown 기반의 의미 메모리 시스템으로, 자동 캡처, 하이브리드 검색, 크로스 에이전트 공유, 선택적 스킬 생성을 제공하며, 기성 플러그인과 개발자용 전체 CLI/Python API를 모두 갖추고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트