본문으로 건너뛰기

Sirchmunk: 인덱스 없는 RAG — 벡터 DB 없이 자가 진화하는 지식 베이스

정석

Sirchmunk

RAG(Retrieval-Augmented Generation) 시스템을 구축해본 적이 있다면, 그 복잡함을 잘 알 것이다. 벡터 데이터베이스 설정, 임베딩 파이프라인 구축, ETL 프로세스 관리, 그리고 끝없는 인덱싱. 문서가 업데이트될 때마다 전체를 다시 인덱싱해야 하는 악몽.

Sirchmunk는 이 모든 것을 뒤집는다. Alibaba의 ModelScope 팀이 만든 이 시스템은 “인덱스 없는 검색”이라는 혁명적인 접근으로, 벡터 DB 없이도 실시간으로 자가 진화하는 지식 베이스를 제공한다.


전통적 RAG의 문제점

차원전통적 RAGSirchmunk
설정 비용높은 오버헤드 (VectorDB, GraphDB…)✅ Zero Infrastructure
데이터 신선도Stale (배치 리인덱싱)✅ Instant & Dynamic
확장성선형 비용 증가✅ 극도로 낮은 RAM/CPU
정확도근사 벡터 매치✅ 결정론적 & 컨텍스트
워크플로우복잡한 ETL 파이프라인✅ Drop-and-Search

전통적 RAG는 벡터 유사도 검색에 의존한다. 문서를 청킹하고, 임베딩하고, 벡터 DB에 저장한다. 쿼리가 들어오면 가장 가까운 벡터를 찾는다. 빠르지만 근사적이고, 데이터가 stale 해지기 쉽다.

Sirchmunk는 다르다. 파일을 그냥 놓고 검색하면 끝이다.


핵심 기술: 인덱스 없는 검색 (Indexless Retrieval)

작동 원리

전통적 RAG:
문서 → 청킹 → 임베딩 → 벡터 DB 저장 → 쿼리 → 벡터 검색 → 결과

Sirchmunk:
문서 → [그냥 놓기] → 쿼리 → 직접 검색 → 결과

벡터 DB가 없다. 사전 처리 파이프라인이 없다. 파일을 디렉토리에 놓고, 쿼리를 던지면 LLM이 직접 파일을 읽고 답을 찾는다.

Monte Carlo Evidence Sampling

Sirchmunk의 검색 엔진은 3단계 탐색-활용 전략을 사용한다:

Phase 1: Cast the Net (Exploration)

Phase 2: Focus (Exploitation)

Phase 3: Synthesize


자가 진화 지식 베이스 (Self-Evolving Knowledge Base)

KnowledgeCluster 구조

Sirchmunk의 핵심 혁신은 검색 결과를 구조화된 지식 단위로 저장하는 것이다:

KnowledgeCluster:
├── Evidences      # Monte Carlo 샘플링으로 추출된 스니펫
├── Content        # LLM 종합 마크다운
├── Patterns       # 3-5개 설계 원칙
├── Confidence     # 신뢰도 점수 [0, 1]
├── Queries        # 기여한 쿼리 이력 (FIFO, 최대 5)
├── Hotness        # 활동 점수
└── Embedding      # 384차원 벡터 (선택적)

지식 재사용 메커니즘

새로운 쿼리가 들어오면 Sirchmunk는 먼저 기존 KnowledgeCluster를 확인한다. cosine similarity ≥ 0.85면 기존 지식을 재사용한다. 매번 같은 질문에 대해 파일을 다시 읽을 필요가 없다.

이것이 “자가 진화”의 핵심이다:

  1. 첫 번째 쿼리 → 파일 검색 → KnowledgeCluster 생성
  2. 두 번째 유사 쿼리 → KnowledgeCluster 재사용 (빠름)
  3. 새로운 각도의 쿼리 → 기존 클러스터 확장
  4. 시간이 지날수록 지식 베이스가 풍부해짐

검색 모드

FAST (기본)

DEEP

FILENAME_ONLY


Python API

from sirchmunk import AgenticSearch
from sirchmunk.llm import OpenAIChat

llm = OpenAIChat(
    api_key="your-api-key",
    base_url="https://api.openai.com/v1",
    model="gpt-4o"
)

async def main():
    searcher = AgenticSearch(llm=llm)
    
    # FAST 모드 - 빠른 검색
    result = await searcher.search(
        query="트랜스포머의 어텐션 메커니즘은 어떻게 작동하나요?",
        paths=["/path/to/documents"],
    )
    
    # DEEP 모드 - 심층 분석
    result_deep = await searcher.search(
        query="트랜스포머의 어텐션 메커니즘은 어떻게 작동하나요?",
        paths=["/path/to/documents"],
        mode="DEEP",
    )
    
    print(result.content)
    print(f"신뢰도: {result.confidence}")
    print(f"패턴: {result.patterns}")

CLI 명령어

# 초기화
sirchmunk init

# API 서버 시작
sirchmunk serve

# 검색
sirchmunk search "쿼리 내용"

# Web UI 빌드
sirchmunk web init

# API + WebUI 함께 실행
sirchmunk web serve

# MCP 서버 (Claude Desktop, Cursor 통합)
sirchmunk mcp serve

MCP 지원 — Claude Desktop & Cursor 통합

Sirchmunk는 MCP(Model Context Protocol)를 완벽 지원한다:

Claude Desktop 설정

{
  "mcpServers": {
    "sirchmunk": {
      "command": "sirchmunk",
      "args": ["mcp", "serve"]
    }
  }
}

Cursor IDE 설정

Cursor의 MCP 설정에 동일하게 추가하면, 에디터 내에서 바로 Sirchmunk 검색을 사용할 수 있다.


Web UI

Sirchmunk Search

Sirchmunk는 실시간 스트리밍 로그가 포함된 웹 인터페이스를 제공한다:


API 엔드포인트

엔드포인트설명
POST /api/v1/search검색 쿼리 실행
GET /api/v1/search/status서버 상태 확인

지원 LLM

Sirchmunk는 다양한 LLM을 지원한다:

클라우드:

로컬:


설치

pip

pip install sirchmunk

uv

uv pip install sirchmunk

소스에서

git clone https://github.com/modelscope/sirchmunk.git
cd sirchmunk && pip install -e .

Docker

docker pull registry.cn-beijing.aliyuncs.com/modelscope/sirchmunk:latest
# 또는 미국 서부 리전
docker pull registry.us-west-1.aliyuncs.com/modelscope/sirchmunk:latest

요구사항


언제 Sirchmunk를 쓸까?

✅ 적합한 경우

⚠️ 고려가 필요한 경우


ModelScope — Alibaba의 AI 생태계

Sirchmunk는 Alibaba의 ModelScope 팀에서 개발했다. ModelScope는 “AI 모델의 GitHub”를 목표로 하는 오픈 소스 AI 커뮤니티로, Hugging Face의 중국 counterpart로 볼 수 있다.

430+ 스타는 이 프로젝트가 아직 초기 단계임을 보여주지만, 기술적 혁신성은 분명하다. “인덱스 없는 RAG”라는 개념은 RAG 시스템의 복잡성에 지친 개발자들에게 새로운 대안을 제시한다.


마치며: RAG의 복잡성에서 해방

Sirchmunk는 “Raw data to self-evolving intelligence, real-time”라는 슬로건을 내건다. 데이터를 그대로 두고, 시스템이 스스로 지식을 진화시킨다.

전통적 RAG의 복잡함—벡터 DB 설정, ETL 파이프라인, 배치 리인덱싱—에서 벗어나고 싶다면, Sirchmunk를 시도해보라. 파일을 놓고, 쿼리를 던지면, 끝이다.

물론 만능 해결책은 아니다. 대규모 데이터셋에는 여전히 벡터 DB가 필요할 수 있다. 하지만 중간 규모의 지식 베이스, 특히 데이터가 자주 변경되는 환경에서는 Sirchmunk의 접근이 훨씬 실용적일 수 있다.

“Drop-and-Search” — 이 간결한 문장이 Sirchmunk의 철학을 완벽히 요약한다.


🔗 관련 정보

이전
OpenViking: AI 에이전트를 위한 파일시스템 패러다임 컨텍스트 데이터베이스
다음
App Store Screenshots: AI로 앱스토어 마케팅 스크린샷 자동 생성