AI 기반 검색 워크플로우는 여러 단계로 구성되어 사용자에게 더욱 정교하고 관련성 높은 결과를 제공합니다.
AI 검색 워크플로우 단계
-
의미론적/벡터 검색 (Semantic/Vector Search) with Elastic: 초기 단계에서는 Elasticsearch를 활용하여 사용자 쿼리에 대한 의미론적 및 벡터 검색을 수행합니다. 이는 단순히 키워드가 일치하는 문서를 찾는 것을 넘어, 쿼리의 의미적 유사성을 기반으로 관련 문서를 탐색하는 데 중점을 둡니다. 이를 통해 더 넓은 범위의 관련성 높은 초기 결과 셋을 확보할 수 있습니다.
-
LLM을 이용한 쿼리 기준 추출: 사용자의 쿼리에서 의미론적 및 비의미론적 기준을 추출하기 위해 LLM이 활용됩니다. 예를 들어, 사용자가 “빨간색 신발”을 검색하면 LLM은 ‘색상: 빨간색’과 ‘항목: 신발’과 같은 구체적인 필터링 기준을 식별하여 검색의 정확도를 높입니다.
-
애플리케이션 컨텍스트 기반 쿼리 확장: 추출된 기준과 함께 애플리케이션의 내부 컨텍스트를 활용하여 쿼리를 확장합니다. 이는 사용자 프로필, 과거 검색 기록, 현재 페이지 정보 등 다양한 요소를 고려하여 쿼리를 풍부하게 만듭니다. 예를 들어, 특정 카테고리 내에서 검색하는 경우 해당 카테고리에 맞는 추가적인 검색어를 LLM이 생성할 수 있습니다.
-
LLM을 이용한 결과 재순위화 (Re-ranking): 초기 검색 및 확장된 쿼리를 통해 얻은 결과들은 LLM에 의해 최종적으로 재순위화됩니다. LLM은 각 결과의 관련성을 심층적으로 평가하고, 사용자 의도에 가장 부합하는 순서로 재배열하여 최종 검색 품질을 극대화합니다. 이 과정에서 LLM의 고급 추론 능력이 활용됩니다.
도전 과제
이러한 고급 AI 워크플로우를 구축하는 과정에서 LLM의 비결정적인 특성(non-deterministic aspect)과 프롬프트 테스트(prompt testing)의 어려움과 같은 도전 과제에 직면했습니다. LLM의 응답이 항상 일관되지 않을 수 있으므로, 안정적이고 예측 가능한 시스템을 구축하기 위해서는 정교한 프롬프트 엔지니어링과 반복적인 테스트가 필수적입니다.