brunch

You can make anything
by writing

C.S.Lewis

by 류한석 Jan 18. 2024

가장 기본적인 “제로샷/원샷/퓨샷” 프롬프팅

기본 중의 기본

제로샷(Zero-shot), 원샷(One-shot), 퓨샷(Few-shot) 프롬프팅(Prompting)은 프롬프트 엔지니어링에서 가장 기본이 되는 프롬프트 작성 방식을 나열한 것입니다.


프롬프트가 대형언어모델에 입력되는 구체적인 메시지나 질문을 뜻한다면, 프롬프팅은 프롬프트를 사용하여 모델과 상호 작용하는 과정 또는 방식을 가리킵니다. 이는 프롬프트를 설계하고, 어떻게 모델에 제시할지, 결과를 해석하는 전반적인 행위를 포함합니다.


제로샷/원샷/퓨샷, 이들 3가지 방식은 모델에 답변 예시(example)를 얼마나 제공하는가에 따라 구분합니다. 샷=예시입니다. 즉, 예시를 하나도 제공하지 않으면 제로샷, 하나의 예시를 제공하면 원샷, 2~5개의 예시를 제공하면 퓨샷 프롬프팅입니다.


먼저, 제로샷 프롬프팅은 모델에 구체적인 예시를 제공하지 않고 주어진 작업을 수행하라고 요청하는 것입니다. 이 경우, 모델은 일반적인 지식과 문맥 이해력을 기반으로 답변합니다. 몇몇 사례는 다음과 같습니다.


정보 요청: 초보자를 위한 프로그래밍 언어를 알려주세요.

사실 또는 거짓: 다음 문장은 사실입니까, 아니면 거짓입니까? “태양은 달보다 작다.”

문장 분석: 다음 문장에 담긴 느낌을 설명해 주세요. “절친이 미국 유학을 떠났다.”

괄호 채우기: (       )은 과일 중 하나로, 보통 빨간색입니다.


다음으로, 원샷 프롬프팅은 하나의 예시를 제공하고 모델이 이를 참고해 작업을 수행하도록 하는 것입니다. 이 방식은 모델에게 기대하는 답변의 스타일을 알려줌으로써, 사용자가 원하는 답변을 유도합니다.



프롬프트


다음 글의 스타일을 반영해, “강아지”에 대한 글을 작성해 주세요.

- 예시: 고양이는 독립적인 성향이 강합니다. 그들은 홀로 시간을 보내는 것을 즐기며, 때로는 주인의 관심이나 도움 없이도 잘 지낼 수 있습니다.


챗GPT(GPT-4)


강아지는 일반적으로 사회적인 동물입니다. 그들은 사람이나 다른 동물들과의 상호 작용을 즐기며, 종종 주인이나 가족 구성원들과 밀접한 관계를 형성합니다. 강아지는 놀이와 애정 표현을 통해 주변 사람들과의 교류를 즐기며, 때로는 주인의 사랑과 관심을 갈망하기도 합니다. 이러한 사회성은 강아지가 무리 지어 생활하는 데 유용하며, 그들이 인간과의 강한 유대 관계를 발전시키는 데 기여합니다.


이 프롬프트는 GPT-3.5, 제미나이, 클로바X에서도 작동합니다. 다만, GPT-4 외에는 추론 능력의 부족으로 불필요한 답변을 추가로 생성할 수 있습니다.


이처럼 원샷 프롬프팅은 사용자가 원하는 형태로 글을 유도할 수 있어 특정 상황에서 유용하게 사용할 수 있습니다.


마지막으로, 퓨샷 프롬프팅은 2~5개의 예시를 제공하는 방식입니다. 이는 모델이 다양한 예시를 통해 작업의 맥락을 더 잘 이해하고, 보다 정확하게 작업을 수행할 수 있도록 돕습니다. 



프롬프트


#예시

- 그 사람에게 반했어. 그 사람은 정말 멋지고 매력적이야: [분석] 긍정적, 열정

- 사랑이란 건 정말 복잡해. 때로는 행복하고 때로는 아프다: [분석] 복합적, 갈등

- 우리가 헤어진 후, 나는 사랑이란 더 이상 믿을 것이 못 된다고 느껴: [분석] 부정적, 실망감


#처리

앞선 예시와 마찬가지로, 다음 문장을 분석해 주세요.

- 사랑은 때로는 어려움을 안겨주지만, 그 어려움을 함께 극복하는 게 가장 중요한 거야:


챗GPT(GPT-4)


[분석] 복합적, 협력


이 프롬프트는 GPT-3.5, 제미나이, 클로바X에서도 작동합니다. 대형언어모델의 응답 무작위성으로 인해 생성된 답변은 다를 수 있습니다.


정리하면, 제로샷 프롬프팅은 모델에게 제공할 예시가 없거나 또는 예시를 제공하지 않아도 무방할 때 사용하고, 원샷 프롬프팅은 하나의 예시로도 모델이 충분히 답변할 수 있을 때 사용하고, 퓨샷 프롬프팅은 여러 개의 예시로 모델의 이해도를 높여 더 나은 답변을 유도할 때 사용합니다.


이들 방식은 상황에 따라 적절히 활용되어야 합니다. 모델의 이해도를 고려하여 최적의 프롬프팅 전략을 수립하는 것이 중요합니다.


오늘 살펴본 3가지 프롬프팅은 사용자의 필요에 따라 다양하게 변형하고 응용해서 사용할 수 있습니다. 자신이 하고자 하는 작업에 맞는 프롬프팅을 고민하고 시행착오를 겪다 보면, 프롬프트를 작성하는 능력이 점차 향상되어 가는 걸 경험하게 될 겁니다.


본 글은 프롬프트 엔지니어링 연재의 일부입니다.
다른 기법, 패턴들도 참고하시길 바랍니다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari