[ChatGPT] Prompt & Prompt Engineering

jini.choi·2024년 4월 2일

ChatGPT

목록 보기
2/2

Prompt

구성요소1: 작업 지침

  • 수행해야하는 작업에 대한 명확하고 간결한 지시

  • 프롬프트의 가장 핵심적인 부분

  • 작업 지침에서 입력해 주는 것듯

    • 프롬프트의 작성 목적 >> "쉽게 요약해줘"
    • 작업의 참고 범위 >> "[TEXT]를 보고", "[User]정보를 활용하여", ...
    • 제약 조건 >> "5문단 이내로",...

구성요소2: 컨텍스트

  • 컨텍스트는 시스템 메세지에 적는것을 권장

    시스템 메세지는 gpt가 지속적으로 봐야하는 데이터들

  • 3세대 이상의 챗봇에서는 필수적인 요소

  • 보다 정확하고 일관된 답변 생성의 핵심

  • 적절한 응답을 생성하는 것에 아주 큰 도움, 할루시네이션 감소
    (할루시네이션은 AI 모델이 정확하지 않거나 사실이 아닌 조작된 정보를 생성하는 것을 의미)

  • 컨텍스트에 포함 가능한 정보들

    • 도메인 관련 지식, 노하우와 같은 세부 정보 >> "초등학생이 어려워 하는 단어들은 쉬운 단어로 대체해야 합니다.", "어려운 단어: 통화, 대미무역, 체제, 태환",...
    • 용어 정의 및 설명 >> "대미 무역: 미국을 대상으로 하는 무역",...
    • 개인화 정보 >> "수강생 A는 ~에 관심이 많습니다",...

구성요소3: 페르소나

  • 페르소나는 시스템 메세지에 적는것을 권장

  • 답변의 어조 및 스타일을 형성하는 데 중요한 역할

  • 사용 용도나 활용 분야에 따라 다른 페르소나를 부여함

  • 페르소나에서 입력해 주는 것들

    • 현재상황(맥락) >> "너는 초등학생에게 개인 교습을 해주고 있어"
    • 직업(전문성) >> "너는 어려운 내용을 쉽게 알려주는 초등학교 선생님이야","너는 python 5년차 백엔드 엔지니어야", "너는 java spring 숙연자야",...
    • 어조 >> "친구에게 대하듯 편하게 말해줘"

구성요소4: 예제

  • 반드시 필요한 구성 요소는 아니다.
    • 자연어 처리 목적으로 ChatGPT를 활용할 때 추가
    • 출력물을 Json, XML과 같은 포맷으로 나오게 하고 싶을 때 추가하면 안정적(Agent)
  • ChatGPT에게 제공한 예제의 숫자에 따라, Zero-Shot, One-Shot...

  • 관련 팁

    • 프롬프트의 지침, 페르소나, 컨텍스트를 모두 고려하여 실제 ChatGPT가 할 법한 예시로 제공하기
    • 자연어 처리 용도(특히 분류 문제)로 사용한다면 다양한 예시를 제공하기
    • 예제 숫자가 너무 많아지면 프롬프트가 길어져서 좋지 않다. >> 토큰 비용 증가, 프롬프트가 길어지면 놓치는 부분이 생김

구성요소5: 시작 단어 및 구문

  • 답변의 형식과 내용을 결정하는데 중요한 역할

  • 페르소나의 일관성을 유지하는 것에 도움

  • 시작 단어 >> "1)", "1) 안녕!"...

profile
개발짜🏃‍♀️

0개의 댓글