동원몰, AI 쇼핑 어시스턴트로 쇼핑 경험 혁신!
기존 챗봇의 한계를 넘어 개인화된 쇼핑 경험 제공을 목표로 AI 쇼핑 어시스턴트 구축 착수
Amazon OpenSearch Service 도입으로 한국어 형태소 분석 및 시맨틱 검색 품질 대폭 향상
Amazon Bedrock AgentCore 활용하여 복잡한 쇼핑 시나리오 처리 및 세션 상태 자동 관리 구현
프롬프트 및 토큰 최적화 전략으로 운영 비용 97% 절감 및 응답 속도 46% 개선 달성
CS 문의 23% 감소, 추천 상품 CTR 향상 등 비즈니스 성과 창출 및 AI 기술 내재화 기반 마련
OpenSearch 하이브리드 검색으로 한국어 검색 품질 향상
기존 검색 엔진의 한계를 극복하기 위해 Amazon OpenSearch Service로 전환하고, Nori 한글 형태소 분석기와 kNN 벡터 검색을 결합한 하이브리드 검색을 구현했습니다.
Nori 형태소 분석기: 복합어 분해 및 불필요한 품사 제거를 통해 검색 정확도와 재현율을 높였습니다.
kNN 벡터 검색: 상품명, 판매 포인트 등을 벡터화하여 의미 기반 검색을 지원하며, '가격이 얼마야?'와 '비용이 어떻게 돼?' 같은 동의어 질의에도 정확한 결과를 반환합니다.
RRF(Reciprocal Rank Fusion): BM25 키워드 검색과 kNN 시맨틱 검색 결과를 결합하여, 정확한 키워드 매칭과 의미론적 이해를 모두 충족시키는 균형 잡힌 검색 품질을 제공합니다.
이를 통해 사용자의 다양한 검색 의도를 효과적으로 파악하고, 검색 만족도를 크게 향상시켰습니다.
Amazon Bedrock AgentCore를 활용한 복잡한 쇼핑 시나리오 처리
단순 RAG 구조의 한계를 넘어, Amazon Bedrock AgentCore를 도입하여 복잡한 멀티턴 쇼핑 시나리오 처리가 가능한 AI 에이전트를 구축했습니다.
세션 상태 자동 관리: AgentCore Runtime이 대화 문맥을 자동으로 추적·보존하여 개발 생산성을 높이고, AgentCore Memory를 통해 이전 대화 이력을 유지합니다.
동적 툴 호출 및 액션 실행: 상품 검색, 주문 조회, 쿠폰 확인 등 외부 API 및 비즈니스 로직을 에이전트가 자율적으로 판단하여 순차·병렬 호출합니다.
멀티스텝 추론 및 계획 수립: '예산 10만 원 안에서 가족 선물 추천'과 같은 복합적인 요구사항을 분해하고 단계별 실행 계획을 수립하여 정교한 응답을 생성합니다.
이를 통해 '무료배송 채우기 좋은 상품 추천'과 같은 다단계 쇼핑 태스크를 하나의 대화 안에서 처리할 수 있게 되었습니다.
Strands SDK 기반 Agent 구현 및 카드형 응답 템플릿
Python 기반 오픈소스 프레임워크인 Strands SDK를 활용하여 쇼핑 시나리오에 필요한 다양한 Tool을 구현하고, 이를 AgentCore Runtime에 배포했습니다.
Tool 기반 기능 확장: 상품 검색, 회원 정보 조회, 정책 안내 등 도메인별 기능을 Tool로 분리하여 에이전트가 필요한 기능을 선택적으로 호출하도록 구성했습니다.
카드형 응답 UI: 단순 텍스트 응답 대신, 상품 카드, 주문 카드 등 구조화된 카드형 UI 템플릿으로 응답을 제공하여 사용자 경험을 직관적으로 개선했습니다.
상품 추천 카드: 상품 이미지, 맞춤형 가격 정보, 장바구니 버튼을 포함하여 즉각적인 구매 전환을 유도합니다.
주문/쿠폰 카드: 주문 상태, 쿠폰 현황 등 핵심 정보를 일관된 레이아웃으로 제공하여 가독성을 높였습니다.
Prompt Injection 방어 및 개인정보 자동 제거(Sanitization)
AI 쇼핑 어시스턴트의 보안 강화를 위해 Defense in Depth(심층 방어) 원칙을 적용했습니다.
시스템 프롬프트 레벨 방어: '이전 지시 무시', '역할 변경' 등 악의적인 요청에 대해 정중히 거절하고 쇼핑 관련 질문으로 안내하도록 명시했습니다.
개인정보 자동 제거(Sanitization): API 응답에서 고객번호, 이메일, 전화번호 등 민감한 개인정보를 자동으로 제거하여 노출 위험을 최소화했습니다.
입력 검증 및 정규화: 모든 사용자 입력과 Tool 파라미터에 대해 필수 필드 검증 및 특수문자 제거 과정을 거쳐 시스템 안정성을 확보했습니다.
이러한 다층적 방어 체계를 통해 악의적인 프롬프트 공격 시도에도 안전하게 서비스를 운영할 수 있는 기반을 마련했습니다.
프롬프트 및 토큰 최적화로 운영 비용 97% 절감
AI 에이전트 운영 비용의 대부분을 차지하는 LLM 토큰 사용량을 최적화하기 위해 다층적 전략을 수립했습니다.
Agent State 활용: Tool 실행 결과를 LLM에 전달할 때 전체 데이터 대신 요약만 전달하여 토큰 소비를 줄였습니다.
메모리 최적화: 이전 턴의 Tool Result를 요약으로 교체하여 Bedrock Memory의 효율성을 높였습니다.
STM 개수 제한: 대화 히스토리를 최근 20개 메시지만 유지하여 컨텍스트 윈도우 비용을 관리했습니다.
시스템 프롬프트 캐싱 및 영문 변환: Bedrock의 Prompt Caching 기능과 시스템 프롬프트를 영문으로 작성하여 입력 토큰 비용을 90% 이상 절감했습니다.
이러한 최적화를 통해 토큰 사용량을 97% 절감하고 응답 속도를 46% 개선하여, 월 운영 비용을 수백만 원에서 수십만 원 수준으로 절감하는 성과를 달성했습니다.