목차
[ AI-DLC 사례 1: 검색 ] AI-DLC로 3일, 뷰티 자연어 검색을 만드는 여정
[ AI-DLC 사례 2: 추천 ] AI로 코딩은 빨라졌는데, 왜 실험은 여전히 어려웠을까?
개요
9월 GS SHOP에 고객과 대화하며 상품을 찾아주는 쇼핑Agent 서비스가 오픈할 예정입니다. 기존 검색 서비스에서는 고객이 "샴푸", "손상모 샴푸"처럼 짧은 검색어를 입력했다면, 쇼핑Agent에서는 원하는 조건을 자연어 문장으로 표현할 수 있습니다.
"건조한 두피와 손상모발 동시에 관리하는 샴푸"
그런데 문장을 받아줄 검색이 아직 없었습니다. GS SHOP 검색의 주축은 단어 검색과 임베딩 검색이고, 문장에 담긴 여러 조건을 나눠서 다루는 단계가 없었기 때문입니다.
2026년 7월 7일부터 9일까지, 저희 검색추천파트 4명은 AI-DLC(AI-Driven Development Life Cycle) 라는 개발 방법론으로 이 문제를 풀어봤습니다. 요구사항 정의부터 운영 엔드포인트 실연동 검증까지 3일이 걸렸습니다.
결론부터 말씀드리면, 목표한 검색 품질에는 도달하지 못했습니다.
그런데 3일을 마치고 팀이 가장 많이 이야기한 것은 코드 생성 속도가 아니었습니다. AI가 저희에게 되물어온 질문들이었습니다. 저희가 쓴 문서 안에 이미 모순이 있었고, 저희는 그걸 의식하지 못하고 있었습니다.
이 글은 그 3일의 기록입니다. 잘된 부분과 아쉬운 부분을 함께 적었습니다.
1. 배경과 AI-DLC
질의는 문장으로 길어졌는데 검색은 문장을 나눠 보지 못했습니다
기존 검색이 문장형 질의를 제대로 다루지 못하는 이유는 두 가지였습니다.
하나는 질의 쪽입니다. 앞의 샴푸 질의 한 문장에는 피부 타입과 부위, 효능, 제품 종류가 한꺼번에 담겨 있습니다. 단어 검색은 어휘가 정확히 맞아떨어져야 하고, 임베딩 검색은 문장 전체의 의미는 잡아내지만 그 안에 섞인 조건을 따로 떼어 다루지는 못합니다.
다른 하나는 상품 쪽입니다. 질의에서 조건을 뽑아낸다 해도 기존 색인에는 두피 타입이나 효능 같은 뷰티 속성 정보가 없었습니다. 맞춰볼 대상이 아예 없는 셈입니다.
그래서 두 가지가 필요하다고 봤습니다.
질의 쪽에는 문장의 의도를 속성으로 구조화하는 Query Understanding, 상품 쪽에는 그 속성을 색인에 담아 매칭되게 만드는 검색 모델링입니다.
Query Understanding은 검색어를 그대로 검색에 넣는 대신, 문장 안에 담긴 조건을 항목별로 뽑아내는 단계입니다. 위 질의라면 피부 타입은 건성, 부위는 두피, 효능은 손상복구, 제품 종류는 샴푸로 나눕니다. 사람이 읽고 이해한 것을 검색 엔진이 다룰 수 있는 형태로 옮기는 셈입니다.
두 축은 같은 속성 어휘를 공유해야 비로소 만납니다. 실제로 3일 중 가장 많은 시간을 이 어휘를 맞추는 데 썼습니다.
이번 평가에 사용한 질의도 쇼핑Agent의 자동완성 질의어와 AI 추천 검색어 기능이 만들어낸 실제 질의어를 그대로 가져왔습니다. 아직 운영에 노출되지 않은 기능이지만, 곧 들어올 입력의 성격을 가장 정확히 반영한 데이터였습니다.
주제를 고를 때 기대한 것은 두 가지였습니다. 실습용 예제가 아니라 실제 업무를 올려서 방법론을 바로 적용해보는 것, 그리고 3일 뒤에 남는 결과물을 실제 업무의 밑바탕으로 쓰는 것이었습니다.
품질 지표 기준을 두었습니다.
지표
목표
검색 결과(상위 10건) 내 뷰티 상품 포함률
80% 이상
API 응답 시간 (p95)
3초 이내
포함률을 주 지표로 삼은 이유가 있습니다. 검색을 뷰티 카테고리로 미리 좁히지 않고 전체 상품을 대상으로 하기 때문입니다. 색인된 100만여 개 상품 중 뷰티는 2%가 되지 않는데, 뷰티 질의를 받아 상위 10건을 뷰티 상품으로 채워야 합니다. 결과에 무엇이 섞여 나오는지가 곧 질의 의도를 얼마나 이해했는지를 보여줍니다. 응답 3초는 질의 이해에 LLM 호출이 들어간 구조를 감안한 상한이었습니다.
3일, 4명, 그리고 절반은 이미 있던 환경
기간은 3일, 인원은 4명이었습니다. 한정된 인원으

