LLM 라우터 기반 쿼리 분류

concept updated 2026-04-13

LLM 라우터 기반 쿼리 분류

한 줄 정의

자연어 쿼리를 LLM 라우터가 의도 분류 → 각 핸들러가 최적 검색 실행.

구조

자연어 쿼리
  → LLM 라우터 (의도 분류)
      ├── keyword   : 직접 텍스트 검색 ("삼성 투자한 스타트업")
      ├── sql       : 구조화 필터 ("시드 라운드 핀테크")
      ├── embedding : 의미 유사도 ("AI로 헬스케어 혁신하는 곳")
      ├── hybrid    : SQL 필터 + 벡터 결합 (RRF)
      └── analytics : 집계/통계 ("평균 투자 라운드")

RRF (Reciprocal Rank Fusion) — hybrid 검색 결합

rrf_score = 1 / (k + rank_keyword) + 1 / (k + rank_vector)
# k = 60 (표준값)

필드 매핑 관리 패턴

사용자 입력(한글) → DB값 변환을 중앙 파일(lib/mappings.ts)에서 관리:

"핀테크" → "Fintech"
"시드" → "seed"
"TIPS" → "tips_program"

구현 팁

  • Zod로 라우터 분류 결과 검증 + 자동 재시도
  • 도구 수 제한: 라우터가 너무 많은 핸들러를 알면 정확도 하락
  • 각 핸들러는 독립적 — 라우터만 교체해도 동작

적용 맥락

도메인 특화 검색 (법률, 의료, 투자 등). 사용자 쿼리 패턴이 다양하지만 처리 로직이 명확히 분리될 때.

Relationships

derived_from Lattice
related_to LLM과 룰의 역할 뒤집기 — LLM이 분류(이해), 핸들러가 실행(매칭) — 역할 분담 동일 원리