안녕하세요. 챗GPT 출시 이후 AI가 우리의 삶에 파고들어, 현재 많은 사람들이 다양한 AI를 활용하여 삶을 더 효율적으로 바꾸고, 다양한 컨텐츠를 제작하고 있습니다. 하지만 처음 사용하려면 어떤 질문을 해야 어떤 대답이 나오는지 감이 안오고, 어떻게 효율적으로 인공지능을 활용할 수 있을 지 막막할 수 있습니다. 인공지능과 대화를 할 때 저희가 건네는 질문을 바로 프롬프트라고 합니다. 이런 프롬프트를 연구하고, 어떻게 AI에게 원하는 결과물을 얻어낼 수 있는지에 대해 연구하는 분야가 프롬프트 엔지니어링입니다. 오늘은 이 프롬프트 엔지니어링에 대해 알아보고, 어떻게 해야 효과적으로 인공지능에게 질문을 건낼 수 있을 지 알아보도록 하겠습니다.
인공지능이 아직 낯설고 어렵거나, 현재 AI를 활용하고 있지만 원하는 결과물이 잘 안나와 고민이신 분들, 더 효과적으로 인공지능을 활용하고 싶으신 분들은 해당 내용을 참고하여 AI에게 원하는 결과물을 얻어내는 질문법에 대해 알아 보시길 바랍니다.
프롬프트란?
우선 프롬프트 엔지니어링에 대해 알기 위해서 먼저 프롬프트(Prompt)가 무엇인지 정확하게 짚고 넘어가겠습니다. 프롬프트란 챗GPT와 같은 생성형 AI에게 사용자가 입력하는 입력값입니다. 저희가 인공지능에게 하는 모든 질문이나 지시가 이에 해당됩니다. 단어가 생소하고, 영어여서 어렵게 생각할 수 있지만, 간단하게 채팅창에서 저희의 채팅이 바로 프롬프트입니다.
위의 이미지에서 ‘인공지능 프롬프트가 뭐야?’라는 문장 자체가 프롬프트입니다. ChatGPT에게 물어보았는데, 잘 설명해주었습니다. 하지만 더 상세하고 명확한 프롬프트를 입력하기 위해서는 저렇게 간단한 문장이 아니라 원하는 바를 정확히 전달해야하는데, 어떻게 할 수 있을지 알아보도록 하겠습니다.
프롬프트 엔지니어링이란?
프롬프트 엔지니어링은 프롬프트를 어떻게 생성해야 인공지능이 더 명확히 이해하고 우리가 원하는 답을 해줄지 연구하는 학문입니다. 현재 텍스트로 생성할 수 있는 결과물은 텍스트, 이미지, 동영상 등이 있습니다. 각각의 분야에서 어떻게 요구사항을 전달해야 AI가 성능 좋은 결과물을 제시할 수 있을지 분석합니다.
이제부터 프롬프트 엔지니어링 전문가들의 연구를 바탕으로, 어떻게 AI에게 좋은 질문을 할 수 있는지에 대해서 직접 실험해보면서 결과물을 확인해 보도록 하겠습니다.
1. 좋은 질문하기
질문을 입력할 때는 되도록 구체적이고 상세하게 하는 것이 좋습니다. 어린 아이에게 설명하듯 상세하고 구체적으로 말하고, 예시같은 것을 주면 더 좋은 답변을 얻어낼 수 있습니다.
● 구체적으로 지시하기
- 나쁜 예 : ‘인공지능이 뭐야?’ -> 광범위한 질문
- 좋은 예 : ‘생성형 인공지능의 유래에 대해 알려줘’ -> 특정 주제와 내용
● 명확하게 지시하기
- 나쁜 예 : ‘재밌는 영화 추천해줘’ -> 모호한 질문
- 좋은 예 : ‘2015년~2022년에 개봉한 인기있는 판타지 영화 추천해줘.’ -> 구체적인 범위, 장르 제시
● 예시 제공하기
- 나쁜 예 : 블로그로 삼행시 지어줘
- 좋은 예 : ‘삼행시란 ~~~하는 건데, 이건 예시야 ~~, 이렇게 블로그로 삼행시 지어줘’
● 맥락 제공하기
- 나쁜 예 : 저녁 메뉴 추천해줘
- 좋은 예 : 오늘 저녁에 파티가 있는데, 연령대는 20~30대야. 파티에 어울릴 만한 저녁 메뉴 추천해줘.
이 외에도 맞춤법 맞추기, 꼬리에 꼬리를 무는 질문하기, 개방형 질문하기 등이 있습니다. 개방형 질문은 내가 질문할 것이 명확하지 않을때, 어떤 질문을 할 지를 AI에게 물어보는 것입니다. 예를들어 인공지능을 주제로 블로그를 쓰고 싶을때, 먼저 ‘AI 관련 블로그 포스팅을 작성 할 건데, 사람들이 궁금해할 만한 주제 정해줘’ 라고 말해 프롬프트를 인공지능에게 생성해달라고 하는 것입니다.
2. 답변의 구조 정하기
미리 답변의 구조를 정해놓고 질문을 생성하면, 해당 내용을 그대로 복사 붙여넣기 하여 사용할 수도 있고, 원하는 결과물 형식에 맞게 생성해 낼 수 있습니다.
다음은 프롬프트 엔지니어링에서 가장 많이 쓰는 기본 구조입니다.
- 주제 : 핵심 내용
- 옵션 : 문체 (전문적, 친화적, 반말, 해요체 등) / 언어 (한국어, 영어 등)
- 양 : 글자 수, 단어 수, 가지, 개 등
- 포맷 : 텍스트, 리스트, 테이블, 트리, 코드 등
- 방법 : 생성, 요약, 추출, 카테고리화, 그룹화 등
예를 들어 ‘ChatGPT의 핵심 기능에 대한 블로그 주제(주제)를 전문적 문체, 한국어(옵션)로 10가지(양) 리스트(포맷)으로 만들어줘(방법)’ 이런 형식으로 프롬프트를 생성할 수 있습니다. 결과물을 한번 확인해 보겠습니다.
위와 같이 원하는 형식으로 결과물을 생성하였습니다. 리스트 말고 테이블로 생성해 달라고 해보겠습니다.
목적에 맞게 답변의 구조까지 정하면 훨씬 더 만족스러운 결과물을 얻어 낼 수 있습니다.
3. 이어쓰기 기법
이어쓰기 기법이란, 어떤 글의 초안이나 앞 부분을 작성해두고 뒷 내용을 AI에게 생성해달라고 하는 기법입니다. 대략적인 내용을 앞에 적은 후 이어쓰게 할 수도 있고, 여러 질문을 입력한 다음 다음 질문에 대한 답을 유도할 수도 있습니다. 또는 노래 가사같은 것을 이어서 쓰게 하는 등 다양하게 활용될 수 있는 기법입니다.
질문을 시작하기 전에 ‘이어쓰기’라고 입력 한 후 다음줄부터 앞 부분의 내용을 적습니다.
● 글 이어쓰기
위와 같이 앞부분의 내용을 적으니 뒷 부분을 알아서 채워주었습니다.
● 소설 / 노래 가사 이어쓰기
이런 식으로 노래 가사나, 소설 등의 내용을 계속 이어서 쓸 수 있습니다.
● Q&A 형식으로 이어쓰기
특정 내용에 대해 인터뷰하는 형식으로 질문을 생성하고, 몇가지의 답안을 제시한 뒤, 그 후의 질문에 대한 답을 생성해내는 기법입니다.
이런 식으로, 몇가지 이미 알고 있는 사실을 직접 답변하고, 해당 인물의 관점에서의 답변을 얻어낼 수 있습니다.
4. 역할 부여하기
그냥 질문하는 것 보다 AI에게 역할이나 직업 등을 정해주고 답변을 요청하면 더욱 더 해당 분야에 전문가처럼 대답을 해줍니다. 이를 롤 플레잉, 페르소나라고 표현하기도 하는데, 특정 인물이나 직업을 입혀 대답을 유도할 수 있습니다.
● 직업 부여
여행 가이드라는 역할을 준 후에 프롬프트를 생성하니, 정말 여행 가이드처럼 결과물을 잘 생성해 주었습니다.
● 페르소나 입히기
페르소나는 일반적인 인물을 설정하고, 해당 인물과 대화하는 방식입니다. 한번 면접관을 입혀 대화를 진행해 보겠습니다.
정말 면접관 같습니다. 저도 면접볼때 해당 질문들을 꼭 들었었는데 지금 다시 생각해봐도 매우 떨리는 순간들이였습니다. 면접을 보러 가기 전 AI에게 페르소나를 입혀 면접을 연습해 보는 것도 좋을 것 같습니다.
마무리
오늘은 생성형 AI에게 효과적으로 질문을 할 수 있게 연구한 프롬프트 엔지니어링에 대해 같이 알아보았습니다. 단순히 질문하는 것 보다, 명확하고 구체적으로 또한 답변의 구조를 정하면 훨씬 더 만족스러운 결과를 얻어낼 수 있는 것 같습니다. 그리고 이어쓰기 기법을 활용하여 원하는 방향으로 답변을 유도할 수도 있고, 역할 및 페르소나를 대입하여 특정 인물이나 직업의 관점에서 답변을 얻어낼 수 도 있습니다. 여러분도 해당 기법들을 사용해보면서 더욱 효과적으로 AI를 활용하시길 바랍니다.
최근 ChatGPT를 효과적으로 쓸 수 있는 대화법에 대한 논문이 있어 해당 논문을 바탕으로 작성한 포스팅 공유드리며 이번 포스팅 마무리 하도록 하겠습니다. 감사합니다.
ChatGPT 바로가기 : https://chat.openai.com/