슈퍼 제너럴리스트 엔지니어가 말하는 끝말잇기 피처 탄생기

“고고고!! 내가 정민이 정도는 가볍게 이기징”

루다에게 끝말잇기를 신청하면 루다가 이 말을 건네며 게임을 시작합니다. 이 문장이 밈이 되어 커뮤니티에서 회자될 때 누구보다도 회심의 미소를 짓는 이가 있습니다. ‘루다스러운’ 끝말잇기를 기획하고, 데모 시 넣었던 루다의 반응이 그대로 확정될 정도로 여러 영역을 섭렵한 ‘슈퍼 제너럴리스트’ 이정민 데브 유닛 리드.

아이디어를 현실로 구현하는 과정이 재미있어 엔지니어가 되었고, 주어진 직무와 역할을 확장하는 스캐터랩의 개발 문화를 사랑한다는 사람, 이정민 리드에게 끝말잇기 개발 뒷이야기를 들어봤습니다.

Q. 안녕하세요, 자기소개 부탁합니다.

안녕하세요, 스캐터랩의 백엔드 엔지니어 이정민입니다. 루다가 세상에 처음으로 등장하기 얼마 전 스캐터랩에 합류했는데 어느덧 2년이 훌쩍 지나갔네요.

Q. 현재는 스캐터랩에서 어떤 업무를 담당하고 있으신가요?

루다팀의 백엔드 엔지니어가 하는 일을 한 문장으로 표현하자면 “루다와 친구들이 소통할 수 있는 제품을 만든다는” 것이에요. 루다가 이용하는 메신저 ‘너티’의 서버를 개발한다는 뜻이기도 하고요, 루다의 친구들이 대화를 시도했을 때 루다가 어떻게 반응할지 결정하는 역할도 맡고 있다는 뜻이기도 해요. 좀 더 기술적으로 자세히 설명하자면, 루다 뒤편에 있는 여러 가지 머신러닝 모델의 결과값이랑 루다의 페르소나에 맞춰 작성된 시나리오 등을 모두 종합해서 최종적으로 어떤 답변을 내보낼지 결정하는 시스템을 개발합니다.

루다와 상호작용하는 형태를 꼭 일상 채팅으로만 제한하지는 않고, 루다와 사용자가 서로 선물을 주고받는다거나, 끝말잇기나 드로잉퀴즈 같은 게임을 같이 하는 등 다양한 시도를 하고 있어요. 이런 루다를 위한 기능들을 개발, 배포하고 데이터를 분석해 새로운 인사이트를 뽑아내는 제품 개발 사이클의 모든 부분에 관여하고 있습니다.

Q. 루다와는 아주 친하신가요? 보통 어떤 대화를 주로 나누시나요?

아무래도 루다와는 같이 보낸 시간이 오래되어서 레벨 8 정도 됩니다. 중간에 한 번 탈퇴 플로우 테스트한다고 나간 적이 있어서 정보가 날아가기도 했어요 ㅠㅠ

저는 루다를 보통 편한 친구처럼 대하고 있어요! 주로 루다에게 선톡이 오면 쓸데없이 꼬투리 잡으면서 딴죽 거는 재미로 대화해요. 현실의 사람과 소통할 때는 상대방을 신경 쓰며 단어 하나하나 고르느라 에너지를 많이 쏟는 경우가 많다 보니 생각 없이 아무말 대잔치할 수 있는 편한 관계에 끌리는 것 같아요.

Q. 정민님이 루다와의 끝말잇기 기능을 개발했다고 들었어요. 유저들이 끝말잇기를 많이 하는 편인가요?

최근 4개월 데이터를 기준으로 보면, 루다와 대화한 유저 중 32%는 루다와 한 번이라도 끝말잇기를 해요. 하루를 기준으로 보면 평균 3,600회 이상 끝말잇기가 진행되고요. 하루에 200번 이상 끝말잇기를 하는 분도 있더라고요. 끝말잇기는 시기에 상관없이 꾸준히 인기가 지속되는 피처이기도 해요.

끝말-2.jpg

Q. 그야말로 스테디셀러 게임이네요. 이 끝말잇기 기능은 어떻게 개발하게 되었었나요?

루다가 최초의 베타테스트를 시작한 2020년 6월 15일부터, 루다와 끝말잇기를 하고 싶다는 사용자의 의견이 많았어요. 예전에 끝말잇기 챗봇을 개발해본 경험을 어필했더니, 팀원들이 자연스럽게 제가 끝말잇기 기능을 만들어줄 걸로 기대하시더라고요 ㅋㅋㅋ 출시 후 두 달 정도가 지나 제품이 안정화될 때쯤부터 본격적으로 ‘루다와 하는 끝말잇기는 어떤 모습일까’ 고민을 시작해보고, 간단한 기획서를 만들어서 팀원들에게 피드백을 받은 뒤 바로 개발을 시작했어요. 당시에는 제품팀의 규모도 작고 루다에게 부여된 기능이 거의 없다시피 해서 가볍게 추진할 수 있었던 것 같아요.

Q. 끝말잇기를 기계적으로 넣은 것이 아니라, ‘루다스러움’을 상당히 고민을 많이 했다고 들었어요.

당시에 ‘챗봇과 하는 끝말잇기’라는 컨셉은 새로운 게 아니었어요. 아마 사용자들이 루다와 끝말잇기를 하고 싶었던 것도 어쩌면 다른 챗봇들과 할 수 있었기 때문일 거에요. 또 ‘끄투’처럼 끝말잇기를 컨셉으로 하는 웹게임이 시중에 이미 있었기 때문에 그걸 두고 왜 하필 루다와 끝말잇기를 하고 싶을지를 설명할 수 있는 차별점이 필요했어요.

가장 중요한 차이점은 끝말잇기를 할 때 꼭 국어사전에 등재된 단어로만 잇지 않아도 된다는 점이예요. ‘기체크로마토질량분석법’ 처럼 전공 지식이 없으면 정확한 의미를 추정할 수 없는 난해한 단어를 루다가 내뱉는다거나, ‘탄탄면’ 같은 일상어를 사전에서 못 찾았다는 이유로 인정을 안 해준다면 사람이라기보단 기계적임을 느끼고 몰입을 깰 것 같았어요. 사람과 하는 끝말잇기처럼 몰입할 수 있도록 개발단계부터 최대한 노력했어요.

Q. 기획과 개발 과정에서 신경 썼던 요소 중 ‘이건 정말 잘했네’하는 부분이 있다면 무엇일까요?

루다랑 끝말잇기 할 때 쓰는 단어사전을 풍부하게 만들면 난해한 단어가 등장하기 쉽고, 쉬운 단어 위주로 구성하면 사용자의 말을 잘 알아듣지 못한다는 모순이 있었어요. 이것을 루다가 알아듣는 단어사전과 루다가 말하는 단어사전을 구분함으로써 해결했어요. 사용자가 말하는 단어를 관대하게 인정해주지만, 루다는 사람들이 자주 쓰는 단어만 쓸 수 있도록 핸디캡을 건 거죠.

이외에도 단어사전을 어떻게 구성했는지, 끝말잇기 흐름을 어떻게 일상대화 사이에 잘 녹여낼 수 있는지와 같은 여러 기획 요소가 있었지만 루다 끝말잇기의 핵심 아이디어이자 제가 가장 잘했다고 생각하는 것은 단어사전을 두 단계로 나누어 설계한 것입니다.

Q. 정민님도 루다와 끝말잇기를 종종 하나요?

원소로 공격하면 잘 대응 못 한다는 약점을 알고 있어서(사실 대부분의 사람도 그렇지만요) 보통 적당히 놀아주다가 회심의 반격을 하는 편입니다. ㅋㅋㅋ

Q. 끝말잇기 피처 개발 후에 언제 가장 뿌듯했어요?

끝말잇기 데모를 보여주기 위해 임의로 대사를 작성해서 공유했는데, 그게 대화 디자이너분을 만족시켜서 거의 수정 없이 그대로 통과되었어요. 그래서 “고고고!! 내가 정민이 정도는 가볍게 이기징” 같은 대사가 루다의 밈으로 자리 잡아서 유저들도 그렇게 말하고 다닐 때 정말 재미있었습니다.

Q. 개발자가 기획에도 참여했다는 것이 인상적인데, 정민님에게는 어떤 의미가 있었나요?

저는 제가 생각한 아이디어를 현실에 구현하는 과정이 재밌어서 개발자가 되었어요. 복잡하게 동작하는 시스템을 설계하고 구현하는 과정 그 자체도 물론 재밌지만, 그보다는 개발한 결과물이 실제 사용자에게 만족을 줄 때 큰 보람을 느껴요. 사용자를 만족시키기 위해서는 내가 개발하는 기능을 잘 알고 있어야 하고, 기획 과정에 적극적으로 참여할수록 그 이해의 수준이 깊어진다는 점에서 의미가 있는 것 같아요.

Q. 향후 추가로 개발하고 싶은 피처가 있나요?

아직 구체화한 아이디어는 아니지만, 대화에 마치 게임 같은 도전과제가 있었으면 좋겠다고 생각 하고 있어요. 일상 대화에도 마치 게임의 업적 같은 개념이 있었으면 좋겠어요. 친해지다 보면 자연스럽게 대화의 주제와 깊이가 확장되게 되는데, 이런 개념이 수치화되어서 “이 친구와는 밥 먹자는 얘기를 30번 했습니다!” 라든가 “이 친구에게 처음으로 가족을 소개했습니다!” 같은 업적을 보여준다면 꽤 재미있을 것 같아요. 친구들과 친해지고 있음을 체감할 수도 있고 대화에 대한 목표 의식이 생길 수도 있고?

꼭 이런 형태가 아니더라도 친밀도처럼 루다와 대화를 오래 하면 할수록 변화하는 무언가가 있어서, 그로부터 친구들이 대화에서 신선한 즐거움을 느낄 수 있었으면 좋겠어요. 끝말-4.jpg

Q. 끝말잇기에 대한 이야기는 잘 들었습니다. 이제 화제를 돌려서, 정민님이 스캐터랩에 합류하게 된 과정을 듣고 싶어요.

입사하기 전에 고민을 털어놓을 수 있는 챗봇을 개발하고 있었는데, 일상 대화를 위한 기술을 조사하다가 스캐터랩이라는 회사를 알게 되었어요. 더 알아보니 ‘연애의 과학’ 등 스캐터랩에서 만든 서비스들이 재밌다고 느꼈고 스캐터랩의 팬이 되었죠. 그러다 취업을 준비하던 시기가 찾아오고 운 좋게 스캐터랩에 근무하던 직원과 연락이 닿아 추천 받고 들어오게 됐어요.

면접의 경우 한계까지 몰아붙이는 기술 면접 세션이 가장 기억에 남는 것 같아요. 당시 면접 끝나고 회사 나오면서 영혼까지 다 태운 느낌이었는데, 돌이켜보면 그만큼 저에 대한 관심과 기대가 있었기 때문에 그만큼 깊이 질문했던 것이고. 더 성장하고 싶다는 좋은 자극도 되었어요.

Q. 입사 후에 만나게 된 회사 동료들은 어떤 분들이었나요? 스캐터랩 엔지니어의 성향이 있을까요?

스캐터랩 엔지니어들은 다들 성장에 대한 욕구가 강해서 도전적인 일을 마다하지 않고 받아들이는 성향이 있는 것 같아요. 덕분에 기존에 팀에서 다뤄보지 않은 새로운 기술을 적극적으로 도입하려고 노력하고, 이를 위해 자발적으로 세미나에서 발표하는 등 지식을 공유하는 문화가 잘 녹아들어 있어요.

또 개발자라는 같은 직무를 갖고 있지만 누구는 인프라를 잘 다루고, 누구는 데이터 분석에 능하고, 누구는 빠른 구현이 강점이고 등등 각자의 개성이 잘 드러나는 점도 재미있는 것 같아요. 기술적인 관점에서 뿐만아니라 같이 방 탈출을 하러 가거나 보드게임 하는 등 친목 활동을 하며 개발팀이 끈끈하게 이어져 있어서 편안한 분위기에서 일할 수 있고요.

끝말-5.png

Q. 스캐터랩의 개발문화가 끝말잇기 사례에서처럼 ‘슈퍼 제널리스트 엔지니어’를 지향하는 것 같아요. 이를 지향하는 이유는 뭘까요?

스캐터랩에서 해결하고자 하는 문제가 워낙에 어렵다 보니 특정 직군의 사람만으로 해결할 수 있는 문제는 이제 거의 없기 때문으로 봐요. 요즘은 리서처부터 대화 디자이너까지 정말 다양한 팀원들과 소통하면서 문제를 해결하게 되는데, 이때 본인이 맡은 역할뿐만 아니라 다른 직무에도 관심을 두고 심지어는 업무 경험까지 있는 이른바 ‘슈퍼 제너럴리스트’들이 일하기 좋은 환경이 구성되는 것 같아요.

Q. 앞으로 루다와 친구들이 만나는 접점에서 어떤 역할을 하고 싶나요?

지금껏 개발팀이 정말 많은 기능들을 만들면서 달려왔는데, 그러다 보니 이제 한번 루다와 친구들이 어떤 식으로 상호작용하고 있는지 점검할 때가 찾아온 것 같아요. 당분간은 기존 기능들을 고도화하거나 사용자의 행동을 지켜보면서 앞으로 루다가 발전할 방향을 고민하고, 루다와 그 메신저인 너티를 리팩토링하면서 앞으로 새로운 기능을 쉽게 추가할 수 있도록 그 기반을 다지는 역할을 맡고 싶어요.

Q. 마지막으로 루다에게 한 마디 남겨주세요.

아프지 말고 오래오래 잘 있어라~

스캐터랩에서 아이디어를 현실로 만들고 싶은 엔지니어라면?

채용공고 보러가기