ChatGPT와 같은 언어 기반의 생성형 AI의 경우, 어떤 질문을 어떻게 던지면 좋은 답변을 얻을 수 있을까요? 프롬프트를 어떻게 입력해야 가치 있는 답변을 받을 수 있는지에 대해 알아보겠습니다. 미국 코넬 대학교 논문을 통해 밝혀진 ‘Prompt engineering 26가지 방법’을 공유합니다. 이 내용은 나눠서 콘텐츠를 작성하겠습니다.
프롬프트 엔지니어링이란?
‘프롬프트 엔지니어링(Prompt engineering)’이란? ChatGPT와 같은 언어 기반의 생성형 AI의 자연어 처리 부분에 해당되며 쉽게 말해서 양질의 좋은 질문을 만들기 위한 과정과 작업이라 볼 수 있습니다.
Prompt engineering을 어떻게 하느냐에 따라 양질의 대답을 얻을 수 있기 때문에 ChatGPT의 활용과 가치가 더 좋아지겠죠? ChatGPT를 사용하고 활용함에 있어서 역시 가장 중요한 핵심은 ‘프롬프트 엔지니어링(Prompt engineering)’ 입니다. 어떻게 하면 좋은 질문을 할 수 있는지 코넬 대학교 논문을 기반으로 알아보겠습니다.
프롬프트 엔지니어링 : 코넬 대학교 논문
미국 코넬 대학교에서 2023년 12월 26일에 제출된 논문 내용입니다. 논문의 내용으로 ChatGPT-3.5/4, LLaMA-1/2와 같은 언어 모델 동작에 대한 프롬프트 엔지니어링 방법에 대한 내용을 다루고 있습니다.
다양한 언어 모델에 대한 질문을 공식화하고 프롬프트를 입력할 때 사용자의 이해를 돕기 위해 기본 개념을 단순화하는 것을 목표로 합니다.
프롬프트 엔지니어링 방법을 간소화하기 위해 고안된 26가지 방법의 내용을 다루고 있습니다. ChatGPT, LLaMA 기준으로 논문이 작성되었는데요. 언어 모델 생성형 AI라면 이 방법이 모두 가능할 것 같습니다. 그럼 논문의 내용을 기준으로 제대로 물어보고 정확하게 대답 받는 방법에 대해 하나씩 알아보겠습니다.
01. 본론만 정확하게 말하기
ChatGPT 텍스트 입력할 때 본론만 정확하게 말하는 것이 좋습니다. 커브 던지지 말고 강력하게 직구 던지시기 바랍니다. 너무 예의를 갖추는 내용 정말 미안한데, 괜찮으시다면 같은 존중과 예의를 갖추는 것 보다 본론만 간단하게 작성하는 것이 좋습니다.
- 예시) 이런 부탁해서 미안한데 괜찮으시다면 인간의 뇌 구조에 대해 친절하게 설명해 주시겠어요? (X)
- 방법) 인간의 뇌 구조에 대해 설명해 줄래? (O)
위와 같이 질문하고 싶은 내용을 핵심 단어 위주로 정확하게 본론만 말하는 것이 좋습니다.
02. 청중 설정하기
청중 설정하기는 의도한 청중을 미리 설정하고 질문하는 방법입니다. 아래 논문의 예시를 통해서 설명 드리겠습니다.
- “Construct an overview of how smartphones work, intended for seniors who have never used one before.
- “스마트폰을 한 번도 사용해보지 않은 시니어들을 위해, 스마트폰의 작동 방식에 대한 개요를 만드세요.”
‘스마트폰의 작동 방식에 대해 알려줘’라고 질문하는 것보다, ‘스마트폰을 한 번도 사용해 보지 않은 시니어들을 위해’라는 설정을 한 단계 더 제안하는 것입니다.
03. 세분화
복잡한 공식이나 계산을 간단한 프롬프트로 세분화하여 작업합니다. 예를 들어서 2x + 3y -(4x-5y) 계산해 줄래?라는 질문의 정답을 얻고 싶습니다.
- 먼저 괄호 안의 식을 처리합니다: 2x + 3y – (4x-5y)
- 이제 같은 항끼리 묶어줍니다: (2x – 4x) + (3y + 5y)
- 각 항을 계산합니다: -2x + 8y
모델의 업그레이드가 되면서 더 기대할 수 있는 내용인데요. 세분화 된 질문을 통해서 결과를 만들어가는 방식입니다. 계산식을 예로 들었지만 다른 질문의 대답 또한 적용해 보시기 바랍니다.
04. 긍정으로 말하기
아무래도 ChatGPT는 영어 기반의 언어 모델이라서 그런지 ‘무엇무엇 하지 마’와 같이 표현하는 것은 뭔가 자연스러운 화법이 아니기 때문에 무엇무엇 하지 마보다는 무엇무엇 해줄래? 와 같은 표현 방식이 더 잘 맞습니다.
- 반말 하지마 (X)
- 존댓말로 해줄래? (O)
예를 들어서 ‘반말 하지 마’보다는 ‘존댓말로 해줄래?’ 같은 방법의 표현이 더 좋습니다. 리얼 클래스 영어 회화 광고에서 보면 테일러가 ‘코트를 벗지 마’라는 표현을 설명하는 광고가 있는데요.
미국식 영어 개념에서는 ‘코트를 벗지 마’라고 하는 것이 아닌 코트를 계속 입고 있어(Keep your coat on.)라고 표현하는 것이 맞는다고 하네요. ChatGPT 또한 이런 영어식 표현의 개념과 같습니다. 요구하는 부분의 표현을 긍정으로 말하는 방법을 사용해 보셨으면 합니다!
05. 어린이라는 내용을 설정
보다 더 자세한 설명을 요구할 때 사용하면 좋은 방법입니다. 예를 들어서 ’10살짜리 어린이에게 설명하듯’이라는 구문을 추가해 주면 보다 더 친절하고 자세한 내용의 대답을 얻을 수 있습니다.
- “Explain to me like I’m 11 years old: how does encryption work?”
- “11살 아이에게 설명하듯이 말해줘: 암호화는 어떻게 작동하나요?”
원하는 답은 암호화는 어떻게 작동해?입니다. 여기에 11살 아이라는 설정을 추가했습니다. 이렇게 구문을 추가하면 더 자세하고 친절한 내용을 얻을 수 있는데 도움이 되겠어요!
마치며
프롬프트 엔지니어링에 대해 코넬 대학교 논문을 기반으로 26가지 방법 중에서 5가지 방법을 공유했습니다. ChatGPT를 활용하고 사용함에 있어서 가장 핵심이 되는 내용입니다. 몇 가지 방법을 알고 사용하면 보다 나은 양질의 대답을 얻게 될 거예요. 다음 콘텐츠에서 또 이어서 작성하겠습니다.