<aside> ✍️ 핵심 요약

이번 챕터에서는 다음 내용을 다룸

  1. "Error (오류)"와 "Failure (실패)" 정의 : 확률적 동적 시스템을 다룰 때 사용자는 시스템이 의도한 대로 작동하는 상황에서 에러를 인식할 수 있으며, Product가 진행 중인 작업임을 인정하면 디자이너와 엔지니어가 AI를 계속 개선하는 데 필요한 채택 및 피드백을 장려하는 데 도움이 될 수 있음
  2. 에러 원인의 식별 : AI 기반 시스템의 고유한 복잡성으로 인해 에러의 원인을 식별하기 어려울 수 있으며, 에러를 발견하고 소스를 식별하는 방법을 팀으로 논의하는 것이 중요함
  3. 실패로부터의 경로 제공 : 요점은 실패를 피하는 것이 아니라 그 실패를 찾아 나머지 Product와 마찬가지로 사용자 중심으로 만드는 것. 제대로 작동하는 시스템을 보장하기 위해 아무리 노력해도 AI는 본질적으로 확률적이며 모든 시스템과 마찬가지로 어느 시점에서 실패할 수 있음. 이런 일이 발생하면 Product는 사용자가 작업을 계속하고 AI를 개선할 수 있는 방법을 제공해야 함 </aside>

사용자는 Product와 상호 작용할 때 개발 과정에서 예측할 수 없는 방식으로 Product를 테스트합니다. 오해, 잘못된 시작, 부적절한 행동이 발생할 수 있으므로 이러한 경우를 위한 설계는 모든 사용자 중심 Product의 핵심 구성 요소입니다. **에러는 기회이기도 합니다. 테스트를 통해 더 빠른 학습을 지원하고 올바른 Mental model을 설정하는 데 도움을 주며 사용자가 피드백을 제공하도록 장려**할 수 있습니다. AI 기반 시스템에서 에러를 해결하기 위한 주요 고려 사항은 다음과 같습니다.

  1. "Error (오류)"와 "Failure (실패)" 정의 : 사용자가 에러라고 생각하는 것은 AI 시스템에 대한 사용자의 기대와 깊은 관련이 있음. 예를 들어 60%의 시간 동안 유용한 추천 시스템은 사용자와 시스템의 목적에 따라 실패 또는 성공으로 보일 수 있음. 이러한 상호 작용을 처리하는 방법은 Mental model을 설정 및 수정하고 사용자 신뢰를 조정해야 함
  2. 에러 원인의 식별 : AI 시스템을 사용하면 에러가 여러 곳에서 발생할 수 있고 식별하는 것이 더 어려우며 사용자와 시스템 작성자에게 직관적이지 않은 방식으로 나타날 수 있음
  3. 실패로부터의 경로 제공 : AI 기능은 시간이 지남에 따라 변경될 수 있음. 사용자가 발생하는 에러에 대응하여 조치를 취할 수 있는 경로를 생성하면 시스템에 대한 인내심이 높아지고 사용자-AI 관계가 계속 유지되며 전반적으로 더 나은 경험을 지원함

1. “Error (오류)”와 “Failure (실패)” 정의

**AI를 Product에 통합한다는 것**은 사용자가 AI 시스템과 상호 작용할 때 변경되는 관계를 설정하는 것을 의미합니다. 사용자는 자신의 취향과 행동에 맞게 상호 작용이 조정되고 사용자마다 경험이 다를 것이라고 기대하게 될 것입니다. 따라서 에러를 정의하는 것은 전문 지식, 목표, Mental model 및 Product를 사용한 과거 경험에 따른 사용자마다 다를 수 있습니다.

예를 들어 누군가가 AI 기반 음악 추천 시스템이 “즐겨찾기”로 표시된 노래만 사용하여 추천을 제공한다고 가정하는 경우 시스템이 자신의 즐겨찾기 목록에 없는 장르를 추천하면 에러로 간주할 수 있습니다. 하지만 추천 시스템이 다양한 요인을 기반으로 한다고 가정하는 다른 사람은 이를 에러로 간주하지 않을 수 있죠.

1.1 사용자 에러, 시스템 에러, 컨텍스트 에러의 식별

비 AI 시스템에서 **"사용자 에러"**는 일반적으로 시스템 설계자의 관점에서 정의되며 사용자는 에러를 초래하는 "오용"에 대해 비난을 받습니다. 반면에 **"시스템 에러"**는 일반적으로 사용자의 관점에서 정의되며, 사용자는 자신의 니즈를 충족할 만큼 유연하지 않은 Product에 대해 시스템 설계자를 비난합니다.

세 번째 유형의 오류 **“컨텍스트 에러”**는 AI 시스템에서 사용자가 특정 시간이나 장소에서 원하는 작업에 대해 잘못된 가정을 함으로써 AI 시스템의 유용성이 떨어지는 경우입니다. 결과적으로 사용자는 혼란스러워하거나 작업에 실패하거나 Product를 완전히 포기할 수 있습니다.

개인의 라이프 스타일이나 선호도와 관련될 수 있고 패턴은 더 넓은 문화적 가치와 연결될 수 있습니다. 예를 들어 레시피 제안 앱을 사용하는 사람이 저녁에 추천 사항을 자주 거부하는 경우 이 패턴은 지속적인 이유가 있을 수 있음을 Product 팀에 알려야 합니다. 사용자가 야간 근무를 하는 경우 출근하기 전에 아침 식사 추천 사항을 선호할 수 있습니다. 반면 특정 그룹의 모든 사용자가 연중 특정 시기에 지속적으로 육류 기반 식사 제안을 거부했다면 이는 팀이 고려하지 않은 문화적 가치나 선호도와 관련이 있을 수 있습니다.

컨텍스트 오류를 방지하거나 수정하려면 AI가 사용자의 컨텍스트에 대해 가정하는 데 사용하는 신호를 살펴보고 해당 신호가 잘못되었거나 간과되었거나, 과소평가 혹은 과대평가되었는지 평가해야 합니다.

1.2 사용자가 인지한 에러 분류

**컨텍스트 에러**는 시스템이 **"의도한 대로 작동"**하지만 시스템의 동작이 잘 설명되지 않았거나 사용자의 Mental model을 깨뜨리거나 잘못된 가정을 기반으로 했기 때문에 사용자는 에러를 인식합니다. 예를 들어, 친구의 항공편 확인 이메일이 나의 캘린더에 이벤트를 생성했지만 이는 원하지 않거나 필요하지 않은 경우일 것입니다.

이러한 에러를 해결하는 방법은 빈도와 심각한 정도에 따라 다릅니다. 사용자의 니즈와 기대에 더 잘 부합하도록 시스템이 **작동하는 방식을 변경**할 수 있습니다. 또는 **Product의 온보딩을 조정하여 더 나은 Mental model을 설정**하고 이러한 상황에 대한 **사용자의 인식을 에러에서 예상 동작으로 전환**합니다.

**장애 상태 (Failstates)**는 **시스템의 내재된 한계**로 인해 올바른 답을 제공할 수 없거나 전혀 답을 제공할 수 없는 것이며, 이는 **True negatives**일 수 있습니다. AI는 주어진 입력에 대해 사용 가능한 출력이 없다는 것을 식별하는 데 정확하지만 사용자는 출력 결과를 원할 것입니다.