우리를 닮은, 기계 페르소나?
정앎
<친절한 에러메시지 시스템 (FES)>는 아주 간단한 대화형 인터페이스, 디버깅 툴이 대화하듯 메시지를 출력하는 형식을 채택하고 있습니다.
우리가 낯선 사람과 대화를 나누는 상황을 떠올려보면, 상대방의 캐릭터가 휙휙 변하지 않는 편이 보다 편안하고 안전하게 느껴지겠죠. (때때로 대화가 예상한대로 흘러가겠지만요.)
어쩌면 이런 사정때문에 대부분의 대화형 인터페이스가 하나의 페르소나, 하나의 통합된 목소리를 보여주는데 초점이 맞춰지는 것 같습니다. 이제 일상에서 흔히 접하는 '시리', '알렉사', ‘하츠네 미쿠'에서 볼수 있는 상품-또는 비인격체-에 인격을 부여하는 방식은 이미 사람들에게 널리 받아들여지고 있고, 심지어 어느 경우에는 이런 가상 인격 설정을 기대하게 되기까지 합니다.
일관된 페르소나를 지니는 에러 메시지
대화형 인터페이스를 개발할 때 가상의 발화자인 페르소나“페르소나는 가면을 뜻하는 희랍어로 개인이 사회적 요구들에 대한 반응으로서 밖으로 내놓는 공적 얼굴이다”라고 위키피디아가 소개하고 있습니다. 여기서는 소프트웨어가 출력하는 대화형 메시지의 톤을 통일하기 위해 설정하는 가상의 캐릭터나 대화문 작성 가이드라인을 의미합니다. 를 정해두고 대화 메시지를 작성하는 것은 작업을 체계적으로 바꿔줄 뿐만 아니라, 사용자 경험에 통일감을 주어 인터페이스의 사용감을 향상하고 사용자의 신뢰를 굳건히 하는 데에도 도움이 됩니다.챗봇 디자인과 사용자 경험 관계에 대한 연구 결과들을 담은 다음 논문의 내용을 인용하였습니다: Følstad, Asbjørn, and Marita Skjuve. "Chatbots for customer service: user experience and motivation." Proceedings of the 1st international conference on conversational user interfaces. 2019.
여기에서는 기계에게 가상의 페르소나를 구축하며 발생할 수 있는 많은 논의점 중 하나로 디자인 결과물과 소프트웨어를 개발하는 커뮤니티가 지향하는 행동강령과의 관계를 제시해 보려 합니다.
p5js는 하나의 상품이 아닌 오픈 소스 소프트웨어 개발 공동체리눅스 배포판에 많은 기여를 한 Red Hat 회사가 오픈 소스 소프트웨어 커뮤니티(open source software community)에 대해 설명해둔 글을 번역해 옮깁니다: 오픈 소스 소프트웨어 커뮤니티는 오픈 소스 소프트웨어 어떤 특정한 곳의 개발, 유지, 확장, 그리고 홍보활동을 위해 모인 사람들의 커뮤니티를 말합니다. 대부분의 경우 이 커뮤니티들은 세계 곳곳 에서 모인, 다양한 산업에 종사하고 있는 사람들이 참여하고 있습니다. 이런 다양한 배경의 사람들은 오픈 소스 소프트웨어 프로젝트에 대한 비젼, 그리고 커뮤니티가 주는 동지애와 소속감을 통해 하나로 모였습니다.
의 한 부분이자 다양한 사람들을 이어주는 인터페이스이기도 합니다. 단체에 소속된 사람이 단체의 뜻을 실천하려 노력하는 모습을 본따, FES의 페르소나를 p5js 커뮤니티의 일원으로 생각하며 만들기 시작해보면 어떨까요?
소프트웨어를 인간화하는 방식이 받아들이기 힘들다면, 이를 p5js 소프트웨어와 관련 문서의 언어를 일관적으로 유지해보려는 노력으로 생각해볼 수도 있겠습니다. 그럼 구체적으로 p5js 커뮤니티의 일원으로서 기계 페르소나를 구축하는 방법을 생각해봅시다.
행동강령을 따르는 기계 페르소나
FES의 출력물이 p5js 커뮤니티의 규칙, 행동강령이 이야기하는 태도와 어긋난다면 어떤 느낌이 들까요? 만드는 사람들이 추구하는 윤리관과 디자인을 일치시키려는 노력 속에서 어떤 소프트웨어가 만들어질 수 있을까요?
기계에 윤리 강령을 적용해보는 이 질문에서 1942년 아시모프의 로봇공학의 삼원칙이 떠오를지도 모르겠습니다. 과거 사변적(speculative) 사고 속에서 논하던 행동 강령들은 이제는 실제 생활에서 쓰이는 인공지능 모델의 디자인과 적용법에 많은 영향을 끼치고 있습니다. 2016년을 기점으로 전세계 많은 연구소들과 기업들도 인공지능과 관련 기술 윤리 가이드라인들을 자신들만의 버전으로 내놓고 있습니다.인공지능 윤리 가이드라인에 대해 연구한 다음 논문을 참고했습니다: Hagendorff, Thilo. "The ethics of AI ethics: An evaluation of guidelines." Minds and Machines 30.1 (2020): 99-120.
이런 배경 속에서, 이제 p5js의 커뮤니티로 돌아와, p5js의 윤리행동강령(code of conduct)을 들여다보도록 합시다:네이버 국어사전에서 “윤리행동강령(code of conduct)”을 찾아보면 “단체나 기업 등이 그 구성원으로서 마땅히 지켜야 할 도리를 명시해 놓은 것”이라 설명합니다. p5js의 행동강령 또한 커뮤니티 구성원들이 지켜야 할 도리와 그 실천법을 이야기하고 있습니다. 아래 번역분의 원문은 p5.js Code of Conduct에서 볼 수 있습니다.
- 사려 깊은 언어를 사용합니다. 다음 중 어느 행동도 허락하지 않습니다:
- 성정체성 및 성표현, 성적지향성, 인종, 민족, 언어, 뉴로타입(neurotype), 체형, 장애, 계급, 종교, 문화, 하위문화, 정치적의견, 나이, 숙련도, 직업, 혹은 성장배경을 비방하는 발언
- 폭력행사 협박
- 고의적 압박
- 맥락 없고 사전경고 없이 성적으로 노골적인 폭력적인 게시물
- 원치 않는 성적 관심
- 스토킹이나 염탐
- 혹은 어떠한 종류를 막론한 괴롭힘
- 상식에 맞게 행동합니다. 다른 사람들을 불편하게 할 것 같으면 공유하지 마세요.
- 서로 존중합니다. 의견이 다르더라도 인내심과 관심을 가지고 모든 상황을 접근하도록 합니다.
- 서로 배려합니다. 당신의 행동이 커뮤니티 내 다른 사람들에게 어떤 영향을 미칠지를 생각해봅니다.
- 열린 마음을 가집니다. 새로운 사람들과 새로운 아이디어를 포용합니다. 우리 커뮤니티는 언제나 진화해가고, 긍정적인 변화를 환영합니다.
위에 적혀있듯, 행동강령에는 어떤 행동들을 금지하고, 의견충돌이 발생했을때 어떤 방식을 따라 해소할지 이야기하고 있습니다.
우선 무엇이 금지된 행동인지, 차별 및 폭력 행위에 속하는지 명확하게 적혀있습니다. “성정체성 및 성표현, 성적지향성, 인종, 민족, 언어, 뉴로타입(neurotype), 체형, 장애, 계급, 종교, 문화, 하위문화, 정치적의견, 나이, 숙련도, 직업, 그리고 성장배경을 비방하는” 비도덕적 행위를 금하고, 커뮤니티 차원에서 이런 행위들을 검토하는 시간을 가지겠다는 약속이 되겠죠.
앞서 제시된 목록의 광범위함, 그리고 이 목록이 언제든지 늘어날 수 있다는 점 때문에 이 방침이 완전히 만족시키기가 불가능한, 비현실적인 이상으로 느껴질지도 모르겠습니다. 숙련도에 따른 위계질서에 대한 논의는 [1: 청자/화자를 고려하기에 앞서] 섹션에서 다루고 있으니 참고하면 좋겠습니다. 그러나 이 방침을 흑백을 가리는 규칙으로 여기기보다는, 섬세한 작업 태도라고 생각하면 일상에서 보다 실천 가능하리라 여겨집니다. 작가로서 우리가 쓰는 표현에 세심한 주의를 기울이고 자신의 문장에 어떤 맹점이 숨어 있는지 꾸준히 고민하는 그런 작업 태도입니다.
존중과 배려, 그리고 열린 마음
금지된 행동들과 달리, p5.js 행동강령에서 장려되는 태도에는 존중과 배려, 그리고 열린 마음이 있습니다. 이들은 <친절한 에러메시지 시스템>의 친절함과 어떻게 연결되어 있을까요?
우선 존중과 이어지는 인내심과 관심은 결국 사용자를 한 명의 인격체이자 대등한 동료로 보는 시각에서 자연스럽게 나오는 태도입니다. p5.js와 같은 오픈 소스 프로젝트에서는 프로젝트에 기여하는 사람과 결과물을 쓰는 사람 사이에 생산자-소비자, 혹은 작가-독자와 같은 뚜렷한 경계나 관계 정의가 없습니다.
오픈 소스 프로젝트에서 개인 기여자의 역할은 정의가 자유롭고 넓은 가능성을 가집니다. 반면에 자기에게 알맞는 위치나 관계를 설정하는, 세심하고 복잡한 조율과정이 시작 과정에서 필요합니다. 이러한 과정을 견뎌내고 또한 새로운 멤버를 돕기위해 필요한 덕목들이 인내심과 관심이 아닐까요?
다음으로 배려는 사람 간 관계에서 적용될 수 있는 덕목일 뿐만 아니라 작가 혹은 생산자로서 내가 만든 결과물의 영향력에 대해 깊게 고찰해보는 노력에서 나옵니다. 배려심을 쏟는 시간은 작업속도나 효율성만을 추구해서는 가지기 힘듭니다. 또한 배려는 끊임없이 자신의 행동을 돌아보는 마음가짐을 요구하기도 합니다.
존중과 배려 모두 작가에게 수신자를 위해 '친절'해지기를 요청합니다. 친절한 무언가를 만드는 일은 생산자의 입장에서는 그저 무언가를 만드는 것보다 훨씬 추가적인 에너지가 들어갑니다. 바꾸어 말하면, 친절함이란 에너지를 더 쓰지 않아도 됨에도 불구하고 다시 한번 사용자의 입장에서 결과물을 마주하는 여분의 노력입니다.
마지막으로 열린 마음이란 결국 “FES는, 혹은 p5.js는 사실 완성될 수 없다”는 진실과 마주하는 것이 아닐까요. 이는 소프트웨어 개발을 어떤 완성품을 만들어내는 것을 목표하는 것으로 보는 관점보다는, 다른 참여자들의 새로운 의견과 피드백을 받아 고쳐쓰이고 발전해 나가는 유동적인 공간으로 보는 관점이 되겠습니다.
오늘 내가 p5.js를 위해 작성한 코드가 영원히 보존되지는 않을 것입니다. 심지어 시간이 지나고 어느 순간부터는 최초의 코드가 한 줄도 남아있지 않고, 예전 참여자들이 아무도 남아있지 않을 수도 있겠죠. 그렇게 “덮어 새로 씌여지는 작업”의 반복에도 불구하고 현재 이 시간의 의지와 바람을 최대한 담아내려 애쓰는 것 같습니다.
여기까지 쓰고 다시 한번 p5.js 커뮤니티 성명서를 들여다보니 “We are not code snobs 우리는 코드 허세를 부리지 않는다” 라는 구절이 있습니다. 지식에 대한 스노비즘에 경도되어 멋부린 태도를 유지하는 것보다는, 공동체에 소속된 모두가 중요하고 필요한 내용을 제대로 파악할 수 있게 돕는 친절함이 ‘friendly design’을 구성하는 조각들입니다.
우리는 효율보다도 커뮤니티를 우선합니다. 앞으로 ‘친절함’이 우리 프로젝트를 넘어 더 널리 기술 생산자가 가진 덕목이 되길 기대해봅니다.