데이터베이스 없이 AI 에이전트의 장기 기억을 구현

by DD
5개월 전
조회수 9

Memvid는 AI 에이전트의 장기 기억을 위한 단일 파일 기반 메모리 시스템

복잡한 RAG 파이프라인(RAG Pipeline)이나 서버 기반 벡터 데이터베이스(Vector Database) 없이 빠른 데이터 검색을 지원함

Rust로 구현되어 있으며, 지속적인 메모리(Persistent Memory), 버전 관리, 이식성을 제공함

Smart Frame 기반으로 데이터를 구성하여 효율적인 압축, 인덱싱, 병렬 읽기를 지원함

단일 파일 기반의 데이터 격리 아키텍처(Data Isolation Architecture)

Memvid는 모든 데이터, 임베딩(Embedding), 검색 구조, 메타데이터를 단일 파일(.mv2)에 저장하여 데이터 격리(Data Isolation)를 실현한다. 이는 별도의 데이터베이스(Database)나 사이드 파일(Sidecar File) 없이 데이터의 이식성(Portability)간편한 배포(Easy Deployment)를 가능하게 한다. 또한, Smart Frame 기반의 데이터 구조를 통해 데이터 무결성을 보장하며, 충돌 안전성을 확보한다.

Smart Frame 기반의 효율적인 데이터 관리

Memvid는 비디오 인코딩(Video Encoding)에서 영감을 얻어 Smart Frame이라는 불변(Immutable)의 데이터 단위를 사용한다. 각 프레임은 타임스탬프(Timestamp), 체크섬(Checksum), 메타데이터(Metadata)를 포함하며, 추가적인 쓰기(Append-only Write)만 허용하여 기존 데이터의 손상을 방지한다. 이러한 구조는 과거 상태에 대한 쿼리(Query), 타임라인(Timeline) 기반의 지식 추적, 효율적인 압축을 가능하게 한다.

다양한 기능 지원 및 확장성

Memvid는 BM25 랭킹(Ranking)을 사용한 전체 텍스트 검색(Full-text Search), 벡터 유사성 검색(Vector Similarity Search), PDF 텍스트 추출, 이미지 검색을 위한 CLIP 임베딩(Embedding) 등 다양한 기능을 지원한다. 또한, 모듈형 아키텍처(Modular Architecture)를 통해 새로운 기능의 추가 및 기존 기능의 확장이 용이하다. 특히, ONNX 모델(ONNX Model)을 활용한 로컬 텍스트 임베딩(Local Text Embedding)을 지원하여 데이터 처리의 유연성을 높였다.

성능 최적화 및 캐싱 전략

Memvid는 5ms 미만의 빠른 로컬 메모리 접근(Local Memory Access)을 위해 예측 캐싱(Predictive Caching)을 사용한다. 또한, 자동 압축(Auto-Compression)코덱 지능(Codec Intelligence)을 통해 저장 공간을 효율적으로 관리한다. README에 따르면, HNSW 벡터 인덱스(HNSW Vector Index)를 사용하여 벡터 유사성 검색을 수행하며, Tantivy를 활용한 전체 텍스트 검색을 지원한다.

memvid / memvid