Skip to main content

프롬프트 엔지니어링의 기본 구조와 프롬프트 작성 예시

이전 가이드에서는 프롬프트 엔지니어링에 대해서 소개하고 기본적인 예시를 살펴 보았습니다. 오늘은 프롬프트가 어떻게 사용되는지에 대한 더 많은 활용 사례를 제공하고 유용한 프롬프트 작성 방법을 소개 하도록 하겠습니다.

1. 프롬프트 엔지니어링의 기본 구조

프롬프트는 일반적으로 작업을 지시하는 문장이나 질문으로 구성됩니다. 이는 모델에게 어떤 작업을 수행하도록 지시하는 역할을 합니다. 좋은 프롬프트를 작성하는 데는 다음과 같은 원칙이 있습니다.

프롬프트 엔지니어링 기본 구조

  • 명확성: 프롬프트는 모델에게 원하는 작업을 명확하게 지시해야 합니다.
  • 정확성: 프롬프트는 모델이 정확한 결과를 생성할 수 있도록 충분한 정보를 제공해야 합니다.
  • 간결성: 프롬프트는 불필요한 정보 없이 간결하게 작성되어야 합니다.

2. 프롬프트 엔지니어링 작성 사례

다양한 작업에 대한 프롬프트 작성 사례를 살펴보겠습니다.

프롬프트 엔지니어링 작성 사례

2.1 텍스트 요약 (Text Summarization)

먼저 프롬프트를 통해 간단한 설명을 요청을 할수도 있고 원하는 텍스트를 요약 할수 있습니다.

1) 설명 요청 하기

먼저 설명을 요청하는 예제를 보여드리겠습니다. "ChatGPT에 대해 설명해주세요"라는 프롬프트를 제공하면, 모델은 ChatGPT에 대한 전반적인 설명을 제공합니다.

프롬프트

ChatGPT에 대해 설명해주세요

출력

ChatGPT는 OpenAI에서 개발한 대화형 인공지능 언어 모델입니다. GPT는 'Generative Pre-trained Transformer'의 약자로, 이는 모델이 먼저 큰 규모의 데이터셋으로 사전 훈련된 후, 특정한 작업에 맞게 미세조정되는 생성 모델이라는 것을 의미합니다. Transformer라는 아키텍처를 사용하여 매우 긴 연속적인 텍스트 시퀀스를 처리할 수 있습니다.

ChatGPT는 다양한 주제에 대해 대화를 할 수 있으며, 자연어 질문에 대한 답변을 생성하고, 텍스트 기반의 여러 작업을 수행하는 데 사용됩니다. 그러나 ChatGPT는 사전에 수집된 데이터를 기반으로 학습하므로, 최신 정보나 사건에 대해 정확한 정보를 제공하지 못할 수도 있습니다. 또한, 종종 논리적이지 않거나 정확하지 않은 정보를 생성할 수도 있습니다.

현재로서는 2023년 7월 1일이며, 제가 기반으로 하고 있는 모델은 GPT-4 아키텍처입니다. 이는 GPT-3에 이어 나온 버전으로, 아마도 더 큰 규모의 파라미터와 더 정교한 학습 방법을 사용하고 있을 것입니다. GPT-4는 이전 버전보다 더 높은 성능과 능력을 가질 수 있으나, 여전히 한계와 단점들이 존재합니다.

2) 요약 하기

설명을 위한 프롬프트에 이어 원하는 텍스트를 요약 할 수 있는 프롬프트의 예시를 보여드리겠습니다.

프롬프트

아래의 내용을 요약 해주세요 [요약이 필요한 내용]

단순한 요약 뿐만 아니라 아래와 같이 한문장으로 요약 하거나 3개의 불릿 포인트로 요약 할 수도 있습니다.

  • 한문장 요약
프롬프트

아래의 내용을 간단한 한문장으로 요약 해주세요 [요약이 필요한 내용]

출력

ChatGPT는 OpenAI가 개발한 GPT-4 아키텍처 기반의 대화형 인공지능으로, 대량 데이터 사전 훈련 후 미세조정을 통해 다양한 주제의 대화와 텍스트 처리를 수행하지만, 최신 정보 처리와 정확성에는 한계가 있습니다.

  • 3개의 불릿 포인트 요약
프롬프트

아래의 내용을 3개의 불릿 포인트로 요약 해주세요 [요약이 필요한 내용]

출력
  • ChatGPT는 OpenAI가 개발한 GPT-4 기반의 인공지능 언어 모델로, 대량의 데이터를 사전에 학습하고 Transformer 아키텍처를 사용해 긴 텍스트를 처리합니다.
  • 다양한 주제에 대한 대화와 자연어 질문에 답변을 생성하는 데 사용되지만, 사전에 수집된 데이터를 기반으로 하므로 최신 정보 처리에는 한계가 있습니다.
  • GPT-4는 GPT-3보다 더 많은 파라미터와 정교한 학습 방법을 사용하여 성능이 향상되었으나, 여전히 논리적이지 않거나 정확하지 않은 정보를 생성하는 등의 단점이 존재합니다.

2.2 정보 추출 (Information Extraction)

ChatGPT를 통해 주어진 내용에서 원하는 정보를 추출 할 수 있습니다. 원하는 정보를 추출 하는 프롬프트의 예시를 보여드리겠습니다. 문단에서 언급된 대형 언어 모델 기반 제품은 무엇인가요?"라는 프롬프트를 제공하면, 모델은 "ChatGPT"라고 답변합니다.

프롬프트

아래 문단에서 언급된 대형 언어 모델 기반 제품은 무엇인가요? [주어진 내용] ChatGPT는 OpenAI에서 개발한 대화형 인공지능 언어 모델입니다. GPT는 ..

출력

아래 문단에서 언급된 대형 언어 모델 기반 제품은 "ChatGPT"입니다.

2.3 질문 응답 (Question Answering)

ChatGPT는 어디서 만들었나요?"라는 질문에 대한 답변을 요구하는 프롬프트를 제공하면, 모델은 "ChatGPT는 OpenAI에서 만들었습니다."라고 답변합니다.

프롬프트

ChatGPT는 어디서 만들었나요?"

출력

ChatGPT는 OpenAI에서 만들었습니다.

2.4 텍스트 분류 (Text Classification)

텍스트를 중립, 부정, 긍정으로 분류하세요"라는 프롬프트를 제공하면, 모델은 텍스트의 감정을 분류합니다.

프롬프트

텍스트를 중립, 부정, 긍정으로 분류하세요. 텍스트: 음식이 괜찮았다고 생각해요.

출력

분류: 중립

2.5 대화 (Conversation)

대화 상대를 지정 하고 대화를 시작 할 수 있습니다. AI비서와의 대화입니다. AI비서의 답변은 초등학생도 이해할 수 있도록 쉽게 해야 합니다"라는 프롬프트를 제공하면, 모델은 AI비서 처럼 간단하고 이해하기 쉬운 답변을 제공합니다.

프롬프트

AI비서와의 대화입니다. AI비서의 답변은 초등학생도 이해할 수 있도록 쉽게 해야 합니다.

출력

알겠어요! 어떤 것을 도와드릴까요? 말해주세요!

대화 예시

프롬프트

블랙홀에 대해 설명해주세요

출력

블랙홀이란, 우주에 있는 아주 특별한 공간이에요. 이 공간은 정말정말 강한 힘으로 모든 것을 빨아들여요. 블랙홀 주변으로 갈수록 물건들이 점점 빨려들어가고, 결국엔 블랙홀 안으로 들어가버려서 나올 수 없어요. 그래서 블랙홀을 '우주의 무한한 빨대'라고 생각하면 돼요. 빛조차도 블랙홀에 빨려들어가서, 블랙홀 주변은 아주아주 어둡답니다.

3. 결론

지금까지 다양한 작업에 대한 프롬프트 작성 사례를 살펴보았는데요, 좋은 프롬프트 작성을 위해서는 다음과 같은 절차를 따르는 것이 좋습니다.

  • 문제 이해: 프롬프트를 작성하기 전에, 모델이 수행해야 하는 작업을 정확히 이해하는 것이 중요합니다. 이를 위해, 작업을 여러 단계로 나누고, 각 단계를 명확하게 정의하는 것이 도움이 될 수 있습니다.

  • 프롬프트 테스트: 프롬프트를 작성한 후에는, 그것이 원하는 결과를 생성하는지 테스트하는 것이 중요합니다. 이를 통해 프롬프트의 효과성을 평가하고 필요한 경우 수정할 수 있습니다.

  • 반복적인 개선: 프롬프트 엔지니어링은 반복적인 과정입니다. 프롬프트를 계속 개선하고, 다양한 방법을 시도하면서, 가장 효과적인 프롬프트를 찾아내는 것이 중요합니다.

프롬프트 엔지니어링은 자연어 처리 모델의 성능을 크게 향상시키는 데 중요한 역할을 합니다. 이 글에서는 프롬프트 엔지니어링의 기본 원칙과, ChatGPT에 효과적인 프롬프트를 작성하는 방법에 대해 알아보았습니다. 이 글이 프롬프트 엔지니어링에 대한 이해를 돕는데 도움이 되었으면 좋겠습니다. 다음 시간에는 더 고급 프롬프트 엔지니어링 기법에 대해 알아보겠습니다. 감사합니다!

** 참고 자료 **

https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-basic-usage.md