AI UX를 설계하며 처음 알게 된 것들

AI 기능을 제품에 적용하며 겪은 시행착오와 UX 설계 고민

by 정우진

요즘 서비스들을 보면 거의 모든 기능에 ‘AI’라는 이름이 붙어 있다. 추천에도 AI, 검색에도 AI, 작성에도 AI. 어느새 AI는 특별한 기술이라기보다 제품에 기본적으로 들어가는 기능처럼 느껴진다. 내가 다니던 회사 역시 AI에 꽤 친화적인 환경이었다. 제품에 AI 기능을 넣기 위한 시도를 오래전부터 해왔고, 자연스럽게 나도 그 흐름 속에서 여러 AI 기능을 만들게 되었다.


시작 시점도 꽤 흥미롭다. ChatGPT가 GPT-3 모델을 공개하고, NVIDIA의 주가가 급격히 오르기 시작하던 시기였다. 지금처럼 AI가 제품 곳곳에 자연스럽게 들어가기 전부터 우리는 AI 기능을 제품 안에 넣기 시작했고 그 과정에서 꽤 많은 시행착오를 겪었다. 어떤 기능은 사용자들의 작업 시간을 크게 줄여주었고, 어떤 기능은 기대만큼 사용되지 않았다. 그래서 이 글에서는 지난 1년 반 동안 AI 기능을 만들며 느꼈던 것들을 정리해보려고 한다.




AI 기능은 어떤 문제를 해결해야 할까?


사용자들이 AI를 주로 사용하는 순간은 크게 두 가지였다. 하나는 반복적으로 수행하는 작업을 줄이고 싶을 때였다. 예를 들어 반복적인 데이터 정리, 반복적인 문장 작성, 반복적인 검수 작업 사람이 하기에 꼭 필요하지만 계속 반복하면 피로해지는 작업들이다. 젠슨황은 AI에 대해 이렇게 말한 적이 있다. “AI는 직업을 대체하는 것이 아니라 과업(Task)을 자동화한다.” 이 말을 제품을 만들면서 여러 번 떠올리게 됐다. AI 기능이 잘 작동했던 순간은 대부분 사람이 하기 지겨운 작업 하나를 줄여줬을 때였다.


또 하나의 경우도 있었다. 사용자가 어떤 의도를 가지고 질문하거나 생각을 확장하고 싶을 때였다. 예를 들어아이디어를 떠올리고 싶을 때, 리서치를 시작할 때, 초안을 빠르게 만들어보고 싶을 때 이런 상황에서는 AI가 정답을 제공하기보다 사용자의 생각을 확장해 주는 도구처럼 사용되었다. 제품에 AI 기능을 넣기 시작하면서이 두 가지 사용 방식이 생각보다 다른 설계 방식을 필요로 한다는 것을 알게 되었고 어떤 형태로 제공할지에 대해 자연스럽게 고민하게 되었다.




AI 기능을 어떤 형태로 제공하는 것이 좋을까?


AI 기능을 만들면서 또 하나 고민했던 것은 이 기능을 어떤 형태로 제공할 것인가였다. AI 기능은 보통 두 가지 방식으로 구현된다.

대화형 인터페이스

버튼형(기능형) 인터페이스

대화형과 버튼형 예시이미지

둘 중 어떤 방식이 정답이라고 보기는 어렵다. 기능의 목적과 사용자의 특성, 그리고 사용 맥락에 따라 더 적합한 방식이 달라질 수 있기 때문이다.


다만, AI 기능을 설계할 때는 채팅형 인터페이스와 버튼형 인터페이스 각각에서 다르게 고민해야 할 지점들이 있었다. 버튼형 기능에서는 결과 구조를 정의하기 위한 데이터 설계가 중요했다면, 대화형 인터페이스에서는 사용자의 의도와 대화 맥락을 이해할 수 있도록 데이터 흐름을 설계하는 일이 더 중요했다.


버튼형 인터페이스를 설계할 때는 사용자가 버튼을 눌렀을 때 어떤 데이터를 기준으로 분석이 이루어지는지, 그리고 그 결과가 어떤 단위로 저장되고 다시 활용될 수 있는지를 미리 설계해 두는 것이 중요했다. 제품과 AI가 일정한 기준에 따라 결과를 만들어내기 때문에 기능의 기준과 결과 구조를 먼저 정의하는 작업이 필요했다.


반대로 대화형 인터페이스를 설계할 때는 사용자의 의도를 어떻게 이해하고 대화를 통해 맥락을 어떻게 확장할 것인지가 더 중요했다. 사용자의 질문이 계속 바뀔 수 있기 때문에 대화의 흐름을 어떻게 유지할 것인지, 그리고 이전 맥락을 어떻게 이어갈 것인지에 대한 고민이 필요했다.


그래서 AI 기능을 설계할 때 중요한 것은 단순히 채팅형이냐 버튼형이냐를 선택하는 것이 아니라 기능의 목적에 맞게 어떤 방식이 더 자연스럽게 작동하는지 판단하고 그에 맞는 설계 기준을 만들어야 한다.


이 두 가지 방식을 완전히 나누기보다는 상황에 따라 적절히 혼합해서 사용하는 경우도 많다. 예를 들어 기본 기능 실행은 버튼형으로 제공하고, 세부 조정이나 확장은 대화를 통해 진행하도록 하거나 반대로 대화를 통해 요청을 시작하고 결과는 버튼형 기능처럼 정리해 제공하는 방식도 가능하다.


실제로 기능을 만들면서 인터페이스 선택 외에도 미리 고민했으면 좋았을 지점들이 더 있었다. 그래서 아래에서는 AI 기능을 설계하면서 미리 고려해 두면 좋았겠다고 느꼈던 UX적인 포인트들을 정리해보려고 한다.




AI UX를 설계할 때 미리 고려하면 좋았을 점이라고 생각한 것들


1. 통제감

AI 기능은 결과가 항상 정확하지 않다. 그래서 UX에서는 사용자의 통제감이 중요하다. 사용자는 결과를 수정할 수 있어야 하고 다시 시도할 수 있어야 하며 이전 상태로 되돌릴 수 있어야 한다. 이 부분은 닐슨 앤 노먼에서도 UX 설계에서 중요한 원칙으로 이야기되는 부분이다.


이걸 강하게 느꼈던 경험이 있는데 우리가 만들었던 기능 중 하나는 IDE에서 AI가 코드의 문제를 찾아 자동으로 수정까지 적용해 주는 기능이었다. 처음에는 꽤 좋은 아이디어라고 생각했다. AI가 문제를 찾아 바로 수정해 주면 작업 속도가 훨씬 빨라질 것이라고 기대했다. 딸깍 한 번으로 해결되는 방식이 더 쉬운 UX가 아닐까라고 생각했다.사용자의 추가 행동이 필요 없기 때문에 인터랙션의 뎁스를 줄이는 것이오히려 더 유리하다고 생각했기 때문이다.


하지만 개발자들의 반응은 예상과 달랐다. “자동 적용은 좀 무섭다.” “이 방식이면 아마 사용하지 않을 것 같다.” AI가 코드를 수정하는 것에 대한 이점보다 내 코드가 언제 어떻게 바뀌는지 내가 모른다는 점, 틀린 정보로 바뀔 수 있다는 점이 더 불편했던 것이다. 그래서 기능을 다시 설계하여, AI가 수정 사항을 바로 적용하는 방식이 아니라 수정 제안을 먼저 보여주고 사용자가 선택하도록 바꾸었다. 그러자 반응이 훨씬 좋아졌다.


이 경험을 통해 배운 것은 단순했다. 사용자들은 AI에게 모든 것을 맡기고 싶어 하지는 않는다는 것, 그리고 아직은 AI를 완전히 신뢰하지 않는 영역들이 분명히 존재한다는 것이었다.


어쩌면 이것은 기계에게 판단을 완전히 맡기고 싶지 않은 인간의 심리일지도 모른다는 생각이 들었다. AI 기능을 설계할 때는 사용자가 통제할 수 있도록 설계하는 것이 필요하지 않은지 고려해 보았으면 좋겠다.



2. 로딩에 대한 경험

AI 기능을 만들면서 또 하나 중요하게 느꼈던 것은 로딩 경험이었다. AI 기능은 데이터가 많아질수록 결과를 생성하는 시간이 길어질 수 있다. 이 시간은 사용자에게 단순한 기다림이 아니라 오류처럼 보이는 경험이 되기도 한다.


실제로 디자인 회고나 네트워킹 자리에서도 “사용자가 기다리다가 그냥 이탈해 버린다” " 이렇게 오래 걸리는데 쓸지 잘 모르겠다" 같은 고민을 자주 들을 수 있었다. 나 역시 비슷한 고민을 많이 했다.


그래서 AI 기능을 만들 때에는 사용자가 이 기다림을 어떻게 경험하게 할 것인가를 더 고민하게 되었다. 그래서 이 문제를 어떻게 풀 수 있을지 고민하면서 내가 생각한 해결 방법은 다음과 같다.


작업에 따라 기능 단위를 나눈다

특히 AI 기능에서는 기능의 목적과 대상에 따라 속도를 다르게 설계해야 한다고 생각했다. 예를 들어 작업 특성상 빠르게 확인해야 하는 기능이라면 분석 단위를 작게 나누어 즉시 결과를 보여주는 방식이 더 적합하다. 반대로 시간이 조금 걸리더라도 깊이 있는 분석이 필요한 기능이라면 전체 데이터를 기반으로 결과를 생성하는 방식이 더 자연스러울 수 있다.


이 점을 가장 크게 느꼈던 경험이 UX 라이팅 검수용 Figma 플러그인을 만들 때였다. 디자이너가 만든 화면의 텍스트를 분석하고 문장을 검수해 주는 AI 기능이었다. 처음에는 페이지 전체를 분석하도록 설계했다. 하지만 페이지 단위로 분석하면 처리 시간이 꽤 길어졌다.

실제 디자이너의 작업 방식을 보았을 때 디자인을 완성한 뒤 한 번에 검수하기보다는 작업 중간중간 빠르게 확인하기 위해 사용하는 니즈가 더 많았다. 그래서 검수 단위를 페이지 단위가 아니라 컴포넌트 단위로 나누었다. 그 결과 처리 속도가 훨씬 빨라졌고 디자이너의 작업 흐름에도 자연스럽게 맞게 되었다.


작업 단위를 어떻게 설계하느냐에 따라 사용자가 경험하는 로딩 시간이 달라질 수 있다는 것도 알게 되었다.그래서 AI 기능을 설계할 때 작업 단위를 어떻게 나눌 것인지 역시 중요한 설계 요소라고 느꼈다.


시간이 오래 걸리는 작업이라면 사용자가 기다리지 않아도 되도록 만든다.

분석 시간이 길어지는 작업이라면 사용자가 화면을 떠나더라도 작업이 계속 진행되도록 하고 작업이 끝났을 때 결과를 확인할 수 있게 만드는 방식이다. 대신 사용자에게 작업이 언제쯤 끝나는지에 대한 안내를 함께 제공하는 것이 중요하다고 느꼈다. 그래야 사용자가 결과를 기다려야 하는지 다른 작업을 해도 되는지 판단할 수 있기 때문이다.


로딩 자체를 하나의 인터랙션으로 설계한다.

특히 AI 기능에서는 로딩이 단순한 대기 시간이 아니라 사용자가 작업 과정을 이해하는 시간으로 작동하기도 한다. 예를 들어 대화형 인터페이스라면 AI가 답변을 생성하는 과정을 메시지 흐름 속에서 자연스럽게 보여줄 수 있고 버튼형 기능이라면 분석 단계나 처리 과정을 단계적으로 보여주는 방식, 소요 시간을 보여주는 방식도 도움이 될 수 있다.

로딩 중 예시이미지

이렇게 로딩 경험을 설계하면 사용자는 단순히 기다리고 있다는 느낌보다는 작업이 진행되고 있다는 느낌을 받을 수 있었다. 물론 이런 방식들이 정답이라고 생각하지는 않는다. 제품의 특성과 기능의 목적에 따라 더 적합한 방식은 달라질 수 있기 때문이다. 다만 AI 기능에서는 로딩 자체를 하나의 인터랙션으로 설계하는 관점이 필요하다.


닐슨 앤 노먼 그룹에서도 사용자가 기다리는 상황에서는 현재 시스템 상태를 명확하게 보여주는 것이 사용자 경험에서 중요한 원칙이라고 설명한다. AI 기능은 특히 기능의 소요 시간에 따라 사용자가 느끼는 경험이 크게 달라질 수 있다.그래서 기능을 설계할 때는 단순히 로딩 시간을 줄이는 것뿐 아니라 사용자가 지금 어떤 일이 일어나고 있는지 이해할 수 있는 경험을 어떻게 만들 것인지 함께 고민하는 것이 중요하다고 느꼈다.






지난 1년 반 동안 AI 기능을 만들면서 팀에서 가장 많이 했던 말이 있다.

“어떻게 나올지 모르니까 일단 테스트해 보자.”

AI 기능은 기존 기능과 다르게 결과를 완전히 예측하기 어렵다. 그래서 기획 → 구현 → 출시로 끝나는 방식보다, 기획 → 테스트 → 조정 → 테스트 → 개선 이 과정이 일반 기능보다 더 많이 이루어졌을 때 의도한 기능이 만들어진다고 느꼈다.


AI UX의 핵심은 모델이 아니라 사람의 작업 방식이라고 생각한다. AI는 사람을 대체하기보다는 사람이 하기 지겨운 과업을 덜어주는 도구에 가깝다. 그 사람이 어떤 일을 하고 있는지, 어떤 순간에 도움을 필요로 하는지, 어떤 판단은 스스로 하고 싶어 하는지 등 이런 사람의 작업 방식을 이해할 때 AI 기능을 조금 더 자연스럽게 작동하기 시킬 수 있었다. 앞으로도 더 많은 시행착오를 겪겠지만 사람이 더 잘 일할 수 있도록 돕는 구조를 만들기 위해 AI를 제품 안에서 더 잘 사용할 수 있는 방법을 계속 고민해보고 싶다.


다만 지금까지 이야기한 내용들은 내가 경험하면서 느꼈던 일부의 생각들일 뿐, 정답이라고 말할 수는 없을 것 같다. AI UX는 이제 막 만들어지고 있는 영역이기 때문에 앞으로도 다양한 방식의 설계가 계속 등장할 것이라고 생각한다. 그래서 다른 제품에서는 AI 기능을 어떤 방식으로 설계하고 있는지도 궁금하다.각자의 제품과 사용자 맥락 속에서 어떤 고민을 하고 있는지 다양한 경험들이 더 많이 공유되면 좋겠다.

작가의 이전글나는 지금, 어떤 프로덕트 디자이너인가