AI 프롬프트와 프롬프트 엔지니어링 | 정의와 예시

인사이트

AI 프롬프트와 프롬프트 엔지니어링 | 정의와 예시

2023년 05월 24일

방대한 양의 데이터를 학습해 새로운 결과물을 창작하는 생성형 AI(Generative Artificial Intelligence).

ChatGPT, 미드저니 등 생성형 AI를 활용한 혁신적이고 편리한 서비스가 우리 삶에 잇따라 등장하고 있는데요. 미 하원의원이 ChatGPT가 작성한 원고로 의회에서 연설을 하고, 생성형 AI 서비스가 만든 그림으로 만화를 연재하는 등 사회적으로 이슈가 되는 사례도 이어지고 있습니다.

생성형 AI 서비스가 우리 삶에 미치는 영향이 커지면서 생성형 AI 서비스와 소통할 때 필요한 ‘프롬프트’에 대한 관심도 커졌는데요. 프롬프트와 프롬프트 엔지니어링이 무엇인지 자세히 알아보겠습니다.

프롬프트와
프롬프트 엔지니어링

프롬프트란?

프롬프트(Prompt)는 연극이나 TV쇼를 진행할 때 사용하는 일종의 안내였습니다. 시청자들이 보지 못하는 장소에서 진행자의 행동이나 대사를 지시하는 것인데요. 사전적으로는 누군가의 특정한 작업 수행을 도우려 전달하는 메시지를 의미합니다.

컴퓨터 분야에서 프롬프트 개념은 이미 존재했습니다. 컴퓨터에서 원하는 결과물을 얻기 위한 CLI(Command Line Interface)가 대표적인 예인데요. 문자의 형태로 명령어를 입력하면 역시 문자의 형태로 출력이 되는 인터페이스입니다. 다시 얘기해 컴퓨터가 사람의 언어를 이해할 수 없기 때문에 사전에 명령어와 이에 대한 결과를 미리 약속해놓는 개념이었습니다.

그렇지만 mkdir나 rm -rf 등 수많은 명령어와 옵션이 존재하여 익숙해지기까지 시간이 오래 걸리고, 많은 명령어를 이용해도 컴퓨터가 사전에 정해놓은 결과만 제시할 수 있는 단점이 있었죠. 예를 들면 mkdir은 디렉토리 만들기, rm은 파일 지우기, pwd는 현재 위치한 경로 출력이라는 약속을 정해놓기 때문에 컴퓨터가 이와 같은 제한된 작업만 수행할 수 있다는 것입니다.

최근 생성형 AI 모델이 발전하고 이를 활용한 서비스가 등장하면서 컴퓨터는 기존의 명령어가 아닌 자연어, 즉 인간의 언어 그대로를 입력받을 수 있게 되었습니다. 컴퓨터가 인간의 언어를 그대로 이해하고 명령을 수행하기 때문에 사용자는 기존 시스템보다 훨씬 자유롭고 다양한 결과물을 바랄 수 있게 되었죠. 이처럼 생성형 AI에게 어떤 행동을 해야 하는지 자연어로 설명해 원하는 결과물을 출력할 수 있게 하는 입력값을 프롬프트(Prompt)라고 합니다.

프롬프트는 AI를 작동시키기 위해 사용자가 언어 모델에 입력하는 모든 것이라고 할 수 있습니다. 예를 들어 명령, 지시, 질문, 요청 등을 모두 포함하는 것이죠. 프롬프트를 구성하기 위해 반드시 필요한 특정 요소가 정해져 있는 것은 아닙니다. 따라서 프롬프트의 구성을 만들어 가는 것을 프롬프트 엔지니어링이라고 할 수 있습니다. 현재는 프롬프트 입력 수준에 따라 결과물의 수준도 천차만별로 달라, 이를 통해 결국 AI 서비스 품질을 판단하게 됩니다.

프롬프트 엔지니어링이란?

프롬프트 엔지니어링이란 인공지능 분야의 한 개념으로 AI로부터 높은 수준의 결과물을 얻기 위해 적절한 프롬프트를 구성하는 작업입니다. 데이터에서 필요한 정보를 찾는 과정과 콘텐츠 구성 능력이 인공지능 분야에서 중요해짐에 따라 자연어로 인공지능의 역량을 최대로 끌어내는 것이 프롬프트 엔지니어링의 핵심이라고 볼 수 있습니다.

생성형 AI는 대량의 데이터를 학습하여 서비스로 제공됩니다. 즉 인류가 만들어낸 다방면의 지식을 저장하고 있는 것이죠. 따라서 AI가 학습한 수많은 데이터와 지식 중에서 우리가 원하는 결과를 정확하게 이끌어 내는 것이 중요합니다. 그렇다면, 어떻게 정확하고 높은 수준의 결과를 이끌어 낼 수 있을까요?

예를 들어 어떤 사람에게 명령을 내린다고 생각해 보겠습니다. 명령을 받은 대상이 가진 역량을 최대로 끌어냄과 동시에 원하는 결과물을 얻기 위해서는 우리가 지시하는 명령이 섬세하고 정확해야 할 것입니다. 특히 통상적으로 인간이 가지고 있는 지식보다 방대한 양의 데이터를 학습한 생성형 AI는 자율적인 판단없이 지시한대로 결과물을 출력하기 때문에 프롬프트를 개발할 때 정교한 구성을 요구합니다.

프롬프트 마켓 ‘챗X’에 등록된 프롬프트 상품들

따라서 서비스의 기반이 되는 AI 모델의 성능을 최대한 끌어올리고 원하는 결과물을 만들기 위해서는 프롬프트를 잘 만들어주는 것이 필요합니다. 생성형 AI는 완벽하게 인간의 의도와 목적을 파악하고 반영할 수 있는 것은 아니며, 때로는 부적절하거나 오류가 있는 결과물을 생성하기 때문에 인간의 감성이나 창의성을 완전히 대체할 수는 없습니다. 결국 생성형 AI를 효과적으로 활용하기 위해서는 인간의 감독과 조정이 필요합니다. 이러한 업무, 즉 프롬프트를 탐색하고 설계하여 개발하는 것이 프롬프트 엔지니어링이라 할 수 있습니다.

프롬프트 엔지니어링 예시

생성형 AI가 사용자가 원하는 결과물을 정확하게 만들어낼 수 있도록 프롬프트를 잘 개발하는 것이 프롬프트 엔지니어링이라고 설명드렸습니다.

ChatGPT처럼 텍스트 프롬프트를 입력받아 새로운 텍스트 결과물을 출력하는 서비스가 있다면 이를 활용해 정보 안내, 원고 첨삭, 번역 등 다양한 서비스를 기획할 수 있을 텐데요.

ChatGPT를 이용해 영한 번역 서비스를 기획한다고 했을 때 프롬프트를 어떻게 구성할 수 있을지, 실제 ChatGPT를 이용해 결과물 예시를 만들어 보았습니다.

ChatGPT에 영어 문장 번역을 요청하면 정확한 번역이 수행되긴 하지만 대화형 답변을 기본으로 하는 만큼 서비스로 구현하기에는 불필요한 문구가 대답에 포함되어 있습니다. 또한 번역 요구 없이 문장만 입력하면 원하는 결과를 출력하지 못할 것입니다.

이러한 문제는 Temperature와 같은 ChatGPT 내에서 제공하는 하이퍼파라미터 조정이나 출력 모드 변경으로 해결할 수 있겠지만 우리는 프롬프트만을 이용해 해결해 보고자 합니다.

실제 서비스 구현을 위한 프롬프트는 아래와 같이 설계해 볼 수 있습니다.

영한 번역 서비스를 위한 프롬프트를 입력하였습니다. 생성형 AI에 역할을 부여하고 구체적인 프로세스와 예외 사항도 지정해 주었습니다. 결과물 예시도 한번 출력해 보겠습니다.

지시한 바와 같이 한글 입력시에는 미리 약속된 안내 문구가 출력됩니다. 한국어로 구성된 프롬프트에 대한 결과물 출력이 이루어지지 않습니다.

이번에는 실제 영어 구문을 입력해보겠습니다.

이렇게 보다 구체적인 프롬프트를 설계하여 제시하면 원하는 서비스를 쉽게 기획할 수 있습니다.

만약 text-to-text 서비스가 아닌 text-to-image 서비스를 이용한다면 원하는 그림의 종류, 구도나 화풍, 질감과 색깔 등을 자세하게 제시하는 것이 프롬프트 엔지니어링이 되겠습니다.

프롬프트 엔지니어 커리어의 시작
인공지능(AI) 부트캠프

위 예시로 언급한 ChatGPT의 경우와 같이, AI는 동일한 질문에 정해진 답변을 하는 것이 아닌 학습된 데이터를 기반으로 매번 새로운 답변을 합니다. 따라서 매번 원하는 구조로 답변을 얻어낼 수 있을 때까지 프롬프트를 수정하는 과정이 필요합니다.

AI가 최상의 답을 할 수 있도록 훈련시키고 AI로부터 최상의 답을 이끌어 내는 일을 하는 사람이 바로 ‘프롬프트 엔지니어’입니다. 프롬프트 엔지니어가 하는 일이 더 궁금하다면 아래 아티클을 더 읽어 보세요.

코드스테이츠 인공지능(AI) 부트캠프는 AI 지식을 체계적으로 학습할 수 있는 커리큘럼을 구성되어 있습니다. 과제와 프로젝트 등을 통해 가설을 수집하고 데이터를 분석하여 다양한 문제를 해결하는 경험도 제공하는데요. 이러한 학습과 경험은 프롬프트 엔지니어에게 필요한 역량과도 맞닿아 있죠.

프롬프트 엔지니어 커리어를 계획하고 있다면, 코드스테이츠 인공지능(AI) 부트캠프와 함께 도전해 보세요.

홍미연, 이기한 Learning Architect (인공지능(AI) 부트캠프)
편집 최인성 Content Manager


🧑🏻‍💻 이론 학습부터 실전, 그리고 취업까지
확실한 IT 커리어의 시작

목록 보기

추천글