프롬프트에 좋은 대답이 어떤 것인지 모델에 보여주는 예시를 포함할 수 있습니다. 모델은 예시의 패턴과 관계를 식별한 후 응답을 생성할 때 이를 적용합니다. 예시가 포함된 프롬프트를 퓨샷 프롬프트라고 하며 예시를 제공하지 않는 프롬프트를 제로샷 프롬프트라고 합니다. 퓨샷 프롬프트는 모델 응답의 출력 형식 지정, 문구, 범위 지정 또는 일반적인 패턴을 규제하는 데 자주 사용됩니다. 모델이 초점을 좁히고 더 정확한 결과를 생성할 수 있도록 구체적이고 다양한 예시를 사용합니다.
프롬프트에 퓨샷 예시를 포함하면 프롬프트의 신뢰성과 효과를 높일 수 있습니다. 하지만 항상 퓨샷 예시에 명확한 안내를 제공해야 합니다. 명확한 안내가 없으면 모델이 예시에서 의도하지 않은 패턴이나 관계를 선택하여 결과가 나쁠 수 있습니다.
이 전략의 핵심 사항은 다음과 같습니다.
- 프롬프트에 프롬프트-응답 예시를 포함하면 모델이 응답하는 방법을 배울 수 있습니다.
- XML과 유사한 마크업을 사용하여 예시를 마크업합니다.
- 포함할 프롬프트 수를 실험해 보세요. 모델에 따라 모델 동작을 변경하는 데 효과적이지 않은 예시가 너무 적습니다. 예시가 너무 많으면 모델이 과적합하게 될 수 있습니다.
- 여러 예시에 일관된 형식 사용
제로샷 프롬프트와 퓨샷 프롬프트 비교
다음 제로 샷 프롬프트는 모델에 텍스트에서 기술 사양을 추출하고 JSON 형식으로 출력하도록 요청합니다.
Extract the technical specifications from the text below in JSON format. Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass { "Network": "5G", "RAM": "8GB", "Processor": "Tensor G2", "Storage": "128GB", "Color": "Lemongrass" } |
사용 사례에 소문자 키 이름과 같은 특정 형식이 필요하다고 가정해 보겠습니다. 프롬프트에 JSON 형식을 지정하는 방법을 모델에 보여주는 예시를 포함할 수 있습니다. 다음 퓨샷 프롬프트에서는 JSON 키가 소문자인 출력 형식을 보여줍니다.
Extract the technical specifications from the text below in a JSON format. <EXAMPLE> INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } </EXAMPLE> Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass { "product": "Google Pixel 7", "network": "5G", "ram": "8GB", "processor": "Tensor G2", "storage": "128GB", "color": "Lemongrass" } |
이 예시에서는 XML과 유사한 형식을 사용하여 프롬프트 구성요소를 구분합니다. XML과 유사한 형식을 사용하여 퓨샷 프롬프트 형식을 최적화하는 방법을 자세히 알아보려면 프롬프트 구조를 참조하세요.
최적의 예시 수 찾기
프롬프트에서 가장 원하는 결과를 제공할 예시 수를 실험해볼 수 있습니다. PaLM 및 Gemini과 같은 모델은 종종 몇 가지 예시를 사용하여 패턴을 선택하지만, 원하는 결과를 얻기 위한 예시 수에 대해 실험해야 할 수 있습니다. 동시에 너무 많은 예시를 포함하면 모델이 예시에 대한 응답에 과적합하게 될 수 있습니다.
다음 단계
- 프롬프트 갤러리에서 프롬프트 예시 살펴보기