프롬프트 엔지니어링 (deeplearning.ai)

챗지피티한테 명확하게 지시하기

whale3 2023. 5. 2. 23:06

인공지능 분야에서 아주 유명한 앤드류 응 선생님이 있는 deeplearning.ai 에서 '개발자들을 위한 챗지피티 프롬프트 엔지니어링' 강의를 무료로 공개했다. 

 

https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

 

ChatGPT Prompt Engineering for Developers

What you’ll learn in this course In ChatGPT Prompt Engineering for Developers, you will learn how to use a large language model (LLM) to quickly build new and powerful applications.  Using the OpenAI API, you’ll...

www.deeplearning.ai

MIT opensourceware나 mooc처럼 누구나 접근 가능한 이런 공부 컨텐츠들을 정말 좋아한다. 

 

 

지금 두번째 영상 보는 중인데 벌써 괜찮은 팁이 나왔다.

 

"명확하게 지시하기"

어떻게 명확하게 지시하느냐? 구분자를 활용하는 방법이 있다. 

가령 프롬프트를 이렇게 작성할 수 있겠다.

[three backticks로 구분된 텍스트를 한 문장으로 요약해줘. ```어쩌구저쩌구 요약하고싶은 텍스트가 와라라라라락```]

 

이렇게 구분자를 사용하면 prompt injection도 어느 정도 방어할 수 있단다.

 

그리고 대답에 특정 형식을 정해주는 것도 명확하게 지시하는 방법 중 하나다. 

[HTML로 대답해줘]

[JSON으로 대답해줘]

 

if문 처럼 조건에 따라 어떻게 할 지 알려주는 것도 방법이다. 영상에서 나온 예시를 활용하자면, 예로 레시피를 제공하고(위의 팁을 활용해서 예제 레시피는 세 개 따옴표로 묶어두고) 프롬프트에는

[세 개 따옴표로 구분된 글 주어질거야. 이 글이 레시피라면 ~~~하고, 만약 아니라면 '레시피가 아닙니다' 라고 대답해줘]

라고 할 수 있겠다. 

 

마지막으로 '명확하게 지시하기'를 잘하게 해주는 방법은 few-shot prompting

내가 챗지피티한테 입력하고 싶은 프롬프트와 그게 잘 실행되었을 경우의 예제를 프롬프트에 포함해서 모델에게 답변 예제를 알려주는 방식이다. 

 

 

내일은 요거 봐야지. give the model time to think 라는데 벌써 무슨 소린지 모르겠고 궁금하다.

https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/2/guidelines

 

반응형