#AI

프롬프트를 쓰는 PM과 AI를 이해시키려는 개발자

프롬프트를 쓰는 PM과 AI를 이해시키려는 개발자
01

Summary

공식보다 '예시'가 답이다! 올리브영이 LLM 툴 호출 정확도를 96%까지 극대화한 방법

한국어가 서툰 LLM을 다루기 위해 개발자의 수식 대신 PM의 Few-shot을 선택한 실전 협업 사례

올리브영이 카카오톡 대화방 추천 서비스와 챗GPT 플러그인을 성공적으로 론칭하며 겪은 LLM 툴 호출(Tool Calling) 개선기입니다. 사용자가 입력하는 다양한 한국어 구어체 가격 범위 발화를 API 파라미터에 매핑하기 위해 개발자와 PM이 각각 다른 접근법으로 테스트하며 협업한 과정을 상세히 소개합니다. 결과적으로 한국어 특유의 맥락을 LLM에 주입하는 데는 명확한 공식보다 풍부한 발화 예시(Few-shot)가 압도적인 해결책임을 증명합니다.

  • 01사용자의 불명확한 한국어 발화 조건(예: '2만원대', '만오천원')을 정확한 수치 API 파라미터로 처리하기 위한 Tool Description 고도화
  • 02개발자의 가격 범위 산출 공식 적용 방식과 PM의 사용자 발화 매핑 예시(Few-shot) 방식의 정량 비교 분석
  • 03한국어 해석에 취약한 해외 기반 LLM의 한계를 구체적인 발화-파라미터 예시를 통해 해결하며 정확도를 59%에서 96%로 급증
  • 04단순히 API 규격을 맞추는 것을 넘어 LLM의 내부 추론 방식과 맥락을 깊이 고려해야 하는 MCP 개발의 현실적인 과제 조명

RECOMMENDATION

LLM 기반 에이전트 시스템이나 외부 API 연동 기능(Function Calling)을 설계하는 엔지니어와 기획자에게 적극 추천합니다. 특히 다국어나 한국어 특수 구어체를 파싱해야 한다면 정교한 정규식이나 규칙 기반 설계보다 실제 사용자 예상 발화를 툴 설명에 녹여내는 Few-shot 가이드라인을 최우선으로 검토해 보세요.

The Problem

올리브영의 카카오톡 상품 추천 서비스 및 챗GPT 전용 플러그인 개발 과정에서, 사용자의 한국어 발화 속 가격 조건 범위를 LLM이 툴 호출 파라미터로 올바르게 변환하지 못하고 오인식하는 문제가 발생했습니다.

The Solution

이를 해결하기 위해 개발자의 수학적 수식 규칙 설명 방식과 PM의 구체적인 사용자 발화 예시(Few-shot) 제공 방식을 Tool Description에 각각 반영하여 최적의 오해석 방지 솔루션을 비교 실험했습니다.

The Result

테스트 케이스를 통해 성능을 측정한 결과, 개선 전 59%였던 정확도가 개발자의 수식 방식 적용 시 89%, PM의 Few-shot 방식 적용 시 96%로 향상되었으며, 최종적으로 Few-shot 방식을 채택하여 한국어 가격 표현을 정확히 분석해 냈습니다.

Trade-off

Few-shot 방식은 한국어 발화 매핑 정확도를 극대화하지만, 툴 설명 내 텍스트 양이 많아져 토큰 소모량이 증가하며 향후 새로운 한국어 발화 패턴이나 예외 케이스 발생 시 지속적으로 프롬프트를 유지보수해야 하는 추가 공수가 수식 규칙 대비 높습니다.

03

Key Concepts

Concept · 01

Model Context Protocol (MCP)

LLM이 데이터 원천이나 외부 도구(API)와 직접 상호작용하며 안전하고 규격화된 형태로 데이터를 주고받을 수 있도록 설계된 개방형 표준 프로토콜입니다.

  • 올리브영 검색 서비스를 외부 챗봇 환경에 효율적으로 연동하기 위해 MCP 구조를 설계 및 활용하였습니다.
Concept · 02

Tool Calling (Function Calling)

사용자의 자연어 질의를 LLM이 실시간 분석하여 적합한 API(툴)를 선택하고 이에 필요한 입력 변수값을 JSON 구조로 자동 생성해 내는 기술입니다.

  • 사용자의 추천 요구 조건(브랜드, 가격, 카테고리 등)에 맞게 올리브영 검색 API의 툴 파라미터를 LLM이 추출할 수 있도록 연동하는 핵심 기능으로 사용되었습니다.
Concept · 03

Few-shot Prompting

인공지능 모델이 해결해야 하는 작업에 대하여 이해를 돕기 위해 입출력 구조가 담긴 소수의 실제 예시를 프롬프트에 직접 작성하여 응답 정확도를 비약적으로 높이는 기법입니다.

  • '2만원대 토너'처럼 LLM이 헷갈리기 쉬운 한국어 가격 발화 사례에 대응하여 minPrice와 maxPrice를 어떻게 설정해야 하는지 예시 목록을 Tool Description에 삽입해 오류를 대폭 해결했습니다.