프롬프트 엔지니어 기법 (Zero Shot, Few Shot, Chain of Thought, 등)

김정곤·2024년 6월 27일

Intro


GPT를 사용하다 보면 분명히 유용할때가 많지만 원하는 답변이 나오지 않고 GPT가 같은 굴레에서 벗어나지 못할때에는 '역시 아직 멀었네'하는 생각과 동시에 매우 화가 난다. 이럴 때 필요한 것이 프롬프트 엔지니어링인데 특히나 단순 과제용이 아닌 본인의 사업에 챗봇을 사용하려면 프롬프트 엔지니어링을 통해 유저 경험을 상승 시키는 것이 중요하다. 어떠한 경우든, 원하는 답변을 정확히 얻기 위해 시도해볼만한 프롬트 엔지니어링 기법들을 살펴보자. 이전 프롬프트 엔지니어링 게시글을 참고하자.

Zero Shot

아무런 문맥, 상황 설명 없이 바로 물어보는 걸 뜻함.

굉장히 일반적인 질문이다 보니, 구체적으로 답변을 잘 하였다.

Few Shot

원하는 작업의 몇 가지 예시를 제공해 더 나은 답변을 제시하도록 유도

이 처럼 문맥을 이해시켜 내가 원하는 답변형식으로 유도할 수 있다. 축구선수를 물었을때 수비수, 미드필더, 공격수를 구분해서 설명하는 예시를 보여주고 웹개발 프레임워크에 대해 다시 물었다. 사실 백엔드, 프론트엔드를 구별해서 말해주기를 기대했는데, 더 똑똑하게 언어별 프레임워크를 소개를 한다.

Chain of Thoughts

GPT가 추론 및 생각을 해서 답변하게끔 유도. (GPT의 본인의 선택에 대한 reasoning을 강화한다)


Without Chain of Thought

단순한 few shot을 하였을때는 다음과 같은 답변이 나왔다.


With Chain of Thought

위의 예시는 같은 few shot이어도 chain-of-thought prompting을 통해 조금 더 구체적이고 본인의 답변에 대한 이유를 더 명확히 명시하게끔 유도한다.
먼저 "너가 생각했을 때"라는 prompt를 추가한다.
그리고 few shot의 예시에 본인의 답변에 대한 이유와 논리에 대해 더 정확히 설명하도록 한다.
chain of thought를 통해서 step-by-step thought process를 거친 답변을 구하는 과정을 흉내낼 수 있도록 유도한다.

Zero Shot Chain of Thought

few shot과는 다르게 예시를 주지 않는 Zero Shot이더라도 let's think step by step을 넣어준다.


zero shot cot를 사용하지 않았을때 GPT 4o는 검색을 하여 답변을 내놓았다. let's think step by step을 넣으니 실질적인 여러가지 상황을 고려한 답변을 직접 내놓는다.

Role Playing

인공지능에게 "너는 네이버 6년차 개발자야."라는 역할을 부여 해주고 "나는 너의 친구이고 개발 취준생이야"라며 나에 대한 배경 설명을 통해 원하는 답변 받기.

네이버 취업에 특화된 답변을 기대했으나 반말하는것을 제외하고는 크게 달라진 점이 없다. 실제 GPT API로 챗봇을 구현하면, system에 학습을 잘 시키면 이보다 훨씬 나은 답변을 생성할 것이나, 단순하게 GPT 4o에서 롤플레잉을 하려하면 생각보다 잘 되지 않는다. 실제 롤플레잉을 경험하려면 GPT 챗봇 학습을 읽어보거나 MBTI 상담소를 사용해봐라.

Humanize

GPT를 사람 대하듯이 하는 기법이다.

  • 이름 불러주기
  • 반복적으로 말해서 "강조하기"
  • 반드시 "가장 좋은 답"을 내라고 말하기.
  • 중요한 정보 알려주기.
  • 칭찬해주기.

    이전보다 문맥을 좀 더 강조해서 말하니, 네이버 취업 특화 전략을 알려주는 것을 알 수 있다.

Conclusion


상황에 따라서 사용해보면 좋을만한 몇 가지 프롬프트 엔지니어 기법들을 살펴보았다. 이것 말고도 다른 기법들이 무수히 많으며 모든 상황에서 모든 기법이 효과적인 것은 아니니 때에 따라서 시도해보면 좋을 것이다. 실제로 GPT를 사용하다보면 생각보다 내가 어떻게 질문을 하는지가 중요하다는 것을 깨닫는데, 때문에 관련한 연구와 논문들이 점 점 많아지는 추세이다. 인공지능이 발전할수록 해당 분야는 더욱 더 중요시 여겨지지 않을까 하는 생각이 있다.

profile
4차산업혁명 마스터

0개의 댓글