프롬프트 엔지니어링

5단 분석법

순서
분석
단어
내용
1
일반 명사
프롬프트
대사 또는 대본을 다시 상기시켜 주는 말
엔지니어링
기계와 같은 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동
프롬프트 엔지니어링
대사 또는 대본을 다시 상기시켜 주는 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동
2
고유 명사
프롬프트
인공지능을 사용하기 위해 사용자가 입력하는 값
엔지니어링
기술, 생산과 같은 것을 체계적으로 연구하는 학문
프롬프트 엔지니어링
인공지능을 사용하기 위해 사용자가 입력하는 기술을 체계적으로 연구하는 학문
3
사용 이유
프롬프트 엔지니어링
사용자가 생성AI를 사용하는데 있어 더 편리하고, 더 정확한 정보를 얻는데 사용 하기 위해서
4
사용 방법
프롬프트 엔지니어링
프롬프트 엔지니어링의 여러가지 기법을 활용하여 명확하고 구체적인 지시를 작성함
5
다른 기술과의 비교
프롬프트 엔지니어링
-

프롬프트 엔지니어링의 정의

프롬프트 엔지니어링은 ‘프롬프트 + 엔지니어링’으로 두 단어가 합쳐진 합성어 입니다.

일반 명사

프롬프트
대사 또는 대본을 다시 상기시켜 주는 말
엔지니어링
기계와 같은 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동
프롬프트 엔지니어링
대사 또는 대본을 다시 상기시켜 주는 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동
프롬프트의 일반 명사는 “대사 또는 대본을 다시 상기시켜 주는 말” 입니다.
엔지니어링의 일반 명사는 “기계와 같은 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동” 입니다.
즉, 프롬프트 엔지니어링의 일반 명사는 “대사 또는 대본을 다시 상기시켜 주는 것을 일정한 목적에 따라서 유기적 체계로 구성하는 활동” 입니다.
그렇다면, 고유 명사는 무엇일까요?

고유 명사

프롬프트
인공지능을 사용하기 위해 사용자가 입력하는 값
엔지니어링
기술, 생산과 같은 것을 체계적으로 연구하는 학문
프롬프트 엔지니어링
인공지능을 사용하기 위해 사용자가 입력하는 기술을 체계적으로 연구하는 학문
프롬프트의 고유 명사는 “인공지능을 사용하기 위해 사용자가 입력하는 값” 입니다.
엔지니어링의 고유 명사는 “기술, 생산과 같은 것을 체계적으로 연구하는 학문” 입니다.
즉, 프롬프트 엔지니어링의 고유 명사는 “인공지능을 사용하기 위해 사용자가 입력하는 기술을 체계적으로 연구하는 학문” 입니다.
프롬프트 엔지니어링에서 프롬프트는 특정 작업을 수행하기 위해 생성AI에게 요청하는 텍스트를 뜻 합니다.
ChatGPT에게 ‘넌 누구니’ 라고 질문한 뒤 받은 답변
위 사진에서 사용자가 ‘넌 누구니’ 라는 질문을 ChatGPT에게 하였습니다. 바로 이 텍스트가 프롬프트가 되는 것입니다.
바로 이 프롬프트에 여러가지 기법을 사용하여 명확하게 질문을 함으로써 생성ai로 부터 사용자가 원하는 답변을 받을 수 있도록 유도하는 과정을 프롬프트 엔지니어링이라고 합니다.
프롬프트 엔지니어링의 정의를 알아 보았으니, 사용 이유에 대해 알아보도록 하겠습니다.

사용해야하는 이유

프롬프트 엔지니어링
사용자가 생성AI를 사용하는데 있어 더 편리하고, 더 정확한 정보를 얻는데 사용 하기 위해서
프롬프트 엔지니어링을 사용하는 이유는 “잘 모르는 내용에 대해서 실시간으로 다양한 질문을 하고 정확하고 상세한 답변을 얻기 위해서” 입니다.
프롬프트 엔지니어링을 사용한다면,
사용자의 질문 의도를 GPT에게 명확하게 전달할 수 있어 좋은 결과를 얻을 수 있습니다.
한 가지 예시를 들어보겠습니다.
장사가 매우 잘되는 중국집 사장님이 배달 어플에 달린 리뷰에 답변을 항상 달아줍니다.
그런데 매번 똑같은 답변을 달아줄 수도 없고,
그렇다고 답변이 짧으면 성의가 없어보여 손수 리뷰 답변을 작성하고 있었습니다.
이 과정을 생성AI를 통해서 자동으로 답변을 만들어보려 하고 있습니다.
ChatGPT에게 리뷰 내용을 질문으로 작성하고 답변 받음
리뷰를 프롬프트에 작성을 해보았는데 질문 의도와는 맞지 않은 답변을 GPT가 작성하였습니다.
하지만 프롬프트 엔지니어링을 적용해서 질문을 하게된다면,
사용자가 원하는 답변을 하게끔 유도를 할 수 있습니다.
프롬프트 엔지니어링을 사용하여 질문한 내용에 대한 답변을 받음
첫 번째 메시지와 비교했을 때 훨씬 더 사용할 수 있을 만한 답변을 하게된 것을 확인할 수 있습니다. 이처럼, 프롬프트 엔지니어링을 사용하면 질문 의도에 부합하는 응답을 GPT로부터 이끌어낼 수 있습니다.
위의 예시처럼 본인의 상황에 맞게 프롬프트 엔지니어링을 사용해서 좋은 프롬프트를 제작한다면 GPT로부터 더욱 더 좋은 결과를 얻어낼 수 있습니다.

사용 방법

프롬프트 엔지니어링
프롬프트 엔지니어링의 여러가지 기법을 활용하여 명확하고 구체적인 지시를 작성함
프롬프트 엔지니어링 사용 방법은 “사용자가 질문이나 요청을 입력하고, AI가 제공하는 응답을 받음” 입니다.
프롬프트 엔지니어링을 하기 위해서는 여러가지 기법들을 알아야하고,
그 기법들을 적재적소에 사용하여 명확한 프롬프트를 만들어야합니다.

맥락 제시

내가 원하는 답변을 얻어내기 위해서는 내가 어떤 맥락의 답변을 얻고 싶은지부터 질문 해야합니다. 위의 배달 리뷰 답변 예시를 이어서 사용해보겠습니다.
맥락 없이 질문을 한 뒤 답변을 받음
ChatGPT에게 맥락을 제시하지 않고 단순히 배달 리뷰에 대한 답글 작성을 해달라고 한다면 올바른 답변이 나오지 않을 것입니다.
이런 상황이 발생하지 않도록 내가 어떠한 맥락에서 질문을 하는 것인지 명확히 표현을 해주어야합니다.

목적 제시

내가 원하는 답변을 얻고 싶다면 일반적인 질문만 하는 것이 아니라 내가 어떠한 목적으로 이 질문을 하였는지 명확하게 작성해주어야 합니다.
배달 리뷰 답변 예시에서 그냥 아무런 말도 없이 유저가 남긴 리뷰를 작성한다면 내가 원하는 답변을 하지 않은 확률이 매우 높습니다. 하지만 내가 어떠한 목적으로 이 프롬프트를 작성한 것인지를 알려준다면 보다 나은 답변을 하게 될 것입니다.
목적을 제시해서 질문을 한 뒤 답변을 받음
위와 같이 내가 어떠한 목적으로 질문을 하는지를 프롬프트에 포함시킬 경우 훨씬 더 나은 답변을 하는 것을 볼 수 있습니다. 이와 같이 목적을 제시하는 것은 매우 중요한 포인트 중 하나 입니다.

형식 제시

맥락과 목적을 제시해서 어느정도 만족할 수 있을만한 답변을 이끌어 냈습니다. 하지만 리뷰에 대한 답변으로 작성하기에는 불필요한 내용도 꽤 많고, 답변이 너무 길어 사용하기 좋지 않은 것을 확인할 수 있습니다. 이때 출력형식을 제시해서 지정해준다면 훨씬 더 좋은 답변을 하게 될 것입니다.
형식을 지정해서 질문을 한 뒤 답변을 받음
출력 형식을 제시해서 질문하니 답변이 훨씬 더 나아진 것을 확인할 수 있습니다.

예시 제시

ChatGPT와 같은 생성AI는 내가 답변을 유도할 내용에 대한 구체적인 예시를 제공해줄 경우 답변의 질이 훨씬 더 좋아지게 되는 특징이 있습니다. 그렇기 때문에 예시를 제공할 수 있는 내용을 질문한다면 예시를 포함해서 질문하는 것이 훨씬 더 양질의 답변을 받을 수 있는 방법입니다.
예시를 주지 않고 질문했을 때 답변 내용
아무런 예시를 주지 않고 프롬프트를 입력했을 때는 어떠한 답변을 원하는지 ChatGPT가 판단을 할 수 없습니다.
예시를 포함해서 질문했을 때 답변한 내용
위 이미지처럼 예시를 포함해서 질문을 하게 된다면 ChatGPT가 예시를 참고하여 어떠한 답변을 해야할 지 유추할 수 있기 때문에 내가 원하는 답변을 하도록 이끌어 낼 수 있습니다.

역할 부여

ChatGPT는 특정 역할이 주어졌을 때 답변의 정확도와 질이 더 상승하게 됩니다. 내가 어떤 질문을 할 지에 따라서 그 질문에 대한 답변을 할 수 있는 역할을 부여하게 된다면 답변의 질이 더 올라가게 됩니다.
GPT에게 역할을 주고 질문했을 때의 답변
ChatGPT에게 음식점 사장 역할을 부여하고 유저가 남긴 리뷰를 입력하니 역할연기를 하듯이 사장님의 답변을 작성하는 것을 확인할 수 있습니다. 위의 예시처럼 ChatGPT에게 역할을 부여하는 것 또한 매우 중요한 사용 방법 중 하나입니다.

질문을 잘하는 방법

명확한 질문

질문을 할 때 직접적이고 구체적으로 질문해야합니다. 직접적으로 질문을 해야 해석하기가 보다 쉽기 때문입니다. 명확한 질문을 하게 되면 더 정확하고 관련있는 답변을 받을 수 있습니다.
Ex) 버스 표는 어떻게 사야하나요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

배경 정보 제공

질문을 할 때 배경이나 상황을 제공해야합니다. 배겅 또는 상황을 제공해야 이를 고려한 답변을 해주기 때문입니다. 배경 또는 상황을 제공해주면 답변의 관련성이 높아지게 됩니다.
Ex) 서울에 처음 왔는데 지하철을 어떻게 이용해야하죠?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

단계별 질문

질문을 할 때 복잡한 질문을 단계별로 나눠서 질문해야합니다. 복잡한 질문을 하게 되었을 때 질문들을 관리하기 쉽기 때문입니다. 복잡한 질문을 단계별로 나눠서 하게 된다면 각각 단계마다의 명확하고 구조적인 답변을 받을 수 있을 것입니다.
Ex) 버스를 타려면 첫 번째로 무엇을 해야하나요? 그 다음은 무엇을 해야하나요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

반복적 피드백

질문을 하고 답변을 받은 뒤 그 답변에 대한 피드백을 반복적으로 제공해야합니다. 이러한 피드백 과정을 통해서 ChatGPT가 답변을 사용자가 원하는 방향으로 조정할 수 있습니다. 반복적으로 피드백을 하게 된다면 더 개인화된 소통을 할 수 있게됩니다.
Ex) 안내가 어려워요. 더 간단하고 일상 용어를 사용해 설명해줄 수 있나요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

질문 바꿔쓰기

질문을 할 때 같은 질문이어도 다른 방식으로 질문해야합니다. 같은 질문이지만 다른 방식으로 하게 된다면 다양한 측면에서의 답변을 받아볼 수 있습니다.
Ex) 가장 빠른길을 어떻게 찾죠? 학교에 가는 가장 빠른 방법은 뭐에요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

핵심 단어 강조

질문을 할 때 핵심 용어가 되는 부분을 강조합니다. 핵심 단어를 강조하게 되면 해당 단어에 집중되어 더 나은 답변을 받을 수 있습니다.
Ex) 대중교통에서 ‘환승 티켓’이 무엇인지 설명해주세요.

이전 답변 요약

추가 질문을 할 때 명확성을 위해서 이전 답변을 요약해 다시 질문합니다. 더 의미있고 진행적인 대화를 이어나갈 수 있게 됩니다.
Ex) 버스가 10분마다 온다고 했습니다. 주말에도 그런건가요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시

가정 한계 설정

질문을 할 때 가정이나 한계를 명확하게 설정해야합니다. 가정의 한계를 설정하게 되면 답변에 대한 범위를 지정할 수 있기 때문에 보다 정확한 답변을 받을 수 있습니다.
Ex) 기차가 지연되면 어떤 교통수단을 이용할 수 있나요?
Good
좋은 예시 이미지
Bad
나쁜 예시 예시