안녕하세요! 큐리어스 김대엽입니다. 트롤리 테스트를 아시나요? 온라인 혹은 윤리 수업시간에 한 번은 마주해 본 문제일 텐데요. 문제의 내용은 다음과 같습니다.
제동 장치가 망가진 기차가 선로 위를 달리고 있다. 선로 위에는 5명의 사람이 있어 선로를 바꾸지 않으면 5명이 죽게 되고 선로를 바꾸면 5명은 살지만 바꾼 선로에 있는 사람 1명은 죽게 된다. 선로 분기기 스위치는 당신 앞에 있다. 스위치를 어떻게 할 것인가?
이 문제를 트롤리 딜레마라고 부르기도 하는데요, 트롤리 문제의 논점은 “소수를 위해 다수가 희생하는 것에 대해, 혹은 다수를 위해 소수가 희생하는 것에 대해 윤리학의 관점에서 올바른 선택을 내릴 수 있는가”라고 합니다. 윤리 관점의 문제이며 선택에 따라서 공리주의적 관점으로 문제를 볼 것인지 의무론적 관점으로 문제를 볼 것인지 엿볼 수 있다고 합니다.
아무튼 이 문제를 ChatGPT에게 내보려고 합니다. 과연 ChatGPT는 어떻게 대답할까요? 아마도 이런 윤리적인 문제에 대해서는 중립적인 입장을 보이지 않을까 생각이 듭니다. 단어와 문장 구조를 약간 수정한 후 질문하려고 하는데요, 수정한 문제는 다음과 같습니다.
트롤리가 매우 빠른 속도로 5명의 죽은 사람들을 향해 돌진하고 있고 당신 앞에는 레버가 있다.
레버를 당기면 트롤리를 1명이 홀로 서있는 선로로 방향을 변경할 수 있다.
당신이라면 레버를 당기겠는가?
자 어떠신가요? 이 글을 읽는 여러분이라면 레버를 당기실 것인가요? 고민하기에도 겁나는 문제입니다. 그런데 위 문제에서 이상한 점을 찾아내신 분도 있을 것 같습니다. 바로 “죽은 사람들을 향해 돌진하고” 있다는 사실입니다. 죽은 사람들을 향해 돌진하는 트롤리의 경로를 바꿀 이유는 전혀 없겠죠? 제가 오늘 ChatGPT를 테스트하고자 하는 지점이 바로 이 부분입니다. 과연 ChatGPT는 이 특이점을 찾아내고 옳은 대답을 할 수 있을까요? ChatGPT의 대답은 아래와 같습니다.
놀랍게도 ChatGPT는 이점을 눈치채지 못합니다. 마치 설명하고 싶어서 안달 난 사람처럼 설명을 이어나가는 모습을 보였습니다. 어쩌면 ChatGPT는 인간의 사고 흐름을 매우 유사하게 모사한 나머지 실수를 만드는 유형도 비슷해지고 있는 게 아닐까 하는 생각마저 듭니다.
문제는 평소 저희가 던지는 질문에 대한 답들 속에서도 ChatGPT가 이런 유형의 실수를 만들어 낼 수 있다는 점이겠죠. 그렇다면 이 문제를 어떻게 해결할 수 있을까요? 위 문제를 제가 조금만 수정해 보겠습니다.
트롤리가 매우 빠른 속도로 5명의 “죽은 사람들”을 향해 돌진하고 있고 당신 앞에는 레버가 있다.
레버를 당기면 트롤리를 1명이 홀로 서있는 선로로 방향을 변경할 수 있다.
당신이라면 레버를 당기겠는가?
어떠신가요? 문장에 달라진 것이라곤 큰따옴표 2개가 추가된 것뿐입니다. 이제 우리가 읽기에도 이 문제의 트릭을 한눈에 알아차릴 수가 있게 되었습니다. 그렇다면 ChatGPT도 우리와 동일하게 이 문제의 트릭을 알아차릴까요?
ChatGPT도 사람의 인지와 비슷하게 큰따옴표 2개가 추가되었을 때 문제의 트릭을 바로 알아차렸습니다. ChatGPT가 놓치지 않았으면 하는 부분에 큰따옴표 또는 괄호를 하는 것이 원하는 답변을 얻는데 도움이 됩니다. 즉, 강조를 하는 것이죠. 강조를 하게 되면 좀 더 내가 원하는 답변을 얻을 수가 있는 것이죠
그런데 큰따옴표나 강조를 하지 않고도 이런 트릭을 피하는 방법이 또 하나 존재하는데요, 바로 추론모델인 o3, o4를 사용하는 것입니다. 추론모델은 질문에 곧장 대답하지 않고 질문을 어느 정도 분석하는 시간을 가지는데요, 말하자면 생각하는 시간을 갖는 것입니다. 질문에 대한 분석 후 대답을 구성하기에 이런 사소한 트릭에 빠지지 않습니다. 이런 능력의 추론모델은 수학적, 프로그래밍적 질문에 특히 강하다고 합니다.
기술이 진보할수록 제품과 서비스의 사용은 더욱 쉬워집니다. 어쩌면 저희가 지금 프롬프트 엔지니어링이라고 부르는 일들도 얼마 지나지 않으면 사라지지 않을까요?