아무리 훌륭한 기술이라도 좋은 사용자 경험을 만나야 그 가치가 빛난다.
이 글은 매우 'AI 기술과 커뮤니케이션 가능한 UX구현'이라는 접근법이 아직 미성숙 시도 단계라서 매우 하이레벨입니다. 사실 이 개념이 먼저 이해되고 동의 되어야 실제 업무에서의 예를 설명하는것이 가치 전환이 되는 부분이라 이번글에서는 구체적인 사례를 언급하지는 않았습니다.
20년 전 영화 ‘마이너리티 리포트’에서 톰 크루즈가 제스처를 통해 데이터를 병합하고 AI 기술의 도움으로 범죄를 예방한다는 이야기 전개는 그저 모든 것이 상상 속에서나 이루어진다고 믿었습니다. 그런데 요즘의 기술 트렌드를 보면 그 AI가 세상의 모든 것을 끌어당기고 (가끔 ‘먹어치운다’는 험한 표현을 사용하기도 하죠) 있는 상황입니다. 현재 대부분의 테크놀로지 기업이나 교육 기관에서 어떤 상품이나 기술의 부가 가치를 설명하기 위해 AI를 과할 정도로 많이 사용되고 있는 것도 사실입니다.
여기에서 우리는 IT 프로덕트/서비스 제공자의 입장이 아닌 소비자 입장에서 몇 가지 근본적인 질문을 할 필요가 있습니다. 물론 질문을 던지는 이유는 그 현상을 좀 더 명확하게 이해하고 효과적인 해결방법을 찾는 데 있습니다.
예를 들어 이런 쉬운 질문들입니다.
AI가 실제로 사용자에게 의미하는 바는 무엇인가?
사용자는 언제 AI 기술이 유용하다고 느낄까?
위의 두 개의 질문에 대한 대답은 의외로 쉽습니다. 사용자는 프로덕트/서비스가 이전보다 더 많은 작업을 수행하면서 더 나은 결과를 얻도록 도와줄 때 그 서비스에서 동작하는 AI 기술이 의미가 있다고 판단을 합니다. 바로 다음 질문을 함께 생각해 보시죠.
그렇게 하려면 무엇을 어떻게 해야 할까요?
이 질문에 답을 위해서 우리는 먼저 AI 기술을 상상해 볼 수 있어야 합니다. 그리고 그 기술이 현재 사용하거나 내가 만들고자 하는 프로덕트/서비스 시스템에서 어떻게 그리고 무엇을 기여할 수 있는지를 심각하게 고려해 봐야 합니다. 오늘의 주제는 사용자가 그 AI 기술이 유용하다고 느낄 수 있는 UX시스템을 디자인하는 방법을 이야기하고자 합니다.
무엇보다 먼저 사용자 입장에서는 현재 수작업으로 하고 있는 수많은 작업들이 줄어들거나 없어지기를 원합니다. AI 기술을 채택했음에도 내 작업의 양과 시간에서 혜택을 보지 못한다면, 그 기술의 필요성에 대하여 의문이 생기는 것은 당연한 일입니다. AI 기술을 사용했다면, 대부분의 작업이 더 이상 수작업이 아닌 자동으로 처리되기를 원하죠. 즉 다음과 같이 세 단계로 나누어 처리되는 프로덕트/서비스 시스템이 실행된다면 AI 기술을 충분히 누리고 필요하다고 느낄 겁니다.
1. 일상적인 작업을 자동화합니다. 사용자가 그 해당 작업을 수행할 필요가 없도록 합니다.
2. 증강된 상황 정보를 제공하고 무엇을 해야 하는지 가이드합니다. 즉 상황에 따른 인사이트를 제공하고, 주의가 필요한 부분에 대해서 통지하고, 결정을 도와주는 관련 콘텍스트 정보를 제공하고, 다음 스텝으로 진행하기 위한 방법 제안을 하고, 또한 이러한 제안을 하는 이유 설명을 합니다.
3. 사용자가 자연어를 사용하여 상호 작용할 수 있도록 하면 사용자에게는 이 프로덕트/서비스 가 지능형으로 인식되고, 더 빠르고 쉽게 커뮤니케이션할 수 있습니다. 예를 들어, 앱 처음으로 이동하여 검색하는 것보다 "제품 ABCD에 대한 주문 상황을 표시해 줘"라고 자연어로 요청하는 것이 훨씬 빠릅니다.
즉, 자동화라는 솔루션 만이 프로덕트/서비스 내의 AI 기술이 제공하는 유일한 방법은 아닙니다.
자동화라는 부분은 사용자에게 눈에 보이고 확인되는 부분이 아닙니다. 즉 자동화의 결과도 눈에 보여지고, 설명되어야 하며, 자동화 진행 도중 멈추거나, 문제가 있으면 그 현상과 사실을 보여주는 것도 UI를 통하여 사용자 경험이 커뮤니케이션되어야 합니다. 이 부분에 적절한 UX가 적용되지 않으면, AI 기술이라는 것이 반쪽짜리 기술로 밖에 동작하지 않게 됩니다. 우리가 생각할 수 있는 매우 정상적인 경우, 즉 자동화가 가능한 경우에는 자동화를 수행해야 하지만, 자동화가 불가능한 경우나 장애 상황에서는 사전 예방적 정보, 권장 사항 및 의사 결정 지원과 함께 설명을 제공할 수 있어야 합니다. 아래 그림을 참고하여 주십시오.
수많은 사용자 피드백 데이터와 학습 내용을 기반으로 수작업의 자동화가 이루어지고 그에 맞는 프로덕트/서비스 시스템의 AI 서비스 양이 증가하고 그에 따라 사람이 직접 투입되는 수작업의 양이 급격하게 줄어들게 됩니다. AI가 학습량이 많아질수록, 전체적인 업무량과 품질은 프로덕트/서비스 시스템에서 증가함이 나타날 때, 사용자는 AI가 의미 있는 기술이고 좋은 선택이라고 인식을 하게 됩니다.
개발자는 사용자의 필요성과 요청사항을 이해하는 것이 무엇보다 중요합니다. 사용자의 필요성에 대한 이해가 충분하다면 개발자는 다음과 같은 질문을 해 봐야 합니다.
어떤 일상적인 작업을 어떻게 자동화할 수 있는가?
어떤 시점에 사용자에게 증강된 상황정보(augmented information)를 어떤 방법으로 제공할 것인가?
상황정보를 제공할 때, 어떤 상황 별 정보가 필요한지, 그 정보와 함께 제안이나 추천도 제공할 것인가?
또한 중요한 점은 이런 사용자 경험에서 일관성 (Consistency)이 있어야 합니다. 사용자가 한 애플리케이션에서 특정 작업에 대한 상황 별 정보와 제안을 받는다면 다른 애플리케이션에서 유사한 작업에 대한 정보를 받을 때도 동일한 사용자 경험이 제공되어야 합니다. 즉 동일한 애플리케이션 내의 업무 프로세스에서뿐만이 아닌, 큰 프로덕트 패키지의 다른 애플리케이션에서도 유사한 작업에 따라 일관성을 갖는 UX시스템을 갖는 것은 매우 중요합니다.
좋은 UX라면 사용자 인터랙션에서 뿐만 아니라 결과에 따라 사용자를 안내하는 방법도 일관성을 보장하는 위한 설계 패턴을 가져야 하는 이유입니다.
좋은 UX라면 항상 인간 중심(Human Centered), 인간성 중심(Humanity Centered)의 AI 접근법을 따라야 합니다. 이것은 사용자의 요구를 아주 넓게 전체적으로 봐야 한다는 것을 의미하며, 기능적인 통찰력(functional insights) 제공, 상황 가이드(guidance)뿐만이 아니라, 신뢰 구축(building trust)이라는 면을 중요하게 생각해야 합니다.
사용자에게 현재 상황을 가이드하는 전통적인 방법은 일반 UI 및 대화형 UI(예: 챗봇)를 통해 제공될 수 있습니다. 그런데 이 전통적인 커뮤니케이션 방법에 AI 기술이 적용되면, 다음과 같은 3가지의 특성이 추가된 형태로 발전합니다.
1. 예측(Predictive): UX시스템은 과거 데이터를 분석하고 예보(forecast) 또는 예측(prediction)을 할 수 있습니다. 혹시라도 예보와 예측을 명확히 구별하기 원하시는 분들을 위해서 추가 설명을 해 봅니다.
· 예보 Forecast: 과거 사건의 데이터(historical data)를 미래 사건 결과를 얻기 위해 최근의 경향과 결합하여 사용하는 계산 또는 추정을 말합니다. (‘일기예보’라고 하는 좋은 예가 있습니다.)
· 예측 Prediction: 사전 정보가 이용하던지 안 하든지에 상관없이 미래에 어떤 일이 일어날 것임을 나타내는 실제 행위(actual act)입니다.
· 비슷한 정의를 하는 단어 중에 추정 Estimation 이 있습니다. 추정이라 함은 현재 보이는 실제 상태를 최적화하는 과정을 말합니다. (‘가격 견적’을 말할 때 쓰는 단어가 ‘Price Estimation’ 이 되지요. 지금 전체 가격은 잘 모르지만 부품 가격을 모아가면서 전체를 만드는 과정이 추정 Estimation이 됩니다.)
· 모든 예보 Forecast는 예측 Prediction이 되지만, 모든 예측이 예보는 아닙니다.
2. 상황주도 (Proactive): 사용자가 프로덕트/서비스에서 수행하는 태스크와 관련된 인사이트를 제공합니다. 즉, 현재 수행 태스크와 관련된 데이터를 분석하고 가장 잘 진행하는 방법에 대한 지침이나 제안을 주도적으로 제공합니다.
3. 대응(Reactive): 예상치 못한 상황 이벤트가 발생했을 때 사용자를 안내하고 상황에 대처하기 위한 옵션을 제안하여 사용자가 대응할 수 있도록 지원합니다.
이런 상황에 사용자를 안내하기 위한 UX패턴을 찾고 그것을 계열화하여 전체적인 UX 커뮤니케이션 시스템을 갖추는 것이 중요합니다. 이것을 ‘상황처리 프레임워크’라고 하는데 설명해 보도록 하겠습니다.
상황 처리는 AI 자동화 태스크 수행 중에 발생하는 여러 패턴의 상황을 하나의 큰 패턴으로 통합하여 처리하는 접근 방식입니다. 예를 들어 구독 계약이 만료된다던지, 공급업체로부터 시기에 맞춰 납품이 되지 않는다던지, 자동화 과정 중에 어떤 프로세스에서 멈춰있다던지 등의 상황을 예로 들 수 있습니다.
상황 처리에는 상황에 대한 사전 통보, 대처 방법에 대한 제안 및 권고, 상황 자체에 대한 설명 및 권고 설명이 포함됩니다. 상황은 과거 데이터를 기반으로 한 예측(predictive)이나 사전 주도적(proactive)으로 학습된 인사이트를 통해서 또는 외부 트리거에 대한 대응(Reactive)을 통해 시작됩니다. 상황 처리 프레임워크는 과거에 사용자에게 제공한 권장사항이 얼마나 도움이 되었는지를 나타내는 피드백 메커니즘을 참고하고 실제로 선택되었던 권장 사항을 순위에 넣는 작업을 하기도 합니다.
알림 통지는 사용자에게 주의가 필요한 사항이 있음을 사전 주도적(Proactive)으로 알려주는 프로세스입니다. 이는 어떤 통찰력(Insights)에 의해 트리거 되거나 외부 트리거에 따라 대응(Reactive) 실행됩니다. 일반적으로 알림은 프로덕트/서비스의 알림 센터를 통해서도 전체적으로 통지가 가능하지만 목록 또는 오브젝트 페이지의 어떤 표시기(indicator)를 통해 특정 개체에 문제가 있거나 주의가 필요함을 나타낼 때 사용합니다.
주어진 작업 또는 상황에 가장 잘 대처하는 방법을 실제로 사용자에게 안내하기 위한 패턴이 됩니다. 제안에는 크게 다음과 같은 세 가지 패턴이 존재합니다.
• 권장/추천 사항 Recommendation: 어떻게 진행하면 되는지 권장 태스크 등을 제시해 줍니다.
• 순위 Ranking: 어떤 항목이 가장 중요한지 또는 어떤 조치를 취해야 하는지, 어떤 항목이 덜 중요한지를 나타냅니다. 예를 들어, 잠재 고객 리스트를 제공할 때, 가장 가능성이 높은 고객 순으로 리스트를 보여주면 사용자가 상대적으로 가능성이 낮은 고객에 집중하여 시간을 낭비하는 일을 피할 수 있습니다.
• 일치 Matching: 특정 항목이 다른 항목(예: 이 송장과 어떤 결제내역이 일치하는지)과 가장 일치함을 나타낼 수 있습니다. 이 작업은 자동화 프로세스 중에 불일치가 있을 경우 시스템에서 가장 가능성이 높은 가능성의 일치되는 항목을 제안할 수 있으므로 사용자에게 보다 높은 생산성으로 안내할 수 있습니다. 이것은 특별한 종류의 권장/추천 사항 recommendation으로 볼 수 있습니다.
이 패턴은 예측 Predictions과 예보 Forecasts을 포함합니다. 예보는 다음 달에 대한 예보정보가 포함된 차트 같은 개체에서 시각화를 이용하여 제공할 수 있습니다. 예측은 사용자에게 무엇이 부족하거나 실패하여 교체해야 하는 시기를 알리는 데 사용될 수 있습니다. 이 두 가지 모두 사용자 안내 가이드Guidance를 제공하는 강력한 방법이 됩니다.
현상에 대한 명확한 설명은 사용자와의 신뢰 구축의 핵심이 됩니다. UX시스템은 어떤 문제에 대해 사용자에게 알리는 이유를 설명하며, 특히 어떤 제안을 하는지를 명확하게 설명해야 합니다. 특히 이 부분이 중요한 지점은 사용자가 의사결정을 할 때 시스템이 제공하는 지침을 따르는 것이 올바른 결정을 내리고 있다는 확신을 가져야 하기 때문입니다. 단순히 시스템이 제공하는 조언을 받아들이고 난 후 상황이 더욱 힘들어지고, 잘못되는 것은 신뢰 구축의 큰 해가 됩니다.
피드백은 사용자가 이 안내 지침이 얼마나 유용한지를 사용자에게 적극적으로 알림으로 AI 인사이트가 사용자의 업무에 기여하고 있음을 느낄 수 있도록 합니다. 또한 UX시스템에게는 사용자가 어떤 피드백은 따르고, 따르지 않는지를 학습할 수 있도록 하여 향후 안내 지침을 개선 하는AI 학습용 데이터로 사용할 수 있습니다.
위의 그림 2에서 나타난 바와 같이 AI 자동화와 AI증강 및 가이드는 매우 분리되어 보이지만 실제로는 서로 깊은 관계성을 유지해야 그 효율성이 높아집니다.
예를 들면, 어떤 태스크가 자동화 작업이 진행되는 도중에 오류가 발생을 하면, 알림을 사용하여 사용자에게 그 오류 발생을 알립니다. 상황처리 프레임워크로 통보가 되면 프레임 워크는 오류 발생을 표시하고, 가능한 제안을 찾아서 제공합니다. 이 제안은 사용자가 주요 추천/권장 사항을 수용하는 경우, UX시스템은 향후 이러한 결정을 자동화할 것을 자동화 프로세스에 입력으로 제공할 수 있습니다. AI자동화에 대한 설명을 제공하는 것도 중요합니다. 즉, 자동화 결과를 표시할 뿐만 아니라, 오류가 발생한 경우 무엇이 잘못되었는지 설명하는 것입니다. 마지막으로, 피드백을 사용하여 자동화 규칙을 발전, 조정하기 위한 입력으로 사용할 수 있습니다.
AI 기술은 여러 면에서 우리를 편하게 만들어 줄 것이라는 믿음이 있습니다. 그 믿음이 현실화되려면, 그것을 보여주고, 해결하는 과정을 설명하는 고급 사용자 경험이 적용되어야 합니다. 설명되지 않는 AI는 불신과 공포감을 만들 수 있고, 그것을 표현해 내는 UX/UI가 불편하면, AI 기술을 과소평가하게 되고 활성화에 한계를 만들 것입니다. 그런 면에서 AI 기술을 적용한 프로덕트/서비스 내에서 그 기술과 제대로 커뮤니케이션할 수 있는 UX 디자인 시스템을 갖는 것은 매우 중요합니다. 발생하는 이벤트에 맞추어, 예측, 상황 주도적으로 반응하여 문제를 자동으로 감지, 추적 및 알려주는 상황처리 프레임워크를 준비하고, 이러한 상황 관련 데이터를 제공할 수 있어야 합니다. 최적의 의사 결정을 내릴 수 있도록 인사이트와 학습된 제안을 제공할 수도 있어야 합니다. AI 기술이 유용하게 사용되고 진화되려면, 제대로 커뮤니케이션이 가능한 UX 시스템을 갖추는 것이 반드시 필요합니다.
맨 처음에서 말씀드린바와 같이 이 접근법은 아직 성숙되어야 하는 부분이 많기에 제 글이 하이레벨임을 알려드렸습니다. 업무에서의 실제 예는 글에 대한 여러분들의 반응을 보면서 그것에 맞는 예를 찾아 설명드리는것이 좋을 것같아 남겨두었습니다.
늘 여러분들의 열정에 응원의 박수를 보냅니다.