본문 바로가기

공유

똑똑 ChatGPT, ChatGPT 똑똑하게 활용하기

반응형

요즘 chatGPT에 대한 관심이 정말 뜨겁다. chatGPT를 한 번도 사용해보지 않은 사람들을 찾기 힘들 정도이다. GPT의 기술에 놀라는 사람들도 많지만, 답변 퀄리티가 형편없다고 말하는 사람들도 주변에서 적지 않게 볼 수 있다. 그리고 이러한 경우 질문을 제대로 하지 못한 경우가 대부분이다. chatGPT는 질문을 어떻게 하느냐에 따라서 답변의 퀄리티가 달라진다. 이를 프롬프트 엔지니어링이라고 한다. 그리고 이는 업무의 생산성과 성과에 큰 차이를 만들어낸다. 실제로 일부 기업들은 chatGPT를 잘 다루는 프롬프트 엔지니어라는 직군을 채용하기도 한다. 하지만, 프롬프트 엔지니어링은 코딩과 같은 복잡한 기술이 아니며, 적응하고 익숙해지는 데 그리 많이 걸리지 않는다.

AI 도구 미드져니로 만들어낸 귀여운 강아지 그림

프롬프트 엔지니어링을 잘하기 위한 방법들

이번 포스트에서는 프롬프트 엔지니어링을 잘 활용하기 위한 몇 가지 방법들에 대해서 소개해보려고 한다.


영어로 질문하기

ChatGPT에게서 최상의 퀄리티를 얻기 위해서는 영어로 질문하는 것이 정말로 중요하다. 우선, 영어로 학습한 데이터가 압도적으로 많다. 영어는 미국뿐만이 아니라 굉장히 많은 나라에서 사용한 데이터이며, 한국어는 우리나라에서만 사용한다. 학습데이터에서 차이가 나니 질문을 이해하는 수준이나 답변 퀄리티에서도 차이가 난다.

또한, 문맥을 이해하고 기억할 수 있는 범위에서도 차이가 난다. GPT는 문맥을 기억할 수 있는 범위(기억력)가 정해져 있다. 즉, 해당 범위를 벗어나서 질문을 하게 되면 앞의 내용을 계속해서 잊어버리는 현상이 발생한다. 영어를 제외한 언어들은 보통 한 단어에 이 기억력을 더 많이 소모하고, 더 빨리 앞의 내용을 잊어버린다. 또한, 이 때문에 답변속도 역시 영어가 훨씬 빠르다. 한국어로 질문하면 굉장히 느리고 답변 중간에 끊기는 현상도 더 자주 발생한다.

정확한 영어를 사용하지 않아도 대부분의 경우 정확하게 그 의미를 이해한다. 이번 기회에 영어를 공부해 보는 것도 좋고, DEEPL 같은 인공지능 번역 툴을 활용해서 번역 후 질문하는 것도 좋다. 한국어로 쓰면 영어로 질문을 해주는 크롬 확장도구도 있으나, 번역 퀄리티가 좋지 않은 편이다.

범위를 좁혀가면서 반복해서 질문하기

ChatGPT에게서 한 번에 원하는 답을 얻기란 매우 힘들다. ChatGPT가 답변해 준 답변을 바탕으로, 추가적인 질문을 해서 우리가 원하는 답변을 얻을 수 있도록 유도해야 한다. 추가적인 질문을 할 때 범위를 점점 좁혀가면서 질문을 하는 것이 중요하다.

예를 들어, '새롭게 출시하는 스포츠카를 홍보하기 위한 문구를 추천해 줘'라고 질문을 하면 GPT는 한 가지만 추천해 준다. 마음에 들지 않아도 범위를 좁혀 나가기 쉽지 않은 질문이다. 원치 않은 결과가 나왔다면 우리가 홍보하고 싶은 스포츠카의 특성을 추가적으로 추가하고, 우리가 범위를 좁혀줄 수 있도록 10개의 목록을 달라고 질문할 수 있다. 예를 들면, '우리 스포츠카는 20대를 타깃으로 한 깔끔한 디자인을 가지고 있다. 이 점을 강조한 10가지 목록을 달라'라고 할 수 있다. 이전 답변과 달리 10가지 목록을 줄 것이다. 여기서 마음에 드는 항목이 있다면 이 항목을 가지고 또 범위 좁히기를 할 수 있다. '2번 5번이 마음에 든다. 2번 5번을 변형한 목록을 10개 만들어 줘'라고 하면 된다. 혹은 내가 추가적으로 넣고 싶은 형용사나 단어 등을 추가해서 질문을 이어나갈 수도 있다.

ChatGPT에게 역할(문맥) 부여하기

GPT에게 역할이나 문맥을 부여하는 것은 범위 좁히기의 일환이다. 워낙 다양한 분야에 대한 지식을 가지고 있기 때문에 문맥 없는 단순한 질문에 대해서는 chatGPT가 제대로 된 방향성을 못 찾을 가능성이 높다. 역할이나 문맥을 부여해서 답변을 할 수 있는 범위를 한정해 줘야 원하는 답변을 얻을 수 있는 가능성이 높다.

'네가 데이터 베이스 전문가라고 생각하고 답변해 줘' 또는 'postgresql 성능 최적화와 관련한 질문을 하고 싶어. 내가 겪고 있는 상황은 ~~'과 같이 질문할 수 있다. 이렇게만 해도 훨씬 더 만족할만한 답을 얻을 수 있다.

ChatGPT 학습시키기

ChatGPT는 2021년 9월까지의 데이터로 학습했기 때문에 최신 정보에 대해서는 지식이 부족하다. 이 부분 역시 시간이 지나면서 보완이 될 거라고 생각하지만, 최신 데이터를 제공해 줄 수 있는 방법이 있다. chatGPT는 문맥을 이해할 수 있는 힘이 있기 때문에 우리가 프롬프트에서 알려주는 지식을 학습하고 그에 맞는 대답을 제공해 줄 수 있다.

알려주고 싶은 지식을 요약해서 GPT에게 제공하고, 그 뒤에 관련된 질문을 해보자. 그렇게 하면 GPT는 제공받은 데이터를 활용하여 훌륭한 답변을 제공할 수 있다. 인터넷을 스스로 검색하고 답변을 주는 플러그인 역시 곧 나올 예정이라고 하니 기다려봐도 좋을 것 같다.

chatGPT에게 Midjourney 프롬프트를 학습시키고 결과를 받아보는 모습 [프롬프트 출처: 대두족장 놀이터 유튜브 채널(https://www.youtube.com/@cwk)]

변수 활용하기

ChatGPT는 변수를 기가 막히게 이해한다. 개인적으로 가장 놀란 부분이다. 변수를 활용하면 여러분들의 프롬프트를 재사용 가능하게 만들어준다. 대괄호나 중괄호를 활용하면 해당 부분을 가변적인 요소로 알아듣는다. 우리가 직접 해당 변수를 할당해 줄 수도 있고 GPT가 직접 해당 변수를 결정 (e.g. 위의 미드져니 프롬프트 예제)하게 할 수도 있다.

변수를 활용하여 프롬프트를 재사용 가능하도록 한 예시

GPT Plus 이용하기

GPT Plus를 이용하면 GPT4를 쓸 수 있다. GPT4와 GPT3.5는 답변 퀄리티에 차이가 정말 많이 난다. 질문을 이해하고 답변을 만들어내는 능력이 정말 크다. 위에서 언급한 변수활용하기나 문맥을 부여했을 때, GPT4는 해당 내용을 잘 알아차리고 알맞은 답변을 해주는 반면 GPT3.5는 의도하지 않은 엉뚱한 대답을 많이 만들어낸다. 매월 $20달러를 큰돈으로 볼 수도 있지만, 해당 금액을 투자해서 더 큰 가치를 얻어보는 것은 어떨까?

배경지식 늘리기

결국 좋은 질문을 만들 수 있어야, 좋은 답변을 얻을 수 있다. 문맥을 부여해서 구체적으로 질문할 수 있어야 하고, 재사용 가능한 프롬프트를 만들기 위해 필요한 부분을 변수화 할 수 있어야 한다. 이런 질문을 하기 위해서는 내가 질문하고자 하는 분야에 대한 배경지식이 있어야 한다. 배경지식이 없는 분야에서 좋은 질문을 하기란 매우 힘들다. 하지만, 질문을 하기 위해 전문가 수준의 지식이 필요한 것은 아니다. 해당 분야에 대한 기본적인 지식이나 용어만 아는 것으로 충분할 수 있다. 그리고, GPT와 함께 배경지식을 늘려갈 수도 있다. GPT에게 특정 분야에 관해 질문을 잘하기 위한 배경지식이나 용어등을 알려달라고 해보자!

chatGPT와 함께 애니메이션 배경지식 학습하기


이 글은 몇 주전 회사에서 사내 세미나를 진행한 내용을 글로 옮긴 것입니다. 이 글을 읽고 조금이나마 여러분들의 생산성을 높이는데 도움이 됐으면 좋겠습니다 :) 여러분들만의 GPT활용 팁이 있다면 댓글로 공유해 주시면 감사하겠습니다. 긴 글 읽어주셔서 감사합니다. 🙏 🙏 🙏

반응형