프롬프트는 생성형 AI 모델(chatGTP, 클로드 등)에 제공하는 입력 또는 명령으로, 원하는 결과를 생성하기 위해 모델에 지시를 내리는 역할을 합니다. 예를 들어, “가장 좋아하는 휴가지를 설명하는 짧은 단락을 적어보세요.”와 같은 간단한 요청부터 “화성에서 생명체를 연구하는 한 과학자에 관한 짧은 이야기를 써보세요.”처럼 단계별로 구체화된 명령까지 다양합니다. 이러한 프롬프트는 모델이 적절한 출력을 생성하도록 안내합니다.
< 목차 >
프롬프트의 중요성
효과적인 프롬프트 작성은 생성형 AI 모델의 성능에 중요한 영향을 미칩니다. 관련성 있고, 상황에 맞으며, 창의적이고, 언어적으로 정확한 출력을 얻기 위해서는 명확하고 구체적인 프롬프트가 필요합니다. 예를 들어, “산 사이의 일몰 이미지” 대신 “산 가운데 있는 강 계곡의 고요한 일몰을 묘사하는 이미지 생성”과 같이 구체적이고 상세한 프롬프트가 더 나은 결과를 도출할 수 있습니다. 이는 모델이 제공된 입력을 바탕으로 정확하고 논리적인 응답을 생성하는데 도움을 줍니다.
프롬프트 구성 요소
잘 구성된 프롬프트는 다음과 같은 주요 요소로 구성됩니다.
- 지침: 모델에 수행할 작업에 대한 명확한 지침을 제공합니다. 예: “지구 온난화가 해양 생물에 미치는 영향을 분석하는 에세이를 600단어로 작성하세요.”
- 문맥: 지침의 배경을 형성하는 정보를 제공합니다. 예: “최근 수십 년 동안 지구 온난화는 상당한 변화를 겪어 해수면 상승, 폭풍 강도 증가, 기상 패턴 변화 등으로 이어졌습니다. 이러한 변화는 해양 생물에 심각한 영향을 미쳤습니다.”
- 입력 데이터: 특정 세부 정보 또는 아이디어를 포함한 데이터를 제공합니다. 예: “태평양의 기온 기록과 해수면 측정값이 포함된 데이터 세트가 제공되었습니다.”
- 산출 지표: 생성된 출력물의 속성을 평가하기 위한 기준을 제공합니다. 예: “이 에세이는 600단어로 작성되며, 분석의 명확성과 관련 데이터의 통합을 기반으로 평가될 것입니다.”
효과적인 프롬프트 기법 5가지
이러한 기법들은 프롬프트의 명료성과 구체성을 높여, AI 모델이 원하는 결과를 제공하도록 돕습니다.
명확성
모델에 요청할 내용을 명확하고 구체적으로 전달합니다. 불명확한 표현은 피하고, 원하는 결과를 명확히 설명합니다.
- 예시: “나폴레옹 전쟁의 주요 원인을 3가지로 설명해 주세요.”
- 효과: 모호성을 줄여 정확한 정보를 얻을 수 있습니다.
구체성
필요한 세부사항을 포함하여 요청의 구체적인 요소를 강조합니다. 세부적인 정보를 추가하면 모델의 이해도를 높일 수 있습니다.
아침에 독서실에 가는 딸아이가 뜬금없이 ‘챗GPT는 똑똑한거 같은데 답변이 영 맘에 안들어!! 네이버/구글 검색이랑 뭐가 다른거야?’ 라고 묻더군요. 개인적으로 챗GTP를 1년 넘게 활용하고 있고, 과거 8년간 SW 엔지니어였지만, 저도 정확히 이해하지 못하는 머신/딥러닝 논문에 나올법한 기술적인 이야기 보다는 좀 더 쉽게 설명해 주고 싶었습니다.
결론은 ‘꼰대처럼 대충 지시하지 말고, 이야기(스토리텔링) 하듯이 너의 상황과 원하는 것을 정확히 말하렴’이라고 답해 주었고, 아래와 같이 답변해 주었습니다.
전통적인 SW(검색엔진 포함)의 경우 같은 질문에는 항상 같은 답을 해.
질문에 대한 답이 엄격하게 규정되어 있고, 안에서 무슨 일이 일어나는지 명확하게 프로그래밍 되어있거든..
근데, 생성형 AI는 같은 질문에도 매번 다른 답이 나올 수 있어.
왜냐면, 컴퓨터가 수많은 데이터 속에서 그럴듯하고 유사한 답을 찾거든.
그래서, 창의적이고 다양한 아이디어를 얻을 때 유용하다고 보면 된단다.
이런 특성을 충분히 이해하고, 필요한 정보가 있는 범위를 좁히는 작업을 통해 더 정확한 답을 얻을 수 있어.
질문을 더 구체적으로 해서 원하는 답을 얻는 기술을 이라고 프롬프트엔지니어링이라고 하는데 예를 들어.
“기분 전환할 때 보면 좋은게 뭐야?" 대신
“나 중학생인데 기말고사 오늘 끝났어. 기분전환할 때 읽을만한 도서와 음악을 추천해줘. 3개씩만 추천해 주고, 도서의 경우 2020년 이후에 발간된 책만 알려줘 "처럼 구체적으로 물어보는 거지.
좀 더 쉽게 말하면 상황과 데이터 범위를 구체적으로 요구하면 그에 맞춰 답을 해 줄꺼야.
좀 더 쉽게 말하면 상황과 데이터 범위를 구체적으로 요구해야 원하는 답을 얻을 수 있습니다.
문맥(Context) 제공
요청의 배경이나 상황을 설명하여 모델이 문맥을 이해할 수 있도록 합니다. 관련된 정보를 제공하여 답변의 질을 높입니다.
예를 들어. “중세 유럽의 일상생활에 대한 5가지 흥미로운 사실을 나열하세요.”
문맥이 반영된 더 정확하고 관련성 있는 결과를 제공합니다.
예시 포함
원하는 형식이나 스타일을 예제를 통해 제시합니다. 모델이 특정 스타일을 따라야 하는 경우에 유용합니다.
- 예시: “해리포터 시리즈의 톤으로 마법 학교에 대한 짧은 이야기를 작성하세요.”
- 효과: 특정 스타일이나 형식을 따른 결과를 쉽게 얻을 수 있습니다.
단계별 요청(step by step)
복잡한 작업을 단계별로 나누어 요청합니다. 각 단계를 명확히 정의하여 순차적으로 답변을 유도합니다.
- 예시: “먼저, 지구 온난화의 정의를 설명하고, 그런 다음 해양 생물에 미치는 영향을 다루세요.”
- 효과: 복잡한 작업을 체계적으로 처리할 수 있어, 더 정교한 결과를 얻습니다.
프롬프트는 AI와의 소통에서 중요한 역할을 합니다. 명확하고 구체적인 지침은 원하는 결과를 얻는 데 도움이 되며, AI의 창의력을 최대한 활용할 수 있게 합니다. 잘 구성된 프롬프트는 시간을 절약하고, 더 나은 답변을 얻는 열쇠입니다. AI와의 대화를 더욱 효과적으로 만들기 위해 프롬프트 작성법을 연습해 보시기 바랍니다.