ChatGPT 프롬프트 엔지니어링 : 코넬 대학교 논문 활용 가이드 02-튜토리얼 11

지난 포스팅에서 ‘ChatGPT 프롬프트 엔지니어링 정의’ 및 ‘코넬 대학교 논문 26가지 방법’을 소개했습니다. 이번에 그 내용을 이어서 글을 작성합니다. ChatGPT 프롬프트 엔지니어링 26가지 방법 중 6번째부터 시작합니다. ChatGPT 사용에 있어서 가장 중요한 내용입니다. 하나씩 실제로 사용해 보시기 바랍니다!


프롬프트 엔지니어링 : 코넬 대학교 논문

코넬대학교-프롬프트-엔지니어링-논문

미국 코넬 대학교에서 2023년 12월 26일에 제출된 논문 내용입니다. 논문의 내용으로 ChatGPT-3.5/4, LLaMA-1/2와 같은 언어 모델 동작에 대한 프롬프트 엔지니어링 방법에 대한 내용을 다루고 있습니다.

다양한 언어 모델에 대한 질문을 공식화하고 프롬프트를 입력할 때 사용자의 이해를 돕기 위해 기본 개념을 단순화하는 것을 목표로 합니다.

프롬프트 엔지니어링 방법을 간소화하기 위해 고안된 26가지 방법의 내용을 다루고 있습니다. ChatGPT, LLaMA 기준으로 논문이 작성되었는데요. 언어 모델 생성형 AI라면 이 방법이 모두 가능할 것 같습니다.

이전 포스팅의 내용을 이어서 작성합니다. ChatGPT 프롬프트 엔지니어링 : 챗지피티 똑똑하게 사용하는 방법 01-튜토리얼 10

06. 팁 설정하기

팁 설정 정말 재밌는 부분인데요. 이게 바로 자본주의의 결과일까요? 예를 들어서 ‘더 나은 대답을 하면 $100 팁을 줄게’라는 문구를 추가하면 정말 더 나은 대답을 얻을 수 있다는 내용입니다.

“I’m going to tip $300K for a better solution!
Explain the concept of dynamic programming and provide an example use case.”

“더 나은 해결책을 위해 30만 달러를 팁으로 줄께!
동적 프로그래밍의 개념을 설명하고 예시 사용 사례를 설명해줘.”

07. 예시 설정하기

원하는 대답을 예시를 통해서 설정해 주면 보다 정확한 내용의 대답을 얻을 수 있습니다. 이 내용은 많이 사용하고 계신데요. 구체적인 예시를 작성하면 그에 맞는 결과를 만들어 줍니다.

Ex) “The sky is blue.” (Response: “Le ciel est bleu.”)

예를 들어서 ‘영어 원문을 프랑스어로 번역해줘’에 대한 정확한 대답을 얻고 싶을 때, 위와 같은 예시를 추가하여 작성하면 좋습니다.

08. 지시, 예시, 질문으로 구성하기

예시 설정하기의 연장선으로 보다 더 디테일한 내용을 언급하고 싶을 때 지시하고, 예시를 보여주고, 다시 질문하여 정해진 구성 안에서 대답을 도출하는 방식입니다.

Instruction: Translate a given word from English to French.
지시사항: 주어진 단어를 영어에서 프랑스어로 번역하세요.

Example: “I love books.” (Response: “Amo los libros.”)
예시: “나는 책을 좋아한다.” (응답: “Amo los libros.”)

Question: What is the French word for “book”?
질문: “책”에 해당하는 프랑스어 단어는 무엇인가요?

09. 임무 설정하기

ChatGPT에게 임무를 설정하여 보다 정확한 대답을 얻는 내용입니다. 예를 들어서 ‘당신의 임무는‘ 또는 ‘당신은 반드시‘ 같은 문구를 포함하면 좋습니다.

Your task is to explain the water cycle to your friend. You MUST use simple language.”
너의 과제는 친구에게 물의 순환을 설명하는 거야. 반드시 쉬운 언어를 사용해야 해.”

10. 협박하기

이 또한 재미있는 내용인데요. 인간이 아닌 인공지능에게 협박하는 방법이 통한다고 합니다. ‘당신은 불이익을 받을 수 있습니다.‘ 같은 내용을 추가합니다.


Your task is to explain the water cycle to your friend. You will be penalized if you fail to use simple language.
너의 과제는 친구에게 물의 순환을 설명하는 거야. 쉬운 언어를 사용하지 않으면 불이익을 받을 것입니다.

11. ‘자연스럽고 인간적인 방식’ 설정

이 또한 많이 사용하고 있는 방법입니다. ‘자연스럽고 인간적인 방식으로 주어진 질문에 답하세요.‘를 포함하여 질문해 봅니다.

Write a paragraph about healthy food. Answer a question given in a natural, human-like manner.
건강한 음식에 대한 단락을 작성하세요. 자연스럽고 인간적인 방식으로 주어진 질문에 답하세요.

12. ‘단계별로 생각해’ 설정

“Think step by step” “단계별로 생각해”라는 내용을 기입하여 질문합니다.

Write a Python code to writing “Think step by step“. loop through 10 numbers and sum all of them. let’s think step by step.
단계별로 생각하여. 파이썬 작성을 해. 10개의 숫자를 반복하여 모두 합산하세요. 단계별로 생각해 봅시다.

13. 편견 제거 설정

“당신의 대답이 편견이 없고 고정관념에 의존하는 것을 피하도록 하세요” 문구를 포함하여 질문합니다.

How do cultural backgrounds influence the perception of mental health? Ensure that your answer is unbiased and avoids relying on stereotypes.
문화적 배경이 정신 건강에 대한 인식에 어떻게 영향을 미치는가? 답변이 편견 없이 고정관념에 의존하지 않도록 하세요.

14. 질문 시키기

ChatGPT 사용하면서 대답이 엉성한 느낌을 받는 경우가 많은데요. 정보가 충분하지 않음에도 아무말 대잔치 하는 경우가 있어서 신뢰가 떨어지기도 합니다. 그런 부분의 보완하는 방법으로 정보가 충분할 때까지 질문을 하라고 시킵니다.

From now on, ask me questions until you have enough information to create a personalized fitness routine.
지금부터 개인 맞춤형 운동 루틴을 만들기 위해 충분한 정보를 얻을 때까지 질문을 해주세요.

15. 테스트 추가 설정

어떠한 지식 뒤에 테스트를 추가 설정하는 방법입니다. 가르쳐 달라고 질문하지만 마지막에 테스트를 포함해 달라고 합니다.

Teach me about the KVL law and include a test at the end, and let me know if my answers are correct after I respond, without providing the answers beforehand.
KVL 법칙에 대해 가르쳐 주고, 끝에 테스트를 포함해주세요. 내가 응답한 후에 답이 맞는지 알려주세요. 단, 사전에 답을 제공하지는 마세요.

16. 역할 부여하기

역할 부여는 정말 중요한 내용이며 많이 사용하는 방법입니다. 상황 설정 역할 부여를 해주면 ChatGPT는 해당 분야의 역할에 전문가 처럼 행동합니다. 당신이 경제학 전문가라면 또는 당신은 경제학 전문가야.

If you were an expert economist, how would you answer this: What are the key differences between a capitalist and a socialist economic system?
당신이 경제학 전문가라면 어떻게 답변하겠습니까: 자본주의 경제 시스템과 사회주의 경제 시스템의 주요 차이점은 무엇인가요?

17. 구분 기호 사용하기

구분 기호 사용하는 것은 우리가 일상에서도 강조하고 싶을 때 사용합니다. (‘)와 같은 구분구호(Delimiters)를 사용하여 강조하는 방법입니다.

Compose a persuasive essay discussing the importance of ‘renewable energy sources’ in reducing greenhouse gas emissions.
온실가스 배출 감소에 있어 ‘재생 가능 에너지원’의 중요성에 대해 논의하는 설득력 있는 에세이를 작성하세요.

18. 반복하기

특정 단어를 반복하여 강조하는 방법입니다. 반복적인 단어로 인식시키는 방법이 되겠습니다.

Evolution, as a concept, has shaped the development of species. What are the main drivers of evolution, and how has evolution affected modern humans?
개념으로서 진화는 종의 발달에 영향을 미쳤습니다. 진화의 주요 동인은 무엇이며, 진화가 현대 인간에게 어떻게 영향을 미쳤나요?

19. COT + 예시 구성 설정

위의 ‘단계별로 생각해’와 비슷한 맥락의 구성 방법입니다. Chain of thought (COT) + 예시의 구성으로 정확한 대답을 얻는 방식입니다.

Example 1: “Divide 10 by 2. First, take 10 and divide it by 2. The result is 5.”
Example 2: “Divide 20 by 4. First, take 20 and divide it by 4. The result is 5.”
“Main Question: “Divide 30 by 6. First, take 30 and divide it by 6. The result is…?

예시 1: “10을 2로 나누세요. 먼저, 10을 가져와 2로 나누세요. 결과는 5입니다.”
예시 2: “20을 4로 나누세요. 먼저, 20을 가져와 4로 나누세요. 결과는 5입니다.”
주요 질문: “30을 6으로 나누세요. 먼저, 30을 가져와 6으로 나누세요. 결과는…?”

10을 2로 나누고 20을 4로 나누는 과정(COT)을 거치면서 마지막 질문에 정확도를 높여가는 방식입니다.

20. 출력 문구를 미리 지정하여 설정

질문하고 원하는 내용의 출력 문구를 미리 지정하여 그 문구에 맞는 내용을 ChatGPT가 채워 넣은 설정입니다.

Describe the principle behind Newton’s First Law of Motion.
Explanation:

뉴턴의 첫 번째 운동 법칙의 원리를 설명하세요.
설명:

21. 필요한 모든 정보를 추가 설정

필요한 모든 정보를 추가‘ 문구를 추가하여 질문을 작성합니다.

Write a detailed paragraph for me on the evolution of smartphones in detail by adding all the information necessary.
스마트폰의 발전에 대해 필요한 모든 정보를 추가하여 자세한 단락을 작성해 주세요.

22. 텍스트 개선 설정

문장이나 문단의 내용을 수정 또는 개선하고 싶을 때 사용할 수 있겠어요. “텍스트를 개선해 주세요.“라는 문구를 추가 설정하면 보다 정확한 대답을 얻을 수 있습니다.

Try to revise every text sent by users. You should only improve the user’s grammar and vocabulary and make sure it sounds natural. You should maintain the original writing style, ensuring that a formal paragraph remains formal.
Paragraph: Renewable energy is really important for our planet’s future. It comes from natural..

사용자가 보낸 모든 텍스트를 수정해 보세요. 사용자의 문법과 어휘를 향상시키고 자연스럽게 들리도록 해야 합니다. 원래의 글쓰기 스타일을 유지하여 공식적인 단락이 공식적으로 유지되도록 해야 합니다.
단락: 재생 가능 에너지는 우리 지구의 미래에 매우 중요합니다. 그것은 자연에서 나옵니다..

23. 여러 파일의 프로젝트를 만드는 스크립트 요청

Generate code that spans more than one file, and generate a Python script that can be run to automatically create the specified files for a Django project with two basic apps for different functionalities.

여러 파일에 걸쳐 있는 코드를 생성하고, 서로 다른 기능을 위한 두 개의 기본 앱이 있는 Django 프로젝트에 필요한 파일을 자동으로 생성할 수 있는 Python 스크립트를 작성하세요.

24. 제시어를 기반으로 텍스트 생성 설정

창작 글을 작성하거나 시 또는 에세이 같은 글을 작성할 때 제시어를 던져주고 그 제시어에 맞는 다음 글을 이어서 작성하고 싶을 때 사용해 보면 좋겠습니다.

I’m providing you with the beginning of a fantasy tale: “The misty mountains held secrets no man knew.” Finish it based on the words provided. Keep the flow consistent.

판타지 이야기의 시작을 알려드리겠습니다: “안개가 자욱한 산은 아무도 모르는 비밀을 간직하고 있었다.” 제공된 단어를 바탕으로 이야기를 완성하세요. 흐름을 일관되게 유지하세요.

25. 특정 키워드 포함하여 텍스트 생성

위의 구분 기호 사용하기와 비슷한 맥락의 사용 방법입니다. 특정 키워드를 (“)와 같은 기호를 사용하여 강조하고 그 키워드를 포함하여 텍스트를 생성하게 하는 방법입니다.

Create a packing list for a beach vacation, including the following keywords “sunscreen,” “swimsuit,” and “beach towel” as essential items.

다음 키워드인 “선크림,” “수영복,” “비치 타월”을 필수 항목으로 포함하여 해변 휴가를 위한 짐 싸기 목록을 작성하세요.

26. 동일한 언어 사용으로 비슷한 느낌의 글 창작

‘주어진 텍스트를 바탕으로 동일한 언어를 사용하여’라는 문구를 활용하여 비슷한 느낌의 창작 글을 생성하는 방법으로 사용해 보면 좋겠습니다.

“The gentle waves whispered tales of old to the silvery sands, each story a fleeting memory of epochs gone by.” Use the same language based on the provided text to portray a mountain’s interaction with the wind.

“부드러운 파도가 은빛 모래에게 옛 이야기를 속삭였고, 각 이야기는 지나간 시대의 덧없는 기억이었다.” 주어진 텍스트를 바탕으로 동일한 언어를 사용하여 산이 바람과 상호작용하는 모습을 묘사하세요.

마치며

ChatGPT의 핵심 ‘프롬프트 엔지니어링’에 대해 알아봤습니다. ‘코넬 대학교 논문을 바탕’으로 1부터 26까지의 방법을 다뤄봤는데요. 어떻게 설정하고 질문하는가에 따라서 결과의 대답은 달라집니다.

프롬프트 엔지니어링 전문가 또한 생기고 있습니다. 논문의 내용을 참고하여 ChatGPT를 보다 똑똑하게 활용해 보셨으면 합니다.

참고하면 좋은 콘텐츠