현재 서비스는 사용자로부터 6개의 고정 질문(대상, 성별, 연령대, 가격, 상황, 카테고리)과 3개의 AI 질문을 통해 입력을 수집하고 이를 OpenAI API에 전달하여 키워드 5개를 생성한다. 이 키워드를 바탕으로 네이버 쇼핑 API에서 상품을 검색해 추천 결과를 구성한다. 흐름 자체는 명확하고 구조화되어 있지만 실제 추천 품질은 입력 조합에 따라 크게 달라지고 때로는 기대와 동떨어진 상품이 출력되는 경우도 있다.
문제는 이 과정에서 OpenAI API에 전달되는 맥락이 충분히 풍부하지 않거나 생성된 키워드와 카테고리 간 연결이 느슨할 수 있다는 점이다. 이를 보완하기 위해 단순한 선택지 나열이 아닌 자연어 기반 프롬프트로 "60대 부모님께 드릴 디지털 선물"
처럼 문장을 구성하고 여기에 선택지 목록을 함께 넣는 방식으로 GPT에게 상황을 더 명확히 전달하고 있다. 이런 접근은 맥락 인식을 돕는다는 장점이 있지만 여전히 LLM의 응답은 일관성이 떨어지며 추천 키워드가 실제 검색과 매끄럽게 이어지지 않는 경우도 많다.
OpenAI API로부터 받은 키워드는 때때로 중복되거나 너무 모호하여 검색 품질이 떨어지는 경우가 많다. 예를 들어 감성
, 힐링
, 분위기
같은 키워드는 실제 상품과의 연결이 약하거나 네이버 쇼핑 검색 시 의도한 결과를 얻기 어렵다.
이러한 문제를 단순 후처리 코드로 필터링하는 대신 최근에는 function-calling을 활용하여 GPT가 추천 키워드에 해당하는 상품 30개 중에서 적절한 8개만 직접 선별하고 그 이유를 함께 작성해주는 방식으로 후처리를 위임하는 구조를 생각중에 있다. 이 접근 방식은 추천 품질과 설명력을 동시에 보완할 수 있다는 점에서 유효하다. 특히 “이 상품은 {{상황}}에 잘 어울리는 {{취향}} 요소가 있어서 추천했어요” 같은 설명이 함께 붙을 경우 사용자 입장에서 더 신뢰할 수 있는 추천처럼 보이게 된다. 물론 이 방식의 단점은 API 호출 비용이 늘어나고 응답 속도가 길어질 수 있다는 점이다.
네이버 쇼핑 API는 접근성과 사용 편의성 면에서는 훌륭하지만 검색 품질 측면에서는 분명한 한계가 있다.
이러한 문제 때문에 쿠팡, 11번가, 스마트스토어, G마켓 등 다른 커머스 API 도입 가능성도 검토해보았지만 대부분은 API 접근이 어렵거나 실시간 검색 API가 없고 수동 제휴가 필요하다는 한계가 있었다. 결국 네이버 API가 현실적인 선택지로는 여전히 최적이라는 결론에 도달했으며 이를 기반으로 품질을 높이기 위해 내부 후처리 및 보정 로직에 더 집중하게 되었다.
기존에는 OpenAI로부터 받은 키워드를 기반으로 네이버 쇼핑 API를 호출해 상품을 검색하고 단순히 상위 8개 상품을 추천 리스트에 그대로 노출하는 구조였다. 하지만 이 방식은 키워드 품질이 떨어지거나 네이버 검색 결과 자체의 품질이 낮은 경우 전혀 어울리지 않거나 중복된 상품이 섞이는 문제가 빈번했다. 특히 사용자가 기대한 맥락(예: 40대 아버지 생일 선물
)과 상품이 연결되지 않는 경우 추천 신뢰도 자체가 떨어졌다.
이 문제를 해결하기 위해 최근에는 각 키워드로부터 검색한 상품 30개 정도를 미리 추출한 뒤, GPT의 function-calling 기능을 활용해 “이 중에서 가장 적절한 8개를 뽑고 추천 이유를 작성해줘”라는 방식으로 후처리를 위임하는 구조를 고려하고 있다. 이 방식은 기존의 키워드-검색-출력 흐름보다 한 단계 더 진화된 구조로 추천이 맥락에 맞는지, 왜 이 상품이 선택됐는지를 설명할 수 있는 결과를 사용자에게 제공할 수 있다는 점에서 매력적이다.
다만 GPT 응답에 시간이 다소 걸릴 수 있고 호출 비용이 증가한다는 부담도 있다. 특히 단순한 사용자 요청에 대해 AI가 긴 응답을 생성해야 하므로 속도와 비용, 설득력 사이의 균형을 어떻게 잡을지가 고민이다.
이번 추천 품질 개선 과정에서 가장 많이 느낀 점은 단순히 구조화된 입력만으로는 만족스러운 추천이 보장되지 않는다는 것이었다. 처음에는 사용자로부터 충분한 정보를 수집하면 좋은 결과가 나올 거라고 생각했지만 실제로는 그 정보가 AI에 어떻게 맥락 있게 전달되는지, 또 검색 결과를 어떻게 정제하고 보완하는지가 더 중요했다.
특히 GPT에게 더 많은 역할을 위임해보는 시도는 추천의 설명력을 높일 수 있다는 점에서 긍정적이었다. 사용자가 "왜 이걸 추천했는지"를 이해할 수 있는 문장을 함께 받는 것만으로도 추천의 설득력이 훨씬 올라간다. 반면 이를 위해 비용과 속도라는 트레이드오프를 감수해야 하며 실시간 시스템에서는 이를 어떻게 최적화할지 고민이 필요했다.
또한 외부 API 품질이 일정 수준 이하라면 내부 로직이나 후처리로 품질을 끌어올리는 작업이 반드시 필요하다는 점도 절감했다. 당장은 네이버 쇼핑 API에 의존하고 있지만 장기적으로는 더 정교한 필터링이 가능한 커머스 API나 자체 DB 기반의 후보군 생성 시스템을 고려해봐야 할 것으로 보인다.