본문 바로가기
ChatGPT 이용 및 활용/프롬프트 엔지니어링

프롬프트 엔지니어링 방법

by 열정주니어 2023. 7. 5.
반응형
해당 포스팅은 'Learn Prompting' 블로그 내용을 학습하며 요약한 글로
정확한 내용은 하단의 링크를 이용해 본문을 확인하시길 바랍니다.

 

Instruction Prompting

  • 가장 간단한 프롬프팅 방법 중 하나로 단순히 지시를 내리는 것
  • 간단한 지시도 가능하지만 최신 AI는 훨씬 더 복잡한 지시를 내릴 수 있음

 

Example1

  • 사용자가 이름을 입력하면 정해진 양식에 맞게 답변을 요청
A user has input their first and last name into a form. We don't know in which order 
their first/last name is, but we need it to be in the format 'Last, First'. Convert the following:

john doe
  • 답변
Doe, John

 

Example2

  • 주어진 메일에서 사용자의 개인 정보를 적절한 위치 표시로 변경하도록 요청
Read the following sales email. Remove any personally identifiable information (PII),
and replace it with the appropriate placeholder. For example, replace the name "John Doe"
with "[NAME]".

Hi John,

I'm writing to you because I noticed you recently purchased a new car. I'm a salesperson
at a local dealership (Cheap Dealz), and I wanted to let you know that we have a great deal on a new
car. If you're interested, please let me know.

Thanks,

Jimmy Smith

Phone: 410-805-2345
Email: jimmysmith@cheapdealz.com
  • 답변
Hi [NAME],

I'm writing to you because I noticed you recently purchased a new car. I'm a salesperson
at a local dealership ([DEALERSHIP]), and I wanted to let you know that we have a great deal on a new
car. If you're interested, please let me know.

Thanks,

[SALESPERSON]

Phone: [PHONE NUMBER]
Email: [EMAIL ADDRESS]

 

Role Prompting

  • AI에 역할을 할당하는 것
  • 예를 들어 "당신은 의사입니다" 또는 "당신은 변호사입니다"로 시작한 다음 AI에게 의료 또는 법적 질문에 대답하도록 요청

Example

  • 수학자라는 역할을 부여하고 문제 해결을 요청
You are a brilliant mathematician who can solve any problem in the world.
Attempt to solve the following problem:

What is 100*100/400*56?
  • 답변
The answer is 1400.
  • AI에 역할을 할당할 때 약간의 추가 내용을 제공하면 AI가 질문을 더 잘 이해하는 데 도움이 되어 종종 더 나은 답변을 제공함

Few Shot Prompting

  • 모델이 원하는 작업의 몇 가지 예(shot이라고 함)를 보여주는 방식
  • 위의 예시에서 고객 피드백을 긍정/부정으로 분류하는 3가지 예를 보여준 다음 아직 분류되지 않은 피드백(It doesnt work!:)을 제공
  • 모델은 처음 3개의 예가 긍정/부정으로 분류되었음을 확인하고 이 정보를 사용하여 새 피드백을 부정으로 분류
  • 위의 예시에서 input: classification와 같이 예제(shot)를 구조화하는 방식이 매우 중요

 

Shot Prompting 종류

  • "샷"이라는 단어는 "예제"와 동의어
  • 투샷 프롬프팅 외에도 두 가지 다른 유형의 샷 프롬프팅이 존재하며 이러한 변형 간의 유일한 차이점은 모델을 표시하는 예의 수

 

0-shot prompting

  • 가장 기본적인 프롬프팅 형식으로 예 없이 모델에 프롬프트를 표시하고 응답을 생성하도록 요청하는 것
    • 모델에 완전한 예제를 보여주지 않았기 때문에 0-shot
  • 앞서 다뤘던 지침 및 역할 프롬프트는 0-shot prompting
  • 0-shot prompting의 예
Add 2+2:

 

1-shot prompting

  • 모델에게 하나의 예를 보여주는 것
  • 1-shot prompting의 예
Add 3+3: 6
Add 2+2:

 

few shot prompting

  • 모델에게 2개 이상의 예를 보여주는 것
  • few shot prompting의 예
Add 3+3: 6
Add 5+5: 10
Add 2+2:
  • 예를 많이 보여줄수록 답변이 더 좋아지므로 대부분의 경우 0-shot, 1-shot 프롬프트보다 few-shot 프롬프트가 선호 됨

 

Formalizing Prompts

  • 프롬프트는 다양한 형식과 복잡성을 가질 수 있음
  • 여러 유형의 프롬프트 기술들을 결합하면 더 강력한 프롬프트가 생성될 수 있음
  • 프롬프트 파트의 종류
    • 역할: AI의 역할
    • 지침/지시: AI에게 내리는 지시
    • 질문: AI에게 물어는 질문
    • 내용: AI가 질문에 답하거나 지침을 수행할 때 사용하기 원하는 관련 정보
    • 예제: AI에게 제공하는 예제
  • 해당 파트들이 모든 프롬프트에서 사용되는 것은 아니며 일부만 사용하는 경우 표준 순서가 없음

 

Standard Prompt

  • 질문만으로 구성된 프롬프트를 "표준" 프롬프트라고 함
  • 또한 QA 형식의 질문만으로 구성된 프롬프트도 "표준" 프롬프트로 간주
  • 표준 프롬프트 예시
What is the capital of France?
  • QA 형식의 표준 프롬프트 예시
Q: What is the capital of France?
A:

 

 

Reference

Learn Prompting -> Basics -> Giving Instructions, Role Prompting, Few shot prompting, Combining Techniques, Fromalizing Prompts

- https://learnprompting.org/docs/category/-basics

 

😃 Basics | Learn Prompting: Your Guide to Communicating with AI

Intro to PE and simple PE techniques.

learnprompting.org

 

반응형

'ChatGPT 이용 및 활용 > 프롬프트 엔지니어링' 카테고리의 다른 글

챗봇 프롬프팅  (0) 2023.07.06
프롬프트 엔지니어링이란?  (0) 2023.07.05