프롬프트 엔지니어링 전략은 예상 출력을 얻고 모델 성능을 극대화하는 데 매우 중요합니다. 이 페이지에서는 생성형 AI 모델, 특히 Gemini와 상호작용하기 위한 주요 프롬프트 전략을 간략하게 설명합니다.
프롬프트 전략에 대한 자세한 내용은 Google Cloud 문서의 프롬프트 전략 개요를 참고하세요.
프롬프트 설계 기본사항
프롬프트는 생성형 AI 모델의 기본 입력으로, 특정 출력을 생성하도록 지시합니다. 프롬프트는 단일 질문부터 컨텍스트, 예시, 특정 출력 형식 요구사항을 통합하는 복잡한 다중 파트 안내까지 다양합니다.
효과적인 프롬프트를 위한 주요 고려사항은 다음과 같습니다.
- 명확하고 구체적인 지침 제공: 프롬프트를 설계할 때는 모델이 수행해야 할 작업을 명확하고 구체적으로 지정하는 것이 중요합니다. 모호하거나 애매한 프롬프트는 예상치 못한 관련성이 없는 출력을 생성할 수 있습니다. 예를 들어 '시를 써 줘'라고 요청하는 대신 '로버트 프로스트의 스타일로 자연의 아름다움에 관한 짧은 시를 써 줘'라고 구체적으로 요청할 수 있습니다. 또한 컨텍스트를 제공하면 모델이 예상되는 작업을 이해하고 관련 응답을 생성하는 데 도움이 됩니다.
- 복잡한 작업 세분화: 복잡한 작업의 경우 프롬프트를 더 작고 관리하기 쉬운 하위 작업으로 세분화하는 것이 유용한 경우가 많습니다. 이 전략을 사용하면 모델이 한 번에 한 가지 측면에 집중할 수 있으며, 더 정확하고 일관된 결과를 얻을 수 있습니다. 예를 들어 모델이 이야기를 쓰도록 하려면 등장인물, 배경, 줄거리, 대화를 생성하는 프롬프트로 각각 나눌 수 있습니다.
- 결과를 바탕으로 실험하고 반복: 프롬프트 설계는 반복적인 프로세스인 경우가 많습니다. 다양한 접근 방식, 문구, 매개변수를 실험하여 필요에 가장 적합한 결과를 찾을 수 있습니다. 이 과정에는 다양한 프롬프트 길이를 시도하거나, 명령어를 바꿔 쓰거나, 출력의 무작위성을 제어하는 모델의 온도 설정을 조정하는 것이 포함됩니다. 온도가 높을수록 더 창의적이고 예측 불가능한 출력이 생성되며, 온도가 낮을수록 더 결정론적이고 집중된 응답이 생성됩니다.
핵심 프롬프트 기법
여러 기법을 사용하여 프롬프트를 최적화하고 생성형 AI 모델에서 원하는 동작을 유도할 수 있습니다.
다음 표에는 생성형 AI 모델의 필수 프롬프트 방법이 나와 있습니다.
| 프롬프트 방법 | 설명 | 프롬프트 예시 |
|---|---|---|
| 제로샷 프롬프팅 | 특정 예시 없이 모델에 직접 쿼리하여 사전 학습된 지식과 일반화 능력을 활용합니다. 다양하고 포괄적인 학습 데이터에 효과적입니다. | Translate "Hello, how are you?" into French. |
| 퓨샷 프롬프팅 | 프롬프트에 몇 가지 예시를 제공하여 모델의 출력을 안내하고 예상되는 형식이나 패턴을 보여주면 정확도를 높일 수 있습니다. | Translate the following sentences into Spanish: "My name is Alice." = "Me llamo Alice." / "I like to read." = "Me gusta leer." / "Where is the library?" = |
| 역할 프롬프팅 | 모델에 특정 역할 (예: '유용한 어시스턴트' 또는 '전문 편집자')을 할당하여 어조, 스타일, 콘텐츠에 영향을 주고 출력을 해당 페르소나에 맞춥니다. | You are a seasoned journalist. Write a brief news report on the latest advancements in renewable energy. |
| 요청 프롬프팅 | 간결하고 명확한 언어를 사용하여 예상되는 작업이나 행동을 명시적으로 명시하고, 출력 요구사항, 제약 조건, 형식 요구사항을 지정합니다. | Summarize the following text into a three-sentence paragraph, focusing on the key arguments and conclusions: ... |
고급 프롬프트 전략
핵심 기법 외에도 고급 전략을 사용하여 출력을 추가로 개선할 수 있습니다.
- 연쇄적 사고 프롬프팅: 프롬프트의 일부로 일련의 중간 추론 단계를 제공하여 모델이 단계별로 생각하도록 유도합니다. 이 전략은 논리적 추론이나 문제 해결이 필요한 작업에 유용할 수 있습니다. 예를 들어 모델에 수학 단어 문제를 질문하는 경우 문제 해결 단계를 안내하는 프롬프트 시리즈를 포함하세요.
- 그라운딩: 모델의 이해력과 응답 생성 기능을 향상하기 위해 외부 정보나 지식을 제공합니다. 이 프로세스를 통해 모델은 관련 문서, 데이터베이스 또는 API에 액세스할 수 있습니다. 모델을 그라운딩하면 정확성, 사실성, 정보에 입각한 대답을 생성하는 능력을 개선할 수 있습니다. 예를 들어 모델이 특정 주제에 관한 질문에 답변하도록 하려면 관련 기사나 연구 논문을 그라운딩으로 제공하세요.
- 검색 증강 생성 (RAG): 모델을 사용하여 기술 자료 또는 외부 소스에서 관련 정보를 검색합니다. 그런 다음 검색된 정보를 프롬프트에 통합하여 응답 생성을 안내합니다. RAG는 질문에 답변하거나 문서를 요약하는 등 많은 정보나 지식에 액세스해야 하는 작업에 유용할 수 있습니다.
주요 고려사항
잘 구성된 프롬프트를 설계할 때는 다음 사항을 고려하세요.
- 명확하고 간결하게 작성하세요. 자세한 프롬프트는 유용할 수 있지만 지나치게 길거나 복잡한 프롬프트는 모델에 혼란을 줍니다.
- 효과적인 프롬프트를 작성하는 데 사용하는 모델의 구체적인 특징을 이해합니다.
- 사실에 기반한 정보를 생성하기 위해 모델에 의존하지 마세요.
- 수학 및 논리 문제에 주의해서 사용하세요.