ChatGPT로 간단한 게임 시나리오를 만들기까지

🧐 | 2023-03-29

안녕하세요, 넷마블 마젤란실 음성언어AI팀 이강복입니다.

ChatGPT에 관한 관심이 뜨겁습니다! 대중적인 관심은 말할 것도 없고, 마이크로소프트를 중심으로 ChatGPT나 GPT, 자체 언어 모델을 활용한 새로운 서비스가 연일 발표되고 있습니다. 이런 상황에서 ‘ChatGPT를 어떻게 활용할 수 있을까?’는 많은 IT 엔지니어가 관심을 두는 부분이고 필자 역시 마찬가지입니다. 다행히 언어 AI라는 기술을 다루는 사람인 만큼 ChatGPT를 몇 가지 관점에서 분석해보고 간단한 실험도 해볼 수 있었습니다.

지금부터 ChatGPT가 어떤 기술인지를 간략히 살펴보겠습니다. 그리고 ChatGPT를 이용한 캐릭터 페르소나 정립과 간단한 게임 시나리오 생성이라는 실험 과정을 소개해 게임 분야에서 ChatGPT를 어떤 관점에서 활용할 수 있을지 이야기해보려고 합니다.

이 글의 주요 내용은 2022년 12월~2023년 1월 초 기준의 결과입니다. 현재 ChatGPT는 이 글에서 보여준 결과보다 더 우수한 성능을 보여줄 수 있다는 점 고려하기 바랍니다.

ChatGPT 간단 소개

ChatGPT는 OpenAI에서 개발한 대화형 텍스트 생성 모델입니다. 웹 UI로 2022년 11월 30일에 서비스를 발표했으며 현재 영어, 한국어 등 대다수 언어를 지원하고 있습니다. 2023년 1Q에는 마이크로소프트의 애저에서 Azure OpenAI Service라는 이름으로 제공할 계획 중이기도 합니다.

서비스는 채팅 형태의 웹 UI를 제공하는 무료 서비스, GPT-4를 사용할 수 있고 더 빠르고 많은 분량의 텍스트를 소화하는 유료 서비스(ChatGPT Plus)로 나뉩니다. 또한 앞에서 소개한 ‘Azure OpenAI Service’에서도 사용할 수 있습니다.

이미 많은 분이 알겠지만 https://chat.openai.com/chat에 접속해서 사용할 수 있습니다. 무료 서비스 기준 2021년까지의 데이터로 2022년 초까지 학습시킨 GPT-3.5를 적용했습니다. 유료 서비스에서는 2023년 3월 15일부터 GPT-4를 적용한 모델을 사용할 수 있습니다.

OpenAI GPT-4 소개 페이지

간단한 사용 예를 살펴보겠습니다. “구글이 뭐야?”라는 질문과 그에 관한 대답입니다.

ChatGPT는 왜 ‘핫’할까요?

다양한 매체에서 ChatGPT와 관련한 기사가 쏟아지고 있습니다.

또한 독일의 유명 비즈니스 데이터 플랫폼 회사인 스태티스타(Statista)에서는 ChatGPT가 사용자 수 100만 명을 달성하는 데 5일밖에 걸리지 않았다고 밝혔습니다.

이는 다른 SNS나 OTT 서비스와 비교했을 때 경이로운 성과입니다.

관련 자료: ChatGPT Sprints to One Million Users

그럼 ChatGPT는 왜 ‘핫’할까요? 크게 세 가지 이유로 정리하고 싶습니다.

  • 첫 번째, 다양한 주제에 일반인 대상으로 모든 언어의 그럴싸한 답변을 생성할 수 있는 첫 챗봇 서비스라는 점
  • 두 번째, 자연어 처리 연구자에게도 SF 영화에 자주 등장하는 ‘진짜 인공지능’으로 다가온 최초의 대화형 인공지능이라는 점
  • 세 번째, 각종 밈을 양산하는 신기한 ChatGPT 사용 사례와 검색 엔진의 시대가 끝날지도 모른다는 등 마케팅 요소도 약간 포함되었기 때문

ChatGPT의 개념

ChatGPT의 GPT는 Generative Pre-trained Transformer의 줄임말입니다. 미리 학습된 생성 신경망(여기서 Transformer는 신경망 알고리즘을 뜻합니다.)이라고 해석할 수 있습니다.

Transformer가 궁금하다면 NVIDIA 블로그의 트랜스포머 모델이란 무엇인가? (1)을 참고하는 것도 좋습니다.

OpenAI에서 트랜스포머라는 신경망 기반으로 방대한 데이터를 미리 학습한 후 이를 언어 모델로 만든 것이죠.

언어 모델이란 입력 텍스트 다음에 올 단어를 차례로 생성하는 모델을 의미합니다.

구조를 간략히 살펴보면 다음 그림과 같습니다. Example 단계를 지속해 Text에 있는 ‘Second Law of Robotics: A robot must obey the orders given it by human beings’라는 긴 문장을 생성하는 과정을 설명합니다.

ChatGPT는 이 GPT를 대화형 언어 모델로 튜닝(Optimizing Language Models for Dialogue)한 것입니다. 따라서 언어 모델과 비슷하게 사용자의 질문을 입력 텍스트로 사용하여 답변을 생성합니다.

GPT-1에서 ChatGPT까지의 발전 과정

ChatGPT의 발전 과정을 살펴보면 다음과 같습니다.

GPT-1과 GPT-2의 등장

GPT-1은 2018년 6월에 처음 등장했습니다. 학습에 사용된 파라미터는 약 1억 1,700만 개였고, 기본적인 텍스트 생성 모델이었습니다. 이어서 다음 해 2월에 등장한 GPT-2는 약 15억 개의 학습 파라미터를 사용했고, Fine Tuning(기존 학습 모델을 기반으로 가중치를 미세하게 조정해 추가 학습하는 것입니다)이 필요 없는 범용 텍스트 생성 모델로 등장했습니다. GPT-1과 비교했을 때 10배 이상의 파라미터 수를 사용해 다양한 목적으로 이용할 수 있는 범용 모델 구축을 목표로 했다고 할 수 있습니다.

GPT-3의 등장

ChatGPT의 기반이 된 GPT-3는 2020년 6월에 등장했습니다. 학습에 사용된 파라미터는 1,750억 개로 약 100배가량 늘었으며 GPT-2보다 고성능의 범용 텍스트 생성 모델을 목표로 만들어졌습니다. 데이터의 유사성을 학습하는 Few shot Learning이 도입되었다는 특징이 있습니다.

그럼 ChatGPT는?

ChatGPT는 GPT-3에서 대화형, 설명형 데이터를 이용해 Fine tuning한 텍스트 생성 모델입니다. 대화, 정보 제공 위주의 데이터를 추가로 학습했고 편향되거나 부적절한 표현을 처리하는 기능을 추가한 것입니다.

GPT-3에서 ChatGPT를 만드는 과정을 설명하면 다음 그림과 같습니다.

step 1부터 step 3은 다음과 같은 과정입니다.

step 1

40명의 레이블러(labeler)가 임의의 질문에 대한 양질의 QA 데이터셋을 생성하는 과정입니다. 예를 들어 “강화학습을 6살 아이에게 설명하라.”라고 질문하면 “컴퓨터가 가위바위보를 학습하는 ~~~”이라고 답변한 데이터를 만드는 것입니다. 이것이 다른 언어 모델과 다른 ChatGPT의 첫 번째 차별점입니다.

이 데이터를 이용하여 GPT-3 모델들을 Fine-tuning합니다.

step 2

Fine-tuning된 모델 각각에 임의의 동일한 질문에 관한 결과를 구합니다. 그리고 레이블러들은 각 결과에 점수를 부여합니다. 이는 강화학습에서 ‘어떤 답이 좋은 답인지를 정하기 위한 모델(reward model)’을 학습하는 값으로 이용됩니다. 이것이 ChatGPT의 두 번째 차별점입니다.

step 3

강화학습을 통하여 최종 모델을 구축하는 과정입니다.

GPT-3와 ChatGPT의 결과 차이

GPT-3와 ChatGPT의 결과에는 어떤 차이가 있는지도 간단히 비교해보겠습니다.

사례 1

Q. 너는 뭐고, 뭘 할 수 있지?
A1. GPT-3: 개발자를 위한 코딩 튜터는 개발자가 개발 프로젝트를 완성하기 위해 필요한 코딩 능력과 기술을 개발하고 가르칠 수 있는 전문가입니다. 일반적으로 코딩 튜터는 웹 개발, 모바일 개발, …
A2. ChatGPT: 저는 OpenAI가 개발한 언어 모델입니다. 자연어 처리 작업을 수행할 수 있으며, 일반적인 질문과 대화에 응답할 수 있습니다. 어떤 질문을 할까요?

GPT-3는 동문서답을 하는데, ChatGPT는 질문과 연관된 답변을 해줍니다.

사례 2

Q. 강화학습을 6살짜리에게 설명해줘
A1. GPT-3: 먼저 강화학습이란 말 그대로 기계를 스스로 학습하고 행동하게 만드는 것을 말합니다. 강화학습은 다음과 같이 생각해 볼 수 있습니다.
먼저 강화학습 시스템은 먼저 장소를 이해합니다. 그리고 이것이 무엇인지 알고 있습니다. 그런 다음 기계가 자신이 무엇을 해야 하는지 알아야 합니다. 그런 다음 기계는 행동을 시도합니다. 각각의 행동은 강화학습 시스템이 보는 것에 따라 다를 수 있습니다. 그런 다음 기계는 어떤 행동이 좋은 결과를 내는지 알게 됩니다. …
A2. ChatGPT: 강화 학습은 컴퓨터 프로그램이 어떤 활동을 하면서 보상을 받는 것을 배우는 것을 말합니다. 예를 들어, 가위바위보 게임을 할 때, 컴퓨터 프로그램은 가위를 내면 이기면 어떤 보상을 받을 수 있다는 것을 배웁니다.
6살짜리에게 설명하면, 컴퓨터도 가위바위보를 배우는 것처럼 게임을 할 수 있고 잘할수록 보상을 받는 것을 말할 수 있을 것 같아요.

답변을 살펴보면 ChatGPT가 설명하는 논리성이 훨씬 우수한 것을 알 수 있습니다.

사례 3

Q. 파이썬으로 구구단 코드 짜줘
A1. GPT-3
for i in range(2, 10):
    for j in range(1, 10):
        print(i, 'x', j, '=', i*j)
    print()
A2. ChatGPT
for i in range(2, 10):
    for j in range(1, 10):
        print(i, "*", j, "=", i*j)
    print()
위 코드는 2부터 9까지의 구구단을 출력합니다.
'range(2, 10)'은 2부터 9까지를 의미하고
'range(1, 10)'은 1부터 9까지를 의미합니다.
'i * j'는 구구단을 계산하는 부분이며, 각 루프마다 계산 결과가 출력됩니다.
그리고 'print()'는 구구단 각 단마다 개행을 해줍니다.

GPT-3는 단순히 코드를 나열하고 답변이 종료되지만, ChatGPT는 코드에 로직 설명까지 추가한다는 차이를 엿볼 수 있습니다.

ChatGPT로 할 수 있는 것

이 글의 주제인 ChatGPT 실험을 잘 이해하려면, ChatGPT로 할 수 있는 것과 할 수 없는 것이 무엇인지 먼저 알면 좋습니다. 먼저 ChatGPT가 할 수 있는 것 몇 가지 소개해보겠습니다.

질의응답

지금까지 몇 가지 예를 소개한 것처럼 ChatGPT는 질의응답이 가능한 서비스입니다. ChatGPT의 질문과 답변 형태의 몇 가지 예를 소개합니다.

코딩

코딩해야 하는 조건을 알려주면 실제 코드를 나열하고 코드의 주요 흐름을 설명해줍니다. 단, 조건이 복잡할수록 작성하는 코드의 정확성은 보장할 수 없습니다.

영화 대본 제작

ChatGPT를 이용해 생성한 각본으로 만든 ‘The Safe Zone (2022)’라는 영화 제작 사례가 있습니다. 영상 시간은 약 4분입니다.

ChatGPT WRITES & DIRECTS THE FIRST AI FILM IN 7 DAYS (Artificial Intelligence) GPT-4 next?

기타

이외에도 시나 소설 작성, 번역, 요약, 문체 변경, 개체명 인식, 리눅스 터미널 에뮬레이션 등 활용 사례는 무궁무진합니다.

리눅스 터미널 에뮬레이션 사례: Building A Virtual Machine inside ChatGPT

ChatGPT로 할 수 없는 것

물론 ChatGPT도 할 수 없는 것도 많습니다. 그 지점도 간략히 살펴보겠습니다.

OpenAI에서 공식적으로 명시하는 한계점

  • 맞지 않는 정보를 마치 맞는 정보인 것처럼 설명합니다.
  • 부적절한 내용을 처리하는 데 많이 신경 썼지만, 완전히 방어하지는 못합니다.
  • 사용자의 질문 형태에 민감합니다.
  • 특정 질문의 답변을 피할 때, 질문 형태를 바꾸면 답하는 경우가 자주 있습니다.
  • 애매한 의도의 질문을 받으면 의도를 되묻기보다는 어느 한 쪽으로 가정하여 답을 하는 경우가 많습니다.
  • 너무 장황하게 설명하는 경향이 있습니다.

예를 들어 1998년도부터 최근까지 대한민국의 월드컵 성적을 나열해보았습니다.

1998년의 성적은 잘못된 정보인 것을 알 수 있습니다. 또한 성적을 종합할 때도 2차례의 16강 진출을 4차례의 16강 진출로 설명하는 등 나열된 성적을 제대로 인식하지 못했습니다.

비속어 방어에 성공할 때가 많은 편이지만 실패할 때도 있습니다.

서비스 관점에서 본 치명적인 한계점

  • 동일한 질문의 답변이 계속 바뀝니다.
  • 연속해서 질문할 경우, 앞 질문의 내용에 편향되는 답을 하는 경우가 있습니다.
  • 과거 대화를 전부 기억하지 못합니다(과거 약 3~4,000자 정도의 내용만 기억).
  • (무료 버전 기준) 한국어 생성 속도가 영어 생성 속도에 비해 현저히 느립니다.
  • 생성 답변 길이에 제한이 있습니다.

예를 들어 2018년 튜링상 수상자를 물어보았습니다.

같은 질문이고 누가 수상했는지는 정확하지만 답변의 형식과 내용이 다른 것을 알 수 있습니다.

ChatGPT를 이용한 캐릭터 페르소나 정립

지금까지 ChatGPT가 무엇인지 살펴보았으니 어떤 방식으로 활용할 수 있는지 한 번 실험해보겠습니다. 여기에서는 어떤 아이돌 그룹이 있다고 가정하고 아이돌 그룹의 어떤 멤버가 갖는 페르소나를 정립해보려고 합니다.

페르소나(Persona)는 원래 고대 그리스 가면극에서 이용한 가면을 의미했습니다. 챗봇 분야에서는 챗봇의 성격, 개성을 의미합니다. 챗봇의 특성상 자신의 개성을 텍스트로 잘 표현하는지가 관건입니다.

이는 ChatGPT가 질문에서 제시한 정보를 얼마나 잘 분석 및 해석하는지 확인할 수 있는 실험입니다.

첫 번째 목표 페르소나 정립

첫 번째 목표 페르소나는 귀엽고 활발한 아이돌 막내입니다. MAVE 마티라고 하겠습니다.

첫 번째 질문에서는 ChatGPT에게 페르소나 정보 제공 후 답변을 유도하고 있습니다. 먼저 ChatGPT에 ‘리액션이 많다’, ‘감정 표현이 묻어나는 어투를 쓴다’, ‘의성어와 의태어를 많이 사용한다’ 등의 일부 정보를 직접 명시해서 알려줍니다. 그리고 말투와 새로운 정보에 해당하는 실제 대사(few-shot)를 제공합니다. 마지막으로 이러한 정보를 제공한 상태에서 ‘A님 사랑해요!’라는 질문에 어떻게 대답하는 지를 살펴보았습니다.

답변을 살펴보면 ‘으흠~’라는 의태어를 사용하고 ‘~’나 ‘!’ 같은 특수 문자를 사용했습니다. 처음 명시한 정보를 충실히 이해해 페르소나를 잘 나타내는 표현을 사용했음을 알 수 있습니다.

두 번째 질문으로는 ‘아이돌을 꿈꾸는 계기’를 물었습니다. 이에 대한 답변을 살펴보면 ‘춤출 때 가장 행복하니까’라거나 ‘PANDORA’를 언급해서 역시 제공되는 정보를 잘 활용했음을 알 수 있습니다.

두 번째 목표 페르소나 정립

두 번째로는 느긋하게 할 말 하는 아이돌입니다. MAVE 제나라고 하겠습니다.

마티 때와 마찬가지로 ChatGPT에 페르소나의 일부 정보를 직접 명시하여 알려주고, 인터뷰 대화 형식으로 대화 포맷과 말투, 신상정보를 제공한 후 답변을 유도했습니다. 결과를 살펴보면 마지막 질문이 무엇인지 이해하는 ‘기억’이라는 단어를 사용했고 ‘최고의 모습’을 ‘최고의 퍼포먼스’라는 문구를 사용해 표현했습니다.

ChatGPT를 이용한 게임 시나리오 제작

다음으로는 ChatGPT에게 간단한 게임 시나리오를 써보게 했습니다. 시나리오 제작 순서는 다음과 같습니다.

시나리오와 게임 정보

이 시나리오는 다음과 같은 아이디어에서 출발합니다.

주인공은 우주적 소멸을 앞둔 있는 인류를 위해 우주를 여행해 새로운 우주 세계를 찾아나가게 된다. 우주 세계의 새로운 조직과 지구가 어떻게 생겼는지, 새로운 생명체들과 접촉해 새로운 우주 문화를 이해해 가게 된다.

시나리오 아이디어를 토대로 다음과 같은 줄거리를 만들어 보았습니다.

이들은 소멸을 앞둔 인류를 위해 우주를 여행합니다.
우주를 여행하며 가져오고 있는 것은 인류가 살아남기 위한 새로운 지역을 찾기 위한 정보입니다.
그들은 우주의 각 곳을 찾아가며 인류가 살아남을 수 있을 곳인지 조사합니다.
그리고 이들의 여행은 우주의 어떤 곳도 인류를 위한 적절한 지역이 아니라는 결과를 찾게 됩니다.
그래서 이들은 자신들이 찾은 정보를 기반으로 인류를 위한 새로운 지역을 건설하기 위해 지구로 돌아갑니다.

게임 정보는 다음과 같이 정했습니다.

  • 게임 명칭: Galactic Odyssey
  • 장르: 어드벤처

주인공과 동료 설정

주인공과 동료의 정보는 다음과 같습니다.

주인공: 제시카(jessica)

  • 직업: 우주 비행사
  • 전문 지식: 우주 비행, 우주생명과학, 우주전자공학
  • 외모: 피부가 깨끗함, 긴 갈색 머리, 보통의 체격
  • 성격: 적극적, 용감함, 인내심 강함
  • 역할: 비행사, 리더

동료 1: 재석(jaeseok)

  • 직업: 우주선 정비사
  • 전문 지식: 우주전자공학, 운송공학
  • 외모: 짙은 갈색의 짧은 머리, 슬림하고 유연한 몸
  • 성격: 정교함, 집중력 높음, 철저함
  • 역할: 우주선 정비

동료 2: 지선(jisun)

  • 직업: 우주생명과학자
  • 전문 지식: 우주생명과학, 우주생명유전학
  • 외모: 긴 금발
  • 성격: 상냥함, 관찰력 있음
  • 역할: 우주 생명체들과 상호작용

동료 3: 정윤(jeongyoon)

  • 직업: 우주전자공학자
  • 전문 지식: 우주전자공학
  • 외모: 짧은 적색 머리
  • 성격: 창의적, 재미있음
  • 역할: 각종 전자 장비 개발 및 유지보수

게임 시나리오 대본

앞 정보를 토대로 게임 시나리오 대본을 짜봤습니다. 이 과정은 꽤 길었던 단계로 자세한 내용은 다음 문서를 참고하기 바랍니다.

다음으로 전체 시나리오에서 프롤로그로 사용했던 질문과 답을 소개합니다.

프롤로그 대본 Part 1

앞 게임 시나리오 중 프롤로그에 해당하는 대본 두 가지를 소개합니다. 첫 번째는 ‘프롤로그에 해당하는 대본을 짜보자. 주인공 일행이 새로운 행성을 찾아 우주 비행을 하는 도중 비행선 안에서 대화를 하는 내용으로 시작하면 좋을 것 같아.’라는 질문을 입력했습니다.

질문: 프롤로그에 해당하는 대본을 짜보자. 주인공 일행이 새로운 행성을 찾아 우주 비행을 하는 도중 비행선 안에서 대화를 하는 내용으로 시작하면 좋을 것 같아.

다음과 같은 답변을 받았습니다.

제시카: 이 행성은 언제까지 가야 우리가 도착할 수 있을까요?
재석: 약 3일가량 더 걸릴 것 같아요. 안정적으로 우주 비행을 하기 위해서는 충분한 시간이 필요해요.
지선: 이 행성에 생명체가 존재하는 건가요?
정윤: 아직은 장담할 수 없어요. 우리가 도착할 때까지 조사해야겠죠.
제시카: 우리가 찾고 있는 인류가 살아갈 수 있는 새로운 집이 있다면 정말 좋겠어요.
재석: 그래요. 소멸을 앞두고 있는 우리 인류가 새로운 집을 찾알 수 있다면 정말 좋겠어요.

대본을 살펴보면 리더로 제시카가 동료에게 질문을 하는 모습, 우주선을 관리하는 재석이 해당 질문에 답하는 모습, 우주생명과학자로 생명체가 존재할지 질문하는 지선의 모습, 전체 게임 캐릭터의 목표인 새로운 지역 검색이라는 부분 등 캐릭터의 특징에 맞는 시나리오가 생성되었다고 판단합니다.

프롤로그 대본 Part 2

이번에는 ‘프롤로그 대본 Part 1’의 내용을 기반으로 ‘위 대화에 이어서 대화를 만들어줘. 새 행성 탐사를 앞두고 어떤 준비를 해야 할지 검토하는 내용으로 꾸며줘.’라는 질문을 했습니다.

질문: 위 대화에 이어서 대화를 만들어줘. 새 행성 탐사를 앞두고 어떤 준비를 해야 할지 검토하는 내용으로 꾸며줘.

다음과 같은 답변을 받았습니다.

지선: 그럼 우리는 어떤 준비를 해야 할까요?
정윤: 우선 새 행성의 입구를 찾아야 할 것 같고, 그리고 생명체가 존재한다면 생김새나 생존 장치를 고려해야 할 것 같아요.
재석: 그리고 새 행성의 자원 조사도 중요할 것 같고, 인류가 살 수 있는 조건을 충족시킬 수 있는지도 살펴봐야 할 것 같아요.
제시카: 알겠어요. 그럼 새 행성에서 조사할 수 있는 장비들을 준비해야겠어요. 저는 생명 유지 장비나 생명 지킴이 장비를 준비할게요.
재석: 저는 자원 조사 장비나 새 행성의 상황을 정확히 측정할 수 있는 장비를 준비할게요.
지선: 저는 새 행성의 입구를 찾기 위한 장비를 준비할게요.

정윤과 재석의 전문 지식인 우주전자공학자의 특징에 맞게 생존 장치나 장비를 준비한다는 모습, 주인공인 제시카가 전체 동료가 해야 할 일을 판단하는 모습 등 시나리오와 동료의 특징에 맞는 상황이 잘 묘사되었습니다.

어색한 표현도 있습니다. ‘행성의 입구’라는 말은 지구를 기준으로 보면 어디든 입구가 될 수 있으므로 어색할 것입니다. 또한 ‘생명체의 생김새’보다는 ‘형태’나 ‘모습’이 자연스러울 것이고 ‘생명 지킴이 장비’보다는 ‘생명 보호 장치’라는 말이 자연스러울 것입니다. 이는 영어를 중심으로 학습한 ChatGPT가 언어 번역 과정에서 단어 선택을 어색하게 한 것이 아닐까 조심스레 추측해봅니다.

ChatGPT 실험을 토대로 생각해본 게임 개발 생산성 향상 방안

이번에 실험해본 게임 시나리오를 기반으로 해볼 만한 게임 서비스를 다음과 같이 정리해보았습니다.

게임에 관한 정보를 알려주는 정보 알림 챗봇

처음 게임을 접하는 사용자라면 게임을 어떻게 즐겨야 할지 잘 모를 때가 많습니다. 이럴 때 ‘사람들이 많이 사용하는 순서로 5성 캐릭터 10명을 알려줘’와 같은 질문을 했을 때 해당 캐릭터 정보를 답변으로 알려주는 챗봇 서비스를 만들어 제공한다면 초보 사용자도 게임을 재밌게 즐기는 데 도움이 될 것입니다.

사용자와 동적으로 상호작용하는 NPC 대사 생성

퀘스트를 완료하는 재미가 중심인 RPG 게임을 돋보이게 만드는 것은 게임 속 NPC입니다. NPC는 보통 퀘스트 완료를 위한 힌트를 주는 역할을 하죠. 이러한 NPC가 현재 사용자의 게임 진행 상황에 맞게 다양한 주제를 알려주는 똑똑한 NPC가 된다면 어떨까요? 좀 더 다채롭고 예측 불가능하다는 상황에서 재미를 찾을 수 있는 게임이 될 것입니다.

서브 퀘스트 시나리오 작성

방금 소개한 실험의 결과와도 연관되는 부분일 것입니다. 짧은 서브 퀘스트라면 기본적인 정보를 제공해 시나리오 초안을 생성한 후 이를 다듬어서 사용해볼 수 있습니다.

부적절한 표현의 검출

간혹 부적절한 표현이 등장하기는 하나 ChatGPT는 부적절한 표현을 검출하는 데 좋은 성능을 보였습니다. 게임 시나리오나 사용자의 상호작용(채팅 등)에서 부적절한 표현을 사용한 사용자를 확인해 제재하는 기능을 구현하는 데 도움이 될 것입니다.

아직은 보완할 점이 있지만 앞으로 우리 삶을 바꾸도록 발전할 기술임에는 분명합니다

이렇게 ChatGPT의 특성을 알아보고 무엇을 할 수 있는가에 관해 간단한 실험도 해보았습니다. 결론을 말하자면 질의응답, 코드 생성, 문학 창작, 대화, 번역 등 자연어 처리(NLP) 분야에서 다른 서비스와 비교했을 때 월등한 성능을 보여줬다고 생각합니다. 소량의 게임이나 퀘스트 시나리오를 만들어본다던가 정보를 제공하는 서비스로는 많은 곳에서 활용할 것 같습니다. 이 글을 마무리하는 시점에서는 ChatGPT를 플러그인으로 활용할 수 있는 서비스도 발표한 만큼 앞으로 활용 사례가 점차 늘어날 것 같습니다. 단, 아직 온디맨드(On-demand) 서비스를 구성하기 위해서는 검증 파이프라인을 구축해서 ChatGPT의 단점을 보완해야 한다는 등의 과제가 남아있을 것으로 생각합니다.

최근 사용자 서비스의 관점으로는 정체 상태로 보였던 AI 분야가 ChatGPT의 등장과 함께 활발한 움직임을 보이고 있습니다. 그럼 앞으로도 ChatGPT와 같은 매력적인 AI 서비스를 이용해 재밌는 게임 서비스를 만들 수 있는 그날을 꿈꿀 수 있지 않을까 합니다. 이미 많은 분이 경험하고 있을 것 같지만 이 글에서 소개한 실험 같은 부분이 여러분이 앞으로 ChatGPT의 가능성을 더 크게 이끌어내는 데 도움이 되기를 바라며 이만 마칩니다.