빅데이터 혁신융합대학

Bigdata University

Bigdata University

Contents Module

[알쓸빅잡]생성형AI (ChatGPT)를 활용하여 푸드테크 서비스 구현하기

등록일 2023-08-08

생성형AI(ChatGPT)를 활용하여 푸드테크 서비스 구현하기

 

황유진 HCI공학박사

 

GPT 등장 이후 F&B 분야에서도 적용사례들이 늘고 있다식품의 개발유통정보제공판매/마케팅 등 전 영역에 걸쳐서 활용사례가 나오고 있는데최근에 편의점 GS25가 챗GPT 기반의 '아숙업(AskUp)' 서비스를 활용하여 레몬스파클 하이볼을 출시하여 화제가 되기도 하였다이는 신제품 개발 및 마케팅에 챗GPT 를 활용한 사례이다마케팅 영역에서도 기업 캠페인광고영상제작컨텐츠 제작 등 광범위하게 활용되고 있다글로벌 케첩 브랜드 '하인즈'의 사례가 그 예이다.

컨텐츠 추천에 챗GPT를 활용한 사례들도 있다식자재 유통 플랫폼 '식사탐험'은 챗GPT와 연동한 'AI요리사서비스를 출시하여 사용자가 요리 하고 싶은 식재료를 입력만 하면 챗GPT 연동을 통해 그에 맞는 다양한 요리 레시피를 제공한다와인 정보제공 서비스 '칠링'은 사용자들의 취향과 식사메뉴그리고 특정 이벤트나 상황에 가장 잘 어울리는 와인을 추천하고 와인의 종별/나라별/양조방식 등에 따라 달라지는 와인의 특징에 대한 컨텐츠를 제공하는 'AI소믈리에'를 출시하였다이번 기고문에서는 '칠링서비스를 예시로 생성형 AI (GPT-4)를 활용한 푸드테크 서비스 구현 시 유의할 점 몇가지에 대해 소개하고자 한다.

 

 

1. 꼭 ChatGPT를 활용해야할까? 기능보다 사용자!

GPT를 서비스에 도입하기 전에는 명확한 서비스의 목표를 설정해야 한다이러한 목표는 결국 타겟하는 사용자의 니즈에 기반하여야 한다.

사용자의 니즈에 따라서 굳이 챗GPT도입이 불필요한 경우도 많다예를 들면 '힙한 레시피를 찾아서 요리하고 싶은사용자의 니즈를 충족시키고자 하는 레시피 추천 서비스라면GPT를 통해 생성된 새로운 레시피를 사용자에게 주요하게 노출시키거나 혹은 챗GPT가 추천한 레시피인 것을 명시하는 것이 사용자에게 어떻게 받아드려질지 충분히 테스트 해본 후에 적용해야 한다.

이 경우에는 'GPT 추천 레시피보다는 사용자가 팔로우하는 유명한 '셀럽의 홈베이킹 레시피'를 심플하게 노출시키는 것이 사용자 니즈에 적합할 수 있다물론 챗GPT를 충분히 활용함으로써 사용자 니즈를 충족시키면서 사용자경험도 증진 시킬수 있는 또 다른 전략을 적용해 볼 수도 있지만결국 사용자의 선택을 받은 서비스가 살아남는다는 것은 챗GPT 도입 여부와는 상관없이 불변의 진리이다.

현재 챗GPT를 도입한 많은 서비스들이 신기술을 도입했다는 것 자체에서 오는 신기성 효과(novelty effect)에 치중되어 있는데결국은 장기적인 발전을 위해서는 사용자에 대한 충분한 이해가 필요하다.

 

2. 사용자 조사를 위한 역발상!

역으로 사용자 니즈 파악을 위해 챗GPT를 활용하는 사례도 있다. 칠링 서비스가 그 예이다. 칠링은 기존의 사용자 조사 방법의 한계를 챗GPT를 통해 보완하려는 의도로 챗GPT를 서비스에 적용하였다. (자료: 칠링 제공)

기존에 신규 기능 혹은 디자인 등을 평가할 시에는 사전조사운영 전 혹은 운영중인 서비스를 통한 A/B 테스팅사후 평가 등의 방법을 통해 진행할 수 있고방법론적으로는 인터뷰나 관찰 등을 통한 질적 방법설문이나 데이터 로그 분석 등을 통한 양적방법을 사용하거나 두가지 이상의 방법론을 혼용하여 사용하기도 한다.

조사자가 직접적으로 사용자와의 상호작용을 포함하는 방법의 경우 사용자의 의견과 피드백을 직접 얻을 수 있고 실시간 소통을 통해 추가적인 설명이나 관찰이 가능하지만 조사자의 개입자체와 질문이나 컨텍스트가 정해져 있을 경우 통제된 환경으로부터 생기는 경험의 왜곡이 발생할 수 있다.

'실제 와인을 구매하기 위해 매장을 방문한 상황' vs '인터뷰 참여를 요청받아서 조사자와 함께 마주보고 앉아서 와인을 구매하는 상황을 상상하기이 두 상황은 참여자에 따라 유사할 수도 혹은 굉장히 상이할 수도 있는 결과로 이어질 수 있다칠링은 챗GPT를 도입함으로써 사용자의 질문을 지속적으로 수집한다.

예시로 제공한 자료에 따르면 수집된 질문들 중 가장 빈번했던 질문 종류 세가지는 다음과 같다: (1) 특정 음식에 어울리는 와인 (i.e. 삼겹살이랑 어울릴만한 와인 추천해줘), (2) 와인 정보 탐색 (i.e.까르베네쇼비뇽이 뭐야알바리뇨가 뭐야), (3) 유사 와인 추천 (i.e. 나파밸리 진판델과 유사한 맛의 와인 추천해줘). 이렇게 수집되는 질문들은 자주묻는 질문으로 띄워진다.

GPT 초기 진입시 사용자는 보통 어떤 질문을 해야할지에 대한 인지적 혼란을 겪는 경우가 빈번하다따라서 자주묻는 질문을 통해 발화를 시작함으로써 시나리오를 이어갈 수 있다또한 자주 묻는 질문 TOP3를 동시에 띄움으로써 사용자를 통한 추가적인 데이터를 수집한다이를 통해 칠링은 사용자의 니즈가 반영된 자연어 데이터와 설문 데이터를 동시에 얻을 수 있다.

이러한 프로세스를 통해 확인한 사용자의 니즈는 메인페이지의 컨텐츠 큐레이션 카테고리로 반영되고필요시 기능 개발로 이어진다GPT가 하나의 애자일(Agile)한 테스트베드로써의 역할을 한 셈이다.

 

3. 프롬프트 엔진 고도화

챗GPT의 사용 목적이 다르다고 해서, 구현방법의 방향성은 크게 달라지지는 않는다. 결국 모든 챗GPT를 활용한 서비스들이 프롬프트 엔진을 고도화함으로써 더 정교하고 명확한 목표를 달성하고자 할 것이다. 물론 앞서서도 말했듯이 B2C 서비스들의 궁극적인 목표는 사용자의 마음을 사로잡는 것이다. 프롬프트 엔진을 고도화할 시에 사용자중심(user-centric) 관점에서 유의해야할 점을 공유하고자 한다.

 

도메인을 명확히 하기

서비스가 한가지 도메인에 뿌리를 두고 있는 수직적(vertical)한 성격을 지니고 있다면 범위를 명확히 정의하는 것이 사용자중심 서비스로 가기 위한 첫 단계이다. 프롬프트 엔진에서 도메인을 명확히 정의하면 GPT 모델을 해당 도메인에 특화 시킬 수 있다.

 

또한 모델이 특정 도메인에 대한 지식과 용어문맥을 배우고 이해하는데 더 능숙해 질 수 있고 결과적으로는 사용자의 질문과 요청에 정확한 응답을 제공할 수 있다칠링 서비스의 경우 와인과 관련된 질문에만 대답하고 이외 와인이 아닌 맥주소주위스키 등 다른 주류에 대한 대답을 하지 않도록 프롬프트에서 제어한다.

옆의 사진처럼 "IPA 맥주랑 먹을 안주 추천해줘"라고 질문하면 칠링 AI 소믈리에는 자신의 역할의 범위를 사용자에게 전달하고 유사한 질문을 추천한다이러한 상호작용을 통해 사용자는 빠른 시일 내에 'AI 소믈리에'에 대한 멘탈 모델을 형성한다칠링의 경우 대화형 인터페이스를 사용하고 있지만 만약 다른 인터페이스 사용한다면 어떤 UI/UX 요소들을 활용하여 도메인의 범주를 사용자에게 전달할 수 있을지에 대한 테스트가 필요하다.

 

페르소나를 정의함으로써 일관성 있는 경험을 제공한다.

칠링처럼 대화형 인터페이스를 사용하는 경우라면 페르소나에 따라 사용자의 몰입(engagement) 혹은 이탈(drop out)이 일어날 수 있다특히 상호작용의 일관성을 유지하는 것이 중요하다프롬프트에서 페르소나를 정의하여 챗GPT가 적용된 서비스의 일관된 톤어휘태도 등을 유지할 수 있게 해야 한다.

이는 서비스에 대한 사용자의 빠른 적응에도 영향을 미친다칠링의 경우 서비스 전반에 거쳐서 통일된 페르소나를 유지하고 있다이러한 통일성을 유지하기 위해 서비스 전체에 적용된 페르소나를 AI 소믈리에 에게도 적용하고 있는 것으로 보인다.

말투의 경우 "해요 체로 대답해줘." 등을 프롬프트에 입력함으로써 원하는 결과를 얻을 수 있다. CS용도로 활용할 경우에는 "친절하고 상냥한 말투를 사용해줘." 등을 입력하기도 한다이밖에도 "개그맨 처럼 중간중간 유머도 넣어줘", "논문쓰듯이 전문성있는 말투로 얘기해줘." 등의 입력값을 통해 결과물을 제어할 수 있다.

 

오답의 확률을 줄인다.

정확한 응답을 요구하는 서비스의 경우에는 프롬프트 엔진에 추가로 데이터셋을 학습시킴으로써 오답의 확률을 줄일 수 있다이 경우에는 데이터를 적절한 형식으로 정의하고 데이터 형식을 일관되게 유지하는 것이 중요하다그렇지 않은 경우라면 데이터를 적절하게 전처리하여 챗GPT의 입력 형식에 맞게 변환해야 한다. (이 과정에서도 챗GPT를 활용할 수 있다.)

숫자형 데이터일 경우 데이터 처리가 용이한 구글시트 등에 챗GPT를 연동하여 활용할 수 있으니 이후 기고에서 기회가 되면 추가 설명하려고 한다오답의 문제는 아니지만 간혹 답변이 너무 길어질 경우가 있다비용에 구애받지 않는다면 Max_token을 무제한으로 늘려도 상관없지만비용 문제를 넘어서도너무 긴 interaction 이 사용자 경험 측면에서는 피로를 준다대화형 인터페이스에서는 사용자 데이터를 지속적으로 분석해서 적당한 interaction의 길이를 정의한 후에 프롬프트에 반영하는 걸 추천한다.

 

질문을 질문하기

사용자를 알기 위해서는 사용자를 공부하지만 결국GPT를 알기위해서 챗GPT에게 질문을 많이 하는 것을 추천한다위에서 사용자 친화적인 서비스를 구현하기 위한 프롬프트 고도화 전략에 대해 몇가지 추렸는데 이를 숙지하였다면 이를 위한 적절한 방법이 무엇일지를 챗GPT에게 질문해보는 것도 좋다.

예를 들면 how 보다 what을 질문해보는 것도 좋다. How를 입력할 시에는 "친절한 말투로 응답해줘"라고 방식을 학습시킬 수도 있으나, What을 통해서 다시 How를 찾아가는 방법도 추천한다원하는 결과와 목표를 우선 정의하고 방법을 찾는 것이다. "사람들이 서비스를 좀 더 전문적이라고 받아들였으면 좋겠어어떤 말투를 써야할지프롬프트에 어떻게 입력하면 좋을지 추천해줘등의 질문을 역으로 해볼 수 있다주의할 점을 결국 결정을 내릴때는 사용자가 중심이 되어야 한다.

GPT가 많은 분야를 대체할 것이라는 우려가 쏟아지고 있고 인간이 더이상 학습을 할 필요가 있나라는 질문들을 끊임 없이 받고 있지만 결국에는 질문을 잘 하기 위해서는 인간도 끊임없이 학습하고 진보해야한다는게 글쓴이 생각이다예시를 하나로 들다보니 대화형 인터페이스 위주의 설명이 된 것 같아 다음 기고에서는 다른 종류의 서비스와 인터페이스에 챗GPT를 활용하는 흥미로운 사례들을 추가로 소개해 보고자 한다.