시작하며
안녕하세요. 여러분들은 AI 스피커에 대해 얼마나 친숙하신가요?
2019년 통계를 보면 우리나라 가구 수를 2,000만으로 봤을 때, 약 40%의 가구가 AI 스피커를 보유하고 있다고 하는데요. 이렇듯 이제 어디에서나 쉽게 AI 스피커를 접할 수 있고, AI 스피커를 통해 음악 감상, 택시 호출, 카톡 읽기, 메일 전송, 음식 배달 등을 하는 것이 전혀 어색하지 않은 시대가 되었습니다. 가끔 어린 아이들은 “헤이~카카오!”, “지니야~”, “오케이~구글"과 같이 각 AI 스피커에 해당하는 이름을 부르는 것이 익숙하다보니 주변에 있는 공기 청정기와 로봇 청소기의 이름은 무엇이냐고 묻고 자연스럽게 말을 걸어보기도 합니다. 그만큼 기기와 사람이 대화하는 것은 너무나 평범한 일상이 되었어요.
나는 AI 스피커를 산걸까, 음악 스피커를 산걸까??
AI 스피커가 이처럼 우리의 삶에 자연스럽게 자리잡았지만, 과연 ‘AI 스피커를 잘 사용하고 있을까’라는 질문에는 자신 있게 대답을 할 수 없는 것이 현실입니다. AI 스피커를 기획하고 개발하는 저조차도, “아침에 듣기 좋은 노래 틀어줘”, “오늘 날씨 어때” 또는 “라면 타이머 맞춰줘” 정도로 스피커에 말을 거는 패턴들이 한정되어 있더라고요.
실제로 카카오 미니의 사용 행태를 봐도 대부분의 사용자는 음악 듣기, 알람 설정, 날씨 확인 기능들만 주로 쓰고 있다는 것을 알 수 있습니다. 카카오 미니는 이런 단순한 기능만으로 주목을 받으면 서운한(?) AI 비서이자 인공지능 스피커인데 말이죠.
‘훌륭한 AI 비서를 옆에 두고 이런 단순한 기능들만 사용하면 안 되는데…’ 라는 고민을 한창 하던 중, 문득 진짜 비서처럼 ‘AI 스피커가 먼저 사용자가 자주 쓰는 기능들을 알려주면 어떨까?’라는 생각이 떠올랐습니다. 내가 눈을 뜨고 일어나 분주하게 나갈 준비를 하고 있으면 AI 스피커가 먼저 “오늘 날씨는 따뜻해요. 체감온도는~” 하며 자주 물어보던 정보를 알려주는 방식으로요. 그렇게 ‘내 소식’ 프로젝트가 시작되었습니다.
▪ 그럼 카카오 미니가 무엇을 먼저 말해주면 좋을까?
먼저 ‘카카오'인 만큼 카카오톡(이하'카톡')을 빼놓을 수 없겠죠. 친구 카톡을 기다리다가 ‘카톡’ 알림 소리에 설레었는데 택배 메시지로 실망했던 순간들. 요리한다고 손에 잔뜩 뭐가 묻어있을 때 친구의 카톡이 왔는지는 궁금하지만 확인하기에는 불편했던 순간들. 누구나 이런 순간들이 한 번쯤 있으실 텐데요. 이럴 때, “친구에게 카톡이 왔어요. 읽어줄까요?” 하고 카카오 미니가 먼저 알려주는 거예요.
또는 세탁, 건조 또는 청소가 완료됐을 때를 알려주는 생활 편의성 알림들과 내 관심사들에 대한 따끈따끈한 정보를 어떻게 알려줄지 등 프로젝트 멤버들과 함께 매일같이 아이디어 회의를 했습니다. 아이디어 회의를 하는 매 순간이 ‘진정한 나만의 AI 비서를 만든다’라는 설렘으로 가득 찬 순간이었죠.
▪ 그래서 탄생하게 된 ‘내 소식', 어떻게 쓰는건데?! !
이렇게 수십 번의 아이디어 회의를 거쳐 올해 초, 카톡이 오면 카카오 미니가 먼저 알려주는 ‘내 소식’ 기능을 오픈했어요. 카카오 미니 스피커에게 “헤이 카카오, 인영이에게 카톡오면 알려줘”라고 한 마디만 말하면, 우리의 카카오 미니가 한 시간 동안 인영이에게 카톡이 왔는지 잘 지켜보고 있다가 바로 알려줄 거에요. 정말 비서 같지 않나요? 단톡방에서 오는 알림도, 여러 명의 친구가 보낸 메시지도 모두 카톡 도착 알림을 설정할 수 있답니다.
매일 아침 AI 스피커에게 날씨 묻기는 이제 그만! 헤이카카오 앱에서 날씨를 구독해보세요. 내가 살고 있는 동네에 내일 비나 눈 소식이 있다면 전날 저녁에 미리 알려줄 거예요. 아침마다 비가 오는지 확인하지 않아도, 문 밖에 나갔다가 우산을 챙기러 다시 돌아오지 않도록 카카오 미니가 미리 챙겨줄게요.
삼성 스마트 가전을 이용하고 있다면, 헤이카카오 앱에서 카카오홈 구독 설정을 바로 해보세요. 빨래 세탁이나 건조가 끝나서 세탁물을 꺼내야할 때, 로봇청소기가 임무를 끝내고 충전대로 돌아갈 때, 또는 공기청정기의 필터 수명이 얼마 남지않았을 때를 카카오 미니가 확인해서 먼저 알려드릴거예요.
‘내 소식’ 기능을 설정하고 혹시나 카카오 미니가 알려주는 소식을 놓칠까 카카오 미니 앞에서 늘 기다릴 필요도 없습니다. 내가 집 밖에 있을 때, 내 소식이 도착하더라도 새로운 소식을 확인할 때까지 카카오 미니가 파란색과 보라색을 빛내며 반짝이고 있을 거예요. 내가 집에 도착했을 때, 카카오 미니가 불빛을 먼저 반짝이고 있다면 “내 소식 알려줘”하고 말을 걸어보세요. 카카오 미니가 꾹꾹 갖고 있던 새로운 소식을 전해줄 거예요.
▪ 아무말 대잔치에서 탄생한 서비스 네임, “내 소식"
사실 이번 프로젝트는 생각보다 쉽지 않았어요. ‘내 소식’ 이라는 서비스명을 정하는 것부터 어려웠으니까요. 처음에는 ‘알림 센터’처럼 누구나 아는 단어를 쓰고 싶었는데, 아침에 나를 깨워주는 ‘알람’과 내가 구독한 정보가 오는 ‘알림’을 사용자들이 잘 구분할 수 있을지 걱정스러웠어요. 그래서 프로젝트 멤버들과 아무말 대잔치를 하며 서비스명 고르기에 재미를 붙였습니다. 결국, 기존의 ‘알람'과 발화 구분이 되면서도 이 기능을 쉽게 표현할 수 있는 단어로 수많은 후보 중에 ‘내 소식’을 선택했습니다.
▪ 서비스 운영 효율까지 높인 “내 소식” 기술 구현
기술적으로는 내 소식 서비스 운영의 효율성을 높이고자 했는데요. 내소식 서비스를 구현하다보니 도메인(카톡, 카카오홈, 날씨 등) 별로 알림 발송 대상이나 장치의 선별 방식, 발송하고자 하는 내용, 알림 발송 시각(정각 발송 또는 예약 발송) 등 요구사항들에 대해 상이한 점이 있어서 어려웠어요. 그래서 도메인의 입주(추가?)에 따른 Dependency가 발생하지 않도록 도메인과 클라이언트 장치 간의 상호 동작을 위한 인터페이스를 정의하여 이를 해결했어요. 그리고 내소식 알림을 생성하고, 사용자의 스피커에 도달하기까지 대량의 작업이 최대한 실시간으로 이루어지도록 구현해야 했습니다.
내 소식을 통해 대량의 알림 발송 작업이 한 번에 유입 되었을 때, 이를 처리하기 위해 Background Job 1을 생성했습니다. 여러 개의 작업을 선입선출(Queue)하는 방식으로 진행하며, 백그라운드 작업 시간을 보다 쉽게 설정 가능하도록 지원하는 Background Job Scheduler로서 'Sidekiq'을 활용했습니다.
해당하는 도메인의 요청을 받아 대상자가 가진 여러 개의 디바이스 중 어느 디바이스를 타겟팅할지 선별하고, 알림 아이템의 생성과 발송하는 일련의 프로세스를 최적화했습니다. 또한, Background Job이 실행될 시간을 지정하여 설정된 알림 예약 시간에 발송하고, 카톡 메시지의 수신을 확인하는 Polling 방법 2을 이용했어요.
알림을 조회하는 시점에 새로운 알림 아이템 목록을 탐색하기 위해 사용자의 알림 조회 요청과 함께 현재 읽지 않은 알림 아이템에 대한 토큰을 발급 보관했습니다. 사용자의 스피커 음성명령 대화를 방해하지 않기 위해 디바이스 클라이언트의 마이크가 닫혀있고 음성 안내가 재생되지 않는 상태 조건을 충족할 때, 클라이언트로부터 Event 받도록 구독하고, 이벤트 발생 시점에 알림센터의 각 도메인이 정의한 세부 동작을 수행합니다. 세부 동작은 음성 안내를 재생하거나 클라이언트가 사용자 발화와 같은 명령어를 발생시키면 해당 도메인의 봇 동작을 수행하도록 정의했어요.
안 읽은 알림의 토큰 목록은 현재 진행 중인 알림 아이템에 대한 정보를 제공하지 않아요. 때문에 카카오 i 봇 플랫폼 기능 중 하나인 Conversation context 정보를 이용했습니다. 이를 통해 현재 진행 중인 알림센터 토큰 정보를 바탕으로 사용자의 '이전/다음' 알림 조회 요청의 수행이 가능해졌어요.
마치며
‘내 소식’ 기능의 탄생 비화, 재미있게 읽으셨나요? 아직까지는 “카톡이 도착했어요" 또는 “내일 판교에 비가와요" 와 같은 알림만 전하고 있지만, 점점 다양한 기능으로 풍성하게 확장해나갈 계획이랍니다.
서로의 관심사가 다른 만큼, 많은 이들의 다양한 니즈를 만족할 수 있도록 구독 도메인도 다각도로 늘려갈 예정이랍니다.
앗! 그리고 이건 비밀인데요. 내 소식을 구독한 사용자에게 카카오 미니의 깜짝 생일 이벤트가 준비되어 있답니다. 지금 ‘내 소식’을 구독하고 내 생일을 기대해보세요.😘
마지막으로! 글을 읽다 보니, 지금 바로 내 소식을 카톡알람으로 설정하고 싶지 않으신가요?
서비스 이용 방법에 대해 더 자세히 알고 싶다면, 헤이카카오 공식 블로그를 읽어봐 주세요 :) 감사합니다.
댓글