콘텐츠

벡터DB를 걷어내고 유사글 추천 되살리기 — 임베딩 배치 Agent 개발기

스토리 · DEVOCEAN · 2026.08.03

DEVOCEAN 블로그의 추천 섹션을 다시 활성화하기 위해, 비용 부담이 큰 VectorDB를 제외하고 Gemini와 MySQL을 활용하여 효율적인 임베딩 배치 Agent를 개발한 과정을 담고 있습니다. 데이터 규모가 약 1,291건으로 크지 않다는 점에 착안하여, 상시 인프라를 구축하는 대신 MySQL에 벡터를 저장하고 배치로 유사도를 계산하는 경제적인 구조를 설계했습니다. 특히 Gemini의 taskType 옵션을 활용해 유사도 비교에 최적화된 임베딩을 얻는 방법과, SHA-256 해시를 이용해 신규 글만 처리하는 증분 임베딩 방식, 그리고 데이터 무결성을 위한 검증 로직 등을 상세히 설명합니다. 또한, 코사인 유사도 하한값을 0.85로 설정하는 과정과 API 키 누락으로 인한 서비스 중단, Git의 텍스트 기반 머지가 잡아내지 못하는 Semantic Conflict와 같은 실전 트러블슈팅 사례도 함께 다루고 있어, 개발자분들에게 유용한 인사이트를 제공합니다.