피드로 돌아가기
FTS vs Hybrid Memory Search: A Real-World Benchmark
Dev.toDev.to
Backend

FTS vs Hybrid Memory Search: A Real-World Benchmark

SoulClaw이 FTS와 Hybrid 검색을 비교 벤치마크하여 의역·문맥 질문에서 Hybrid가 FTS 대비 25%p 높은 정확도 달성

Tom Lee2026년 3월 25일9intermediate

Context

AI 에이전트의 메모리 시스템에서 사용자 질의에 대한 올바른 메모리 검색이 중요하지만, 검색 방식의 선택이 정확도에 큰 영향을 미친다. SoulClaw의 4-Tier Memory 시스템은 대화 로그, 결정 기록, 프로젝트 컨텍스트 등을 저장하나, 검색 결과의 신뢰도가 검색 알고리즘에 따라 크게 달라지는 문제가 있었다.

Technical Solution

  • Full-Text Search(FTS) 도입: SQLite FTS5를 통한 키워드 기반 검색으로 정확한 용어 매칭 시 빠른 응답 제공
  • Semantic Search 추가: Ollama bge-m3 임베딩(768-차원, 다언어 지원)을 통해 개념적 유사성 기반 검색 수행
  • Hybrid 검색 구현: FTS와 Semantic Search 결과를 Reciprocal Rank Fusion으로 재순위 지정하여 결합
  • 평가 방식 설정: LLM 평가가 아닌 인간 평가(0~2점 스케일)로 30개 질문을 3개 카테고리(정확 매칭, 의역, 문맥)로 분류 평가
  • 벤치마크 데이터 기반 구축: 6주 이상 축적된 303개 파일, 약 14,000줄의 실제 에이전트 메모리 데이터 사용

Impact

  • 정확 매칭 질문(Exact): FTS 85%, Hybrid 85% (격차 0%)
  • 의역 질문(Paraphrase): FTS 30%, Hybrid 55% (격차 +25%)
  • 문맥 질문(Contextual): FTS 30%, Hybrid 55% (격차 +25%)
  • 전체 평가(30개 질문): FTS 48%, Hybrid 65% (격차 +17%)
  • Hybrid 검색이 모든 경우에서 FTS 이상의 성능을 제공하며, 의역과 문맥 쿼리에서 정확도 향상

Key Takeaway

FTS는 정확한 키워드 기반 조회(85% 정확도)에서 여전히 유효하며 계산 자원이 적게 필요하지만, Semantic Search의 추가는 간접 참조와 문맥 기반 질의에서 검색 정확도를 25%p 향상시킨다. AI 에이전트 메모리 시스템 설계 시 FTS를 기초로 하되, 장기 사용자가 비표준 표현을 사용하는 경우를 대비해 Semantic Search를 선택적으로 추가하는 계층적 접근이 효과적이다.


AI 에이전트 또는 문서 검색 시스템을 구축하는 엔지니어는 초기 배포 단계에서 SQLite FTS5 같은 경량 FTS 솔루션으로 시작하되, 사용자 기반이 확대되고 비표준 표현(의역, 문맥 참조)이 증가하는 시점에 Ollama bge-m3 같은 Embedding 모델을 추가하여 Reciprocal Rank Fusion으로 결합하면 인프라 비용을 억제하면서도 검색 정확도를 20~25%p 향상시킬 수 있다.

원문 읽기