HubSpot이 200억 벡터 시맨틱 검색을 운영하는 방법
HubSpot은 초기 PoC(개념 검증) 수준에서 출발한 시맨틱 검색 플랫폼을 현재 38개 이상의 내부 팀이 공유하는 대규모 서비스로 성장시켰다. 현재 이 시스템이 관리하는 벡터 수는 200억 개를 넘으며, 연락처 중복 제거(Contact Deduplication), RAG(Retrieval-Augmented Generation), 에이전트 기반 검색 등 다양한 실무 워크로드를 소화하고 있다. 이 사례는 단순한 검색 기능 구현을 넘어, 벡터 검색 인프라를 엔터프라이즈 수준으로 확장할 때 어떤 설계 원칙이 필요한지를 잘 보여준다.
PoC에서 내부 플랫폼으로: 점진적 확장 전략
많은 팀이 벡터 검색을 도입할 때 특정 도메인의 단일 유스케이스로 시작한다. HubSpot도 마찬가지였다. 초기에는 제한된 데이터셋을 대상으로 기능 가능성을 검증하는 수준이었지만, 이를 여러 팀이 공통으로 사용할 수 있는 내부 서비스(Internal Platform)로 전환하면서 구조가 근본적으로 달라졌다.
핵심은 벡터 검색을 개별 팀이 독자적으로 구축하는 기능이 아닌, 공유 인프라로 추상화했다는 점이다. 이 접근 방식은 다음과 같은 이점을 제공한다.
- 팀마다 동일한 인프라를 중복 구축하는 비용 제거
- 색인 전략, 임베딩 모델 관리 등 공통 관심사를 중앙화
- 플랫폼 수준에서 레이턴시·품질 지표를 일관되게 측정 및 개선 가능
에이전트 워크로드가 바꾼 운영 기준
기존에 시맨틱 검색은 주로 사용자가 직접 쿼리를 입력하는 UI 기반 검색에 활용됐다. 그러나 에이전트(Agent) 기반 아키텍처가 확산되면서 검색 품질과 레이턴시의 중요도가 완전히 달라졌다. 에이전트는 단일 태스크를 처리하는 과정에서 검색을 수십 번 반복 호출할 수 있기 때문에, 한 번의 지연이나 오검색이 전체 파이프라인의 결과물에 직접 영향을 미친다.
HubSpot은 이런 변화를 운영 지표 재정의로 대응했다. 단순한 가용성(Availability) 중심의 SLA에서, 검색 정확도(Recall@K)와 P99 레이턴시를 핵심 운영 지표로 전면에 내세우는 방향으로 전환한 것이다. 백엔드 개발자 입장에서도 유사한 시스템을 설계할 때 이 두 지표를 서비스 수준 목표(SLO)에 명시적으로 포함시키는 것이 중요하다.
// 예시: 벡터 검색 결과에 대한 Recall 측정 로직
public double calculateRecallAtK(List<String> retrieved, List<String> relevant, int k) {
long hits = retrieved.stream()
.limit(k)
.filter(relevant::contains)
.count();
return (double) hits / relevant.size();
}
연락처 중복 제거에 시맨틱 검색 적용
200억 개 벡터 중 상당 부분은 연락처 중복 제거(Contact Deduplication)에 사용된다. 기존의 규칙 기반 중복 탐지(예: 이메일 주소 완전 일치)는 이름 표기 차이, 오탈자, 별칭 등을 처리하지 못한다. 시맨틱 검색 기반의 유사도 매칭은 이러한 한계를 극복하며, 텍스트 의미 수준에서 동일 인물 여부를 판단할 수 있다.
// 유사도 임계값 기반 중복 판정 예시
public boolean isDuplicate(float[] vectorA, float[] vectorB, double threshold) {
double similarity = cosineSimilarity(vectorA, vectorB);
return similarity >= threshold;
}
이는 CRM, ERP, 고객 데이터 플랫폼을 다루는 백엔드 시스템에서 매우 실용적인 패턴이다. 벡터 검색을 단순 콘텐츠 검색 이상의 데이터 품질 파이프라인 구성 요소로 활용할 수 있다는 점에서 설계 시 참고할 만하다.
정리
- 벡터 검색은 개별 팀이 독립적으로 구축하기보다 공유 내부 플랫폼으로 추상화할 때 확장성과 운영 효율이 크게 높아진다.
- 에이전트 기반 워크로드의 증가로 Recall@K와 P99 레이턴시가 벡터 검색 시스템의 핵심 SLO 지표로 부상하고 있다.
- 시맨틱 검색은 콘텐츠 검색 외에도 중복 제거, 데이터 품질 관리 등 다양한 백엔드 파이프라인에 적용 가능한 범용 기술이다.