단순한 프롬프트도 강력할 수 있습니다. 예시를 통해 이를 살펴보겠습니다.
Propmt : 고양이는 Output : 고양이는 사랑스럽고 독특한 동물 중 하나로, 수많은 사람들에게 사랑을 받고 있습니다.
이 예는 LLM모델이 주어진 프롬프트에 따라 어떤 사고를 하는지 보여 줍니다. 그러나 간단한 프롬프트가 항상 의도한 작업과 일치하지 않을 수도 있으므로 문맥과 명확한 지침이 필요합니다.
Propmt : 문장을 완성하세요: 고양이는 Output : 고양이는 우아한 모습과 호기심 많은 성격으로 많은 사람들의 마음을 사로잡는 동물입니다. 이들은 그 특유의 미모와 유연한 몸뚱아리로 우리를 매료시키며, 독립적인 성격과 함께 때로는 애정을 드러내어 주인들과 강한 유대감을 형성합니다. 또한 고양이는 수많은 역사적인 순간과 신화에 등장하여 그들의 중요성을 상징적으로 보여주었으며, 현대에는 애완 동물로서 우리 가정에 행복과 안정을 가져다 주고 있습니다. 고양이는 집안을 깨끗하게 유지하고 스트레스를 줄여주는 등 우리의 삶에 긍정적인 영향을 끊임없이 미치며, 정말로 특별한 존재입니다.
여기서 LLM 모델에 ‘문장을 완성하세요’라고 지시하면 보다 일관성 있고 관련성 있는 결과를 얻을 수 있습니다. 이러한 개선점은 프롬프트 엔지니어링의 본질, 즉 모델이 특정 작업을 수행하도록 안내하는 프롬프트를 설계해야 함을 잘 보여 줍니다.
위처럼 '고양이' 예시를 여러분이 직접 해본다면 같은 대답은 절대로 나오지 않아요. 뜻이 일맥상통하거나 유사한 형태의 대답은 나올 수 있으나 간혹 기괴한 대답이 나올 수 있죠. 같은 질문이라도 어떤 식으로 명령 하느냐에 따라 완전 다른 답을 낸다는 것을 알 수 있습니다.
1) ‘고양이는’만 제공했을 때, 언어모델이 파악한 질문의도 : 고양이에 관한 정보를 제공합니다.
2) ‘문장을 완성하세요, 고양이는’으로 구체적인 명령을 제공했을 때, 언어모델이 파악한 질문의도 : 주어진 문장을 완성하여 고양이에 대한 정보를 요청하는 것으로 추정됩니다.
프롬프트의 기초적인 작동 방식에 대해 이해했습니다. 결국 질문을 자세하게 할수록 자세하게 답변하고, 명확한 목적을 밝힐수록 해당 문제에 대해 정확한 답변을 준다는 것을 알게 되었죠.
프롬프트를 구성하는 요소를 이해하는 것이 프롬프트를 잘 작성하는 왕도이자 근본입니다. 잘 만들어진 프롬프트에는 다음과 같은 요소가 모두 포함됩니다.
1) 지시 Instruction
AI가 수행하기를 원하는 지시문 또는 작업입니다. 언어 모델에게 어떤 결과를 기대하는지 알려 줍니다.
Prompt : "첨부한 '2023 경제활동 인구 노동시장 보고서'를 바탕으로 요약해줘"
2) 문맥 Context
주제에 관한 이야기를 의미합니다. 언어 모델에게 단발성대화가 아닌 피드백을 통한 문맥기반의 발전형 대화를 알려 줍니다.
Prompt : "위에서 언급된 '경제활동' 인구의 정의가 뭐야? 난 경제활동에 OOO도 포함하고 싶어."
3) 예시 Example
구체적으로 언어 모델이 수행해야 하는 작업을 알려 줍니다. 아래의 예시를 참고해 보세요.
"다음 단락 요약하기."
"[이름], [나이] 순으로 정리"
"업로드한 보고서를 참고하여"
Prompt : "첨부된 보고서의 내용을 바탕으로 [요약], [나이별 노동인구 분석], [세대별 노동인구 차이]에 대해 보고서 형태로 작성해줘."
프롬프트 구조를 고려하여 챗GPT를 사용해 봤습니다. AI 윤리 문제에 대해 다룬 연구 보고서를 첨부하고, 2가지 버전으로 답변을 요청했습니다.
동일한 파일에 대해 분석 결과가 다르게 나온 이유는 요청한 프롬프트의 구조와 구체성에 따라 도출된 정보의 차이 때문입니다. 첫 번째 요청에서는 '인공 지능 윤리 문제'라는 광범위한 키워드에 대한 요청이었지만, 두 번째 요청에서는 ‘인공 지능 윤리 문제에 대한 [현황], [해결방안], [사례]를 들어 1,000자 내외의 글로 작성해 달라’는 구체적이고 명확한 구조를 제공했습니다. 이러한 구체적인 지침 덕분에 더 체계적이고 집중된 분석이 가능했어요. 사용자가 프롬프트 구조를 이해하고, 얼마나 구체적으로 명령어를 작성하느냐에 따라 답변이 달라진다는 것을 확인할 수 있었습니다.
챗GPT를 사용하실 때는 프롬프트의 구체성과 명확한 구조가 분석의 정확성과 일관성에 큰 영향을 미친다는 점을 꼭 기억하세요. 여러분들도 챗GPT의 프롬프트 구조를 완벽 이해해 원하는 답변을 얻을 수 있길 바랍니다!
누구나 큰일 낼 수 있어
스파르타코딩클럽
작성자 | 해봄 카카오브레인 언어모델사업실 PM
에디팅 | 신수지 팀스파르타 에디터