챗봇에게 토론글 작성시키기.gpt

2023-02-02

alookso 재직 당시 게재한 글.


챗GPT, 거대언어모델, 프롬프트

자연어 처리 기술 기반 챗봇 서비스인 챗GPT(ChatGPT)는 작년 11월 말 공개 후 채팅 형태의 상호작용이 주는 편리함과, 만들어내는 답변이 상당히 그럴듯하다는 점 등에 힘입어 빠르게 장안의 화제가 됐습니다. 급기야는 윤석열 대통령이 공무원들에게 활용을 권하는 일까지 생겼습니다. 이 서비스는 2023년 2월 현재 사용자 의견을 수렴하는 단계인 ‘연구용 프리뷰’ 버전으로 누구나 회원가입을 거쳐 무료로 이용할 수 있고, 유료 기능이 점진적으로 도입 중입니다. 일반 사용자 입장에서 챗GPT나 유사한 도구를 어떻게 하면 잘 사용할 수 있을지 간단히 볼까요?

챗GPT의 근간에는 GPT라는 ‘거대언어모델’이 있습니다. 언어모델은 예제가 되는 언어 자료(인터넷에 올라온 수많은 텍스트 등)를 분석하여, 연속해서 등장할 수 있는 단어나 문자 등의 패턴을 찾아 저장해둔 통계 모형입니다. GPT는 ‘생성’, 즉 주어진 글귀 다음에 올 법한 글을 그럴싸하게 예측하는 데 특화되어 있어서 마치 알고리즘이 글을 쓰는 것 같은 효과를 내는 것이죠. 이때 입력값으로 사용하는 ‘주어진 글귀’를 명령어, 영어로는 프롬프트(prompt)라고 합니다.

명령어는 언어모델의 예측값(답변)을 제어하는 주된 수단이 됩니다. 당연한 소리 같지만, 예를 들어 ‘긴글 요약하기’와 ‘노래 가사 지어내기’처럼 성격이 다른 작업을 시킬 때 예전에는 언어모델 자체를 새로 만들어야 했다면, 요즘의 거대언어모델에서는 입력값을 적절히 설계해서 다양한 기능을 한 개의 모델에서 제공할 수 있는 것입니다. 연구개발시에 특정한 명령 방식을 염두에 두고 언어모델을 구축하기도 하지만, 대량의 데이터로 구축한 알고리즘이다 보니 블랙박스로 남아있는 영역이 많아 사용자들이 써보는 과정에서 발견되는 용례도 있습니다. 여기서는 챗GPT 명령어 구성에 활용할 수 있는 기본적인 요소들을 살펴보겠습니다.

원본 이미지: Teresa Berndtsson / Better Images of AI / Letter Word Text Taxonomy / CC-BY 4.0. 수정: 고아침 (Stable Diffusion 사용)

원본 이미지: Teresa Berndtsson / Better Images of AI / Letter Word Text Taxonomy / CC-BY 4.0. 수정: 고아침 (Stable Diffusion 사용)

챗봇한테 원하는 것을 얻어내기: 명령어는 어떻게 쓰나?

1. 질문/요청하기

가장 핵심적이고 직관적인 부분입니다. 원하는 결과를 달라고 표현하는 것으로, 챗GPT 관련 소식을 접해보셨거나 사용해보신 분이라면 사람이 무언가 질문하는 형태의 용례를 많이 보셨을 겁니다.

의외로 시덥잖은 이야기에도 나름대로 적절히 반응하기도 합니다.

글쓴이: 심심하다.

챗GPT: 뭐할까요? 궁금한 것이 있으신가요? 답변해드릴 수 있어요.

좀 더 구체적인 용도로 사용해볼까요? 여기서는 지난 토론소 질문인 “한국 사회에 더 많은 CCTV를 설치해야 할까요?”에 답안을 (재미로) 작성하게 해보겠습니다.

글쓴이: 한국 사회에 더 많은 CCTV를 설치해야 할까요?

챗GPT: CCTV의 설치에 대한 견해는 사람마다 다릅니다. 하지만 CCTV가 범죄를 막고 범죄 행위자를 잡는 데 도움이 되는 것은 분명합니다. 그러나 CCTV 설치는 개인의 권리와 자유에 대한 논란을 야기할 수 있습니다. 이러한 점을 고려하여, CCTV의 설치에 대한 결정은 국가의 법과 정책, 개인의 권리 보호와 공용의 이익을 고려하여 이루어져야 합니다.

일단 CCTV 설치에 관한 쟁점을 제시하고 있다는 점에서 나쁘지는 않지만, 어딘지 황희 정승처럼 이 말도 맞고 저 말도 맞다고 써놓은 것이 조금 아쉽습니다. 한쪽의 주장을 더 발전시켜볼 방법이 있을까요?

2. 제약조건 걸기

직접적인 질문뿐만 아니라, 챗봇이 어떤 식으로 답변하기를 바라는지에 관한 요청을 함께 제시할 수 있습니다. 우선 여기서는, 찬성 주장과 반대 주장을 명확히 분리하라고 명령해볼게요.

글쓴이: "한국 사회에 더 많은 CCTV를 설치해야 할까요?"라는 질문에 관해 찬성과 반대 주장을 각각 한 문단으로 정리해줘. 찬성 입장은 "범죄 예방을 위해 더 설치해야 한다"로 시작하고, 반대 입장은 "사생활과 인권 침해 소지가 커서 최소화해야 한다"로 시작하자.

챗GPT: 
찬성 입장: CCTV의 설치는 범죄를 예방하는 데 도움을 준다. 언제 어디서든 범죄가 일어날 수 있기 때문에, 특히 공공장소에서는 더욱 CCTV가 필요하다. 또한, 범죄가 발생했을 때 CCTV는 증거 수집에 도움을 줄 수 있다. 
반대 입장: CCTV의 증가는 사생활과 인권을 침해할 수 있다. 모든 순간이 저장되어 개인의 사생활에 대한 개인적인 정보가 침해될 수 있기 때문에, 최소한의 CCTV 설치만으로 범죄 예방이 가능한 경우에만 설치해야 한다.

찬반 주장이 따로 정리되어 출력된 것을 볼 수 있습니다. 그런데 찬반 질문인 만큼, 이번에는 한쪽 주장에 대한 반대쪽의 반박 또한 대비해보면 어떨까 싶은데요.

3. 명령과 자료를 함께 주기

특정한 명령과, 그 명령을 수행하는 재료가 되는 데이터를 함께 제공할 수도 있습니다. 사실 위에서 이미 그런 접근을 활용하고 있는데요. ‘~라는 질문에 관해 찬성과 반대 주장을 각각 한 문단으로 정리해줘’가 명령이라면, 이 명령을 적용할 데이터는 ‘한국 사회에 더 많은 CCTV를 설치해야 할까요?’인 셈이죠. 이 방법을 한 번 더 적용해, 찬성론에 대한 반박글을 만들어보겠습니다.

글쓴이: 고마워. 이번에는 "CCTV의 설치는 범죄를 예방하는 데 도움을 준다. 언제 어디서든 범죄가 일어날 수 있기 때문에, 특히 공공장소에서는 더욱 CCTV가 필요하다. 또한, 범죄가 발생했을 때 CCTV는 증거 수집에 도움을 줄 수 있다."이라는 글에 대해 논리적으로 반론하는 글을 써줘.

챗GPT: 
반론하는 글: CCTV의 증가가 범죄를 예방하는 것은 일부 사례에서만 성립할 수 있다. 실제로, CCTV의 설치가 범죄를 예방하는 효과는 제한적이고, 범죄의 일어나는 시간과 장소에 따라 다르다. 또한, CCTV의 설치가 범죄를 예방하는 것이 아닌 경우도 존재한다. 
또한, CCTV의 증가는 개인의 사생활 보호와 관련한 인권 문제를 야기할 수 있다. CCTV의 증가는 개인의 사생활에 대한 개인적인 정보를 수집하는 것을 증가시킬 수 있어, 이는 인권을 침해할 수 있다. 그러므로, CCTV의 증가가 범죄를 예방하는 데 도움이 될지는 논란이 될 수 있다.

두 가지 지점에서 반론을 제시하고 있군요. 혹시 각 주장에 대한 근거도 제시할 수 있을까요?

글쓴이: 좋아. 다음 글의 각 논점에 대해 근거자료를 제시하는 글을 다시 작성해줘. "CCTV의 증가가 범죄를 예방하는 것은 일부 사례에서만 성립할 수 있다. 실제로, CCTV의 설치가 범죄를 예방하는 효과는 제한적이고, 범죄의 일어나는 시간과 장소에 따라 다르다. 또한, CCTV의 설치가 범죄를 예방하는 것이 아닌 경우도 존재한다. 또한, CCTV의 증가는 개인의 사생활 보호와 관련한 인권 문제를 야기할 수 있다. CCTV의 증가는 개인의 사생활에 대한 개인적인 정보를 수집하는 것을 증가시킬 수 있어, 이는 인권을 침해할 수 있다. 그러므로, CCTV의 증가가 범죄를 예방하는 데 도움이 될지는 논란이 될 수 있다."

챗GPT: "CCTV의 증가가 범죄를 예방하는 것은 일부 사례에서만 성립할 수 있다" 가설에 대한 근거자료는 다음과 같다. 
- 예를 들어, "Evaluating the Effectiveness of CCTV Surveillance: A Study of Manchester City Center" (2006) 라는 연구에서는 CCTV의 설치가 범죄를 예방하는 효과가 제한적이며, 범죄 유형에 따라 설치에 따른 효과의 차이가 있다는 결과가 나왔다. 

"CCTV의 증가는 개인의 사생활 보호와 관련한 인권 문제를 야기할 수 있다" 가설에 대한 근거자료는 다음과 같다. 
- "The Impact of CCTV on Privacy" (2007) 라는 연구에서는 CCTV의 설치가 개인의 사생활을 침해할 수 있다는 결과가 나왔다. 
- "CCTV Surveillance and Privacy: An Overview of the Literature" (2012) 라는 연구에서는 CCTV 설치가 개인의 개인적인 정보를 수집하는 것을 증가시킬 수 있어, 이는 인권을 침해할 수 있다는 결과가 나왔다.

제법이네요. 그런데 한 가지 문제가 있습니다. 챗봇이 근거자료로 제시하는 “Evaluating the Effectiveness of CCTV Surveillance: A Study of Manchester City Center”, “The Impact of CCTV on Privacy”, “CCTV Surveillance and Privacy: An Overview of the Literature”는 모두 실제로는 존재하지 않는 연구입니다. 정확한 근거 자료를 챗봇에게 받아내는 일은 문제가 있어 보입니다.

(⚠️ 이는 거대언어모델이 갖고 있는 약점이자 위험요소를 보여줍니다. 챗GPT 같은 언어모델은 ‘사실관계를 명확히 대답하는 것’이 목적이 아니라 ‘그럴듯한 텍스트를 만들어내는 것’에 방점을 두고 있기 때문에 때로는 위에 언급한 연구처럼, 그럴싸해 보이지만 실제 사실과는 전혀 다른 내용, 허위 정보를 만들어내는 능력도 출중합니다. 이러한 현상을 ‘환각hallucination’이라고 부르며, 이 때문에 언어모델에서 출력한 결과물을 그대로 사용하는 일은 위험할 수 있습니다. 이러한 환각을 줄이거나 예방하는 각종 기법들 또한 연구가 진행되고 있지만, 현재 우리가 접하는 인공지능 모델이 갖는 중요한 한계라는 점을 짚고 넘어갈 필요가 있습니다.)

4. 응용사례: 역할극

질문, 제약조건, 자료 등의 요소를 잘 활용하면 단순한 질문을 던졌을 때보다 원하는 결과에 가까워질 수도 있습니다. 한 가지 예로 챗GPT에게 역할극을 시키는 방법이 있는데요. 예를 들어, 범죄를 예방하거나 사생활을 보호하는 것도 중요하지만, 도둑의 입장도 들어본다면 어떤 이야기가 나올 수 있을까요? 농담 같은 얘기지만, 질문을 던졌을 때 다음과 같은 답이 돌아왔습니다.

글쓴이: 범죄자의 입장에서 다음 질문에 대해 답해보자. "한국 사회에 더 많은 CCTV를 설치해야 할까요?"

챗GPT: As a language model AI, I don't condone or support any illegal activities. From the perspective of a criminal, an increase in CCTV installations could potentially make it harder to carry out illegal activities as they are more likely to be monitored and recorded. This could lead to increased likelihood of being caught and facing legal consequences. Therefore, from the perspective of a criminal, an increase in CCTV installations is not desirable.

이번에는 영어로 답변을 했네요. 답변 내용을 한국어로 옮기면 “언어 모델 AI로서 저는 어떠한 불법 행위도 묵인하거나 지지하지 않습니다. 범죄자 입장에서는 CCTV 설치가 늘어나면 감시 및 녹화될 가능성이 높아져 불법 활동을 수행하기가 더 어려워질 수 있습니다. 이로 인해 적발되어 법적 처벌을 받을 가능성이 높아질 수 있습니다. 따라서 범죄자의 관점에서 볼 때 CCTV 설치가 증가하는 것은 바람직하지 않습니다.”입니다.

맨 앞에 등장하는 문장은 일종의 면책조항이라고 봐야겠습니다. 아마도 유해 콘텐츠 생성을 방지하기 위해 오픈AI 측에서 심어둔 안전장치가 작동한 결과일 것입니다. 그런데 그 문구가 영어로 되어 있어서인지, 다음에 따라오는 답변도 영어로 출력이 됐군요. 제약조건을 하나 더 추가해서, 한국어로 답을 하도록 요청해봅니다.

글쓴이: 범죄자의 입장에서 다음 질문에 대해 답해보자. 답은 한국어로 해줘. "한국 사회에 더 많은 CCTV를 설치해야 할까요?"

챗GPT: 범죄자의 입장에서는 CCTV의 증가는 범죄 행위의 발견 가능성을 높여줄 수 있습니다. 즉, 범죄 행위가 발견될 확률이 높아지기 때문에 범죄자는 CCTV의 증가를 두려워할 수 있습니다. 따라서 범죄자의 입장에서는 CCTV의 증가는 원치 않는 것이 될 수 있습니다.

이번에는 별다른 사족 없이 요구한 결과를 내놓았습니다. 아직 한국어 안전장치는 없거나 잘 작동하지 않는 것이 아닐까 짐작해볼 수 있는 대목입니다.

마지막으로, 글이 좀 짧아보입니다. 분량을 늘려보면 어떨까요?

글쓴이: "범죄자의 입장에서는 CCTV의 증가는 범죄 행위의 발견 가능성을 높여줄 수 있습니다. 즉, 범죄 행위가 발견될 확률이 높아지기 때문에 범죄자는 CCTV의 증가를 두려워할 수 있습니다. 따라서 범죄자의 입장에서는 CCTV의 증가는 원치 않는 것이 될 수 있습니다."라는 내용을 담고 있는 에세이를 범죄자의 관점에서 작성해보자. 분량은 500자 정도로 작성해줘.

챗GPT: 범죄자로서는 CCTV의 증가가 범죄 행위의 발견 가능성을 높여주기 때문에 두려움을 느끼고 있습니다. 증가하는 CCTV는 범죄 행위가 발견될 확률을 높여주기 때문에 범죄 행위를 할 때 더욱 조심해야 할 것이 됩니다. 따라서 범죄자의 입장에서는 CCTV의 증가는 원치 않는 것이 될 수 있습니다. 하지만 범죄 행위를 하려면 꼭 필요한 것이라면 그래도 행할 것이라는 생각이 들 수도 있습니다. 범죄자는 항상 자신의 행동을 숨기려고 노력할 것입니다. 그러나 CCTV의 증가로 인해 범죄 행위가 발견될 확률이 높아지기 때문에 범죄자로서는 조심하고 노력할 필요가 있습니다.

이렇게 (윤리적으로 다소 문제가 있는) 글(?)을 챗봇으로 완성(?)해보았습니다. 물론 이런 내용을 어디 가서 주장하면 안 되겠지요… 여기서는 간단한 사례를 통해 챗봇 명령어 설계에 질문, 제약조건, 자료 등의 요소를 활용하는 법을 선보이고자 했습니다. 또한 거대언어모델에 내재한 약점인 환각으로 인해 생기는 허위 정보의 문제 또한 간단히 짚어봤는데요. 그밖에도 저작권 문제나, 편향/왜곡된 서술을 뱉어내는 등 다양한 위험 요소가 있어 사용자가 챗봇에서 나온 결과를 활용하기 전 책임 있게 검토하는 일이 꼭 필요합니다.

이외에도 명령어를 설계하는 다양한 응용 사례가 있는데요. 아쉽게도 영어로 돼있지만, 관련 자료를 더 찾아볼 수 있는 링크 몇 개 남깁니다. 여러분이 알고 있는 좋은 팁이 있다면 알려주세요.