AI 가 말하는 프롬프트 엔지니어링의 원칙
AI 를 다루는 다양한 프레임워크, 라이브러리, 툴 들이 개발되어 제공되고 있지만 언어모델 자체를 우리가 원하는 방식으로 동작하도록 새롭게 생성하기는 어렵습니다. 대신 기존의 언어모델을 가지고 우리 의도대로 튜닝을 할 수는 있겠습니다.
언어모델 튜닝하는 방법론은 크게 3가지가 있습니다. 아래에서 오른쪽으로 갈 수록 어렵고 시간과 리소스가 많이 필요하지만 효율적인 방식입니다.
AI 를 다루는 가장 직관적이고 단순한 방법은 프롬프트일 것입니다. 나의 의도를 만족할 수 있도록 AI 에게 던지는 질문을 잘 만드는 것이죠.
아래는 프롬프트의 작성 원칙에 대해 AI 가 제시하는 대답입니다.
1. 명확하고 구체적인 지시
- 단도직입적인 표현: AI가 오해 없이 명령을 수행할 수 있도록 간결하고 명확하게 지시해야 합니다.
- 구체적인 예시: 가능한 경우, 원하는 결과물의 예시를 제시하여 AI가 더욱 정확하게 이해하도록 돕습니다.
- 핵심 키워드 강조: 중요한 키워드를 반복하거나 강조하여 AI가 해당 키워드에 집중하도록 유도합니다.
2. 문맥 제공
- 앞뒤 문장: 현재 문맥과 관련된 앞뒤 문장을 함께 제공하여 AI가 더욱 자연스러운 답변을 생성하도록 유도합니다.
- 세부 정보: 필요한 경우, 시간, 장소, 인물 등 세부 정보를 추가하여 AI가 더욱 풍부한 답변을 생성하도록 돕습니다.
3. 다양한 표현 시도
- 다른 표현: 같은 의미를 다른 표현으로 바꿔가며 여러 번 시도해 보는 것이 좋습니다. AI는 다양한 표현에 노출될수록 더욱 정확하게 이해하고 응답할 수 있습니다.
- 유사한 질문: 비슷한 질문을 여러 가지 방식으로 해보면서 AI의 반응을 비교해 볼 수 있습니다.
4. 제한 조건 설정
- 길이 제한: 답변의 길이를 제한하거나, 특정 형식으로 답변하도록 지시할 수 있습니다.
- 톤 조절: 답변의 톤을 공식적, 비공식적, 유머러스 등으로 조절할 수 있습니다.
- 정보 제한: 특정 정보를 포함하거나 제외하도록 지시할 수 있습니다.
5. 지속적인 개선
- 피드백: AI가 생성한 답변에 대한 피드백을 제공하여 모델을 지속적으로 개선합니다.
- A/B 테스트: 다양한 프롬프트를 테스트하여 가장 효과적인 프롬프트를 찾습니다.
- 데이터 학습: 다양한 유형의 질문과 답변 데이터를 학습시켜 AI의 능력을 향상시킵니다.
예시
- 나쁜 예시: “인공지능에 대해 설명해줘.”
- 좋은 예시: “인공지능이란 무엇이며, 우리 삶에 어떤 영향을 미치는지 간략하게 설명해줘. 마치 10살 아이에게 설명하듯 쉽게 설명해줘.”
핵심: 명확하고 구체적인 지시, 문맥 제공, 다양한 표현 시도, 제한 조건 설정, 지속적인 개선을 통해 AI 챗 서비스의 품질을 높일 수 있습니다.
추가적으로 고려해야 할 사항:
- AI 모델의 특성: 사용하는 AI 모델의 특성에 따라 최적의 프롬프트 작성 방식이 달라질 수 있습니다.
- 도메인 지식: 챗 서비스가 제공하는 정보의 종류에 따라 필요한 도메인 지식이 달라집니다.
- 사용자의 의도: 사용자가 원하는 정보를 정확하게 파악하고 이에 맞는 프롬프트를 작성해야 합니다.
AI 답게 다소 장황하게 설명되어 있지만, 요약을 하자면 “지시”, “예시”, “맥락”, “질문” 의 관점에서 프롬프트를 구성하라는 겁니다.
지시 (Instruction) | AI가 오해 없이 작업을 수행할 수 있도록 구체적이고 명확하게 지시 |
예시 (Example) | AI에게 원하는 결과물의 형태를 보여주는 것 |
맥락 (Context) | AI에게 작업을 수행하는 데 필요한 배경 정보를 제공 |
질문 (Question) | AI가 질문의 의도를 정확하게 파악할 수 있도록 명확하게 질문 |
요즘은 언어모델 튜닝의 분위기가 점점 RAG 쪽으로 바뀌고 있다고는 합니다만, 그럼에도 프롬프트는 AI 를 다루는 가장 기본적이고 효율적인 도구 중 하나입니다.