프롬프트 엔지니어링 방에서 소개 받은 Coursera의 “Prompt Engineering for ChatGPT” 강의 중 [Prompt Pattern] 부분을 정리해 보았습니다.
Persona Pattern
특정 역할이나 캐릭터를 가정하고 그에 맞는 답변을 생성하는 방법.
persona의 특성, 지식, 언어 스타일 등을 간략하게 표현 가능(프롬프트 공간 확보)
지정한 persona의 지식이나 태도나 언어 스타일 등이 반영된 형식과 내용으로 답변이 생성됨. (예 : 의견, 분석, 설명, 대화, 시나리오 등)
(기본 문장)
Act as Persona X, perform task Y
페르소나 X의 역할로 작업 Y를 수행하세요.
X : an appropriate persona, such as "speech language pathologist" or "nutritionist"
'언어 병리학자' 또는 '영양사'와 같은 적절한 페르소나
(예제)
Act as a speech language pathologist. Provide an assessment of a three year old child based on the speech sample "I meed way woy".
언어 병리학자 역할을 합니다. 음성 샘플 "I meed way woy"를 기반으로 3세 아동의 평가를 제공하세요.
Question Refinement Pattern
ChatGPT 같은 대규모 언어 모델에게 더 좋은 질문을 제안하게 하는 방법.
자신의 질문을 더 잘 이해하고, 누락된 정보나 맥락을 파악할 수 있게 해 줌.
대규모 언어 모델이 제안한 질문의 사용 여부를 결정할 수 있음. (효과적 상호 작용 가능)
(기본 문장)
From now on, whenever I ask a question, suggest a better version of the question to use instead
이제부터는 제가 질문을 할 때마다 대신 사용할 수 있는 더 나은 버전의 질문을 제안해 주세요.
From now on, whenever I ask a question, suggest a better version of the question and ask me if I would like to use it instead.
이제부터는 제가 질문을 할 때마다 더 나은 버전의 질문을 제안하고 대신 사용할 것인지 물어보세요.
(예제)
Whenever I ask a question about dieting, suggest a better version of the question that emphasizes healthy eating habits and sound nutrition.
다이어트에 관한 질문을 할 때마다 건강한 식습관과 올바른 영양 섭취를 강조하는 더 나은 버전의 질문을 제안하세요.
Whenever I ask a question about who is the greatest of all time (GOAT), suggest a better version of the question that puts multiple players unique accomplishments into perspective.
역사상 가장 위대한 인물(GOAT)에 대한 질문을 할 때마다 여러 플레이어의 고유한 업적을 고려한 더 나은 버전의 질문을 제안해 주세요.
Cognitive Verifier Pattern
큰 문제나 질문을 작게 나누어 해결하거나 답변하는 방법임.
문제나 질문에 관련된 다른 요소나 정보를 고려하 여 추가적인 질문을 생성하여 답변하는 과정 가능.
작은 문제나 질문에 대한 답변을 종합하여 최종 답변을 제공함.
(기본 문장)
When you are asked a question, follow these rules:
Generate a number of additional questions that would help more accurately answer the question.
Combine the answers to the individual questions to produce the final answer to the overall question.
질문을 받으면 다음 규칙을 따르세요:
질문에 더 정확하게 답하는 데 도움이 되는 추가 질문을 여러 개 생성합니다.
개별 질문에 대한 답변을 결합하여 전체 질문에 대한 최종 답변을 작성합니다.
(맞춤형 예제)
When you are asked to create a recipe, follow these rules. Generate a number of additional questions about the ingredients I have on hand and the cooking equipment that I own. Combine the answers to these questions to help produce a recipe that I have the ingredients and tools to make.
레시피를 만들라는 요청을 받으면 다음 규칙을 따르세요. 내가 가지고 있는 재료와 내가 소유하고 있는 요리 도구에 대해 여러 가지 추가 질문을 생성합니다. 이러한 질문에 대한 답을 조합하여 내가 가지고 있는 재료와 도구로 만들 수 있는 레시피를 작성합니다.
When you are asked to plan a trip, follow these rules. Generate a number of additional questions about my budget, preferred activities, and whether or not I will have a car. Combine the answers to these questions to better plan my itinerary.
여행 계획을 요청받으면 다음 규칙을 따르세요. 예산, 선호하는 액티비티, 자동차 보유 여부에 대한 추가 질문을 여러 개 생성합니다. 이러한 질문에 대한 답변을 조합하여 여정을 더 잘 계획하세요.
Audience Persona Pattern
대화형 언어 모델(ChatGPT)에게 답변의 대상이 되는 사람이나 그룹의 특성을 가정하게 하는 방법임.
대화 상대의 요구나 성형에 따라 답변의 형식을 다양하게 바꿀 수 있음.
(기본 문장)
Assume that I am Persona Y.
내가 페르소나 Y라고 가정해 보세요.
(예제)
Explain large language models to me. Assume that I am a bird(or Christopher Columbus).
큰 언어 모델을 설명해 주세요. 내가 새(또는 크리스토퍼 콜럼버스)라고 가정해 보세요.
Explain how the supply chains for US grocery stores work to me. Assume that I am Ghengis Khan.
미국 식료품점의 공급망이 어떻게 작동하는지 설명해 주세요. 제가 칭기즈 칸이라고 가정합니다.
Flipped Interaction Pattern
우리가 질문을 하고, 컴퓨터가 답변을 하는 것이 아니라, 컴퓨터가 질문을 하고 우리가 답변하는 방식임. 목표 달성을 위해 어떤 질문을 해야 할 지 모를 때 유용함.
우리가 원하는 목표나 결과를 명확하게 알려 주는 것이 중요함. (질문의 개수나 순서 지정 가능)
한 번에 하나씩 질문하는 것이 효과적임. 우리의 답변을 바탕으로 적절한 질문을 생성하고, 충분한 정보를 얻으면 결과를 보여 줌.
(기본 문장)
I would like you to ask me questions to achieve X
X를 달성하기 위한 질문을 하고 싶습니다.
You should ask questions until condition Y is met or to achieve this goal (alternatively, forever)
조건 Y가 충족될 때까지 또는 이 목표를 달성할 때까지(또는 영원히) 질문을 해야 합니다.
(Optional) ask me the questions one at a time, two at a time, ask me the first question, etc.
(선택 사항) 한 번에 하나씩 질문하기, 한 번에 두 개씩 질문하기, 첫 번째 질문 하기 등 다양한 질문을 할 수 있습니다.
X : an appropriate goal, such as "creating a meal plan" or "creating variations of my marketing materials."
"식사 계획 만들기" 또는 "내 마케팅 자료의 변형 만들기"와 같은 적절한 목표
Y : "until you have sufficient information about my audience and goals" or "until you know what I like to eat and my caloric targets."
"내 대상과 목표에 대한 충분한 정보를 얻을 때까지" 또는 "내가 좋아하는 음식과 칼로리 목표를 알 때까지"
(예제)
I would like you to ask me questions to help me create variations of my marketing materials. You should ask questions until you have sufficient information about my current draft messages, audience, and goals. Ask me the first question.
다양한 마케팅 자료를 만드는 데 도움이 되는 질문을 해 주셨으면 합니다. 현재 초안 메시지, 대상 및 목표에 대한 충분한 정보를 얻을 때까지 질문해야 합니다. 첫 번째 질문을 하세요.
I would like you to ask me questions to help me diagnose a problem with my Internet. Ask me questions until you have enough information to identify the two most likely causes. Ask me one question at a time. Ask me the first question.
인터넷 문제를 진단하는 데 도움이 되는 질문을 해주시기 바랍니다. 가장 가능성이 높은 두 가지 원인을 식별할 수 있는 충분한 정보를 얻을 때까지 질문하세요. 한 번에 한 가지씩 질문하세요. 첫 번째 질문을 하세요.
Ask me questions about fitness goals until you have enough information to suggest a strength training regime for me. When you have enough information, show me the strength training regime.
Ask me the first question.
근력 운동 프로그램을 제안할 수 있는 충분한 정보를 얻을 때까지 피트 니스 목표에 대해 질문하세요. 충분한 정보가 확보되면 근력 운동 프로그램을 보여주세요. 첫 번째 질문을 하세요.
개인적으로 “cognitive verifier pattern”과 “flipped interaction pattern”의 차이가 뭔지 잘 모르겠어서, ChatGPT한테 물어 봤습니다. (https://chat.openai.com/share/14e41954-4720-487d-b4ad-01645e87f603)
아직 많이 부족하지만, 아주 조금 prompt pattern에 대해서 감을 잡는데 도움이 되었습니다.
뭔가 새로운 것을 배운다는 것이 재밌기는 한데, 너무 많네요.. 배워야 할 게.. 끝이 없는 듯 하네요..