[박남기의 AI시대 교육㉘] 생성 AI 명령어 작성(Prompt Engineering) 기초
[박남기의 AI시대 교육㉘] 생성 AI 명령어 작성(Prompt Engineering) 기초
  • 장재훈 기자
  • 승인 2023.12.11 10:51
  • 댓글 0
이 기사를 공유합니다

글 박남기 광주교대 교수
 
박남기 광주교대 교수
박남기 광주교대 교수

자신에게 필요한 고품질의 응답을 얻으려면 해당 AI 엔진이 잘 이해할 수 있는, 정제된 언어로 적절하게 질문하는 방법을 배워야 한다.

기본개념과 몇 가지 핵심 기술을 이해하면 누구나 쉽게 응용이 가능하다. 이 글에서는 생성 AI 사용에 익숙하지 않은 교원을 위한 명령어(프롬프트) 작성 팁을 제시하고자 한다.

1. 명령(프롬프트)

컴퓨터 운영체제로 도스(DOS)만 깔려 있던 초기 컴퓨터 시절에는 컴퓨터를 켜면 작은 가로 막대 하나만 깜빡이고 있었다. 이것을 프롬프트(명령어 입력창)라고 불었다.

ChatGPT를 비롯한 거대 언어 모델(LLM. Large Language Model)로부터 응답을 생성하기 위한 입력값을 프롬프트라고 한다. 쉽게 말하면 ‘명령어’이다.

이하에서는 프롬프트라는 용어 대신 명령어라는 용어를 사용하겠다. 우리가 어떻게 명령을 내리는가에 따라 제시되는 답은 크게 달라진다.

2. 명령어 작성을 위한 기초

명령어는 명령형, 질문형, 문장형, 토픽형 등 다양한 형태로 입력이 가능하다. 존댓말(-해주세요)을 쓰기보다는 간단한 어투(-해줘)를 사용하는 것이 더 편리하다.

자연어 처리(NLP. Natural Language Process)와 머신 러닝(ML)에 대해 어느 정도 알고 있으면 더 수준 높은 명령어를 만드는 데 보탬이 된다. 자연 연어 처리에 대해 이해하고 있으면 보다 명확하고 간결하며 모호하지 않은 명령어를 만드는 데 보탬이 된다.

그리고 지도(supervised)·비지도(unsupervised)·강화(reinforcement) 학습과 같은 머신 러닝 개념을 이해하면 자연어 처리의 작동 방식과 학습 과정을 효과적으로 안내하는 명령어를 만드는 방법을 이해하는 데 도움이 된다(Bajarin, 2023).

전문 프롬프트 엔지니어가 되고자 하는 경우가 아니라면 이를 별도로 배우기보다는 이하에서 설명하는 기본적인 내용을 바탕으로 실제 적용하면서 명령어 작성 역량을 높여가면 될 것이다. 명령어 작성은 특정 틀에 따라 그대로 하면 되는 것이 아니라, 자신만의 혁신적인 방식으로 원하는 결과를 만들어가는 창의적인 과정이라는 점은 기억할 필요가 있다.

시간이 흐르면 프롬프트 엔지니어링이 고도화되어 최상의 명령어 형식이 몇 가지로 제시될 수도 있다. 아니면 AI가 더욱 발달하여 어떻게 질문을 하든 최상의 답을 주는 시대가 올 수도 있다. 하지만 당분간은 사용자의 창의성이 더 중요할 것으로 예상된다.

명령어 작성 역량을 키우기 위한 또 하나의 방법은 다른 사람들과 협업하는 것이다. 자신이 만든 명령어를 다른 사람들과 공유하고 그들의 피드백을 받고, 다른 사람들의 명령어를 통해 아이디어를 얻어 자신의 명령어를 개선해가면 혼자서 노력하는 것보다 발전 속도가 훨씬 더 빠를 것이다.

3. 명령어 작성 기법

1) 구체적인 명령어

자신이 원하는 결과를 구체적이고 명확하게 기술하는 것이 좋다. 답변을 어떤 양식으로 받아보기를 원하는지까지 구체적으로 제시하면 기대에 근접한 답을 얻을 수 있다. AI가 답을 할 때 참고할 조건도 구체적으로 제시할수록 기대에 근접하는 답을 얻게 된다.

처음부터 원하는 수준의 답을 얻기는 어렵다. 오류가 적은 원하는 답을 얻을 때까지 지속적으로 명령을 구체화하거나 단어를 바꿔가며 시도할 필요가 있다.

예: “초등학교 3학년 수학 분수 이해도를 측정하기 위한 객관식 문제 5개 만들어줘” --> “한국 어촌 초등학교 3학년 수학 분수 이해도를 측정하기 위한 객관식 문제 5개 만들어줘”

구체적으로 상황을 제시하면 어촌에 살고 있는 초등학교 3학년에 적합한 예시가 들어 있는 문제를 만들어준다.

2) 간결한 명령어 작성 팁: 줄 바꾸기

조교에게 장황하게 설명하면서 일을 시키면 내가 요청한 것이 이것이냐며 조교가 나에게 확인함으로써 과업 수행 오류 가능성을 줄인다. 하지만 ChatGPT 등의 거대언어모델은 우리가 명령을 내리면 반문하지 않고 자신이 이해한 대로 답을 한다.

그러다보니 한 문장에 혹은 여러 문장에 걸쳐 구체적인 조건을 길게 붙여가다 보면 AI가 혼동하여 원하는 답을 내놓지 않는 경우가 발생한다. 이 문제를 완화하기 위한 방법의 하나가 최종 원하는 것을 먼저 제시하고 나머지 구체적인 조건들은 줄을 바꿔가며 제시하는 것이다.

예: 다음 주제에 대한 시험문제를 만들어줘. 각 문제 뒤쪽에 난이도 표시

- 주제: 과학교과의 암석탐사

- 중점내용: 암석의 성질

- 대상: 대한민국 중학교 1학년

- 시험문제 형식: 4지 선다형

- 문항수: 5개

- 난이도 구성: 상 20%, 중 50%, 하 30%

이러한 방식으로 명령어를 작성하면 원하는 답을 얻기 용이하다는 것 이외에 다른 이점도 있다. 자신이 만든 명령어에 따라 제시된 답이 자신의 기대에 부합한다면, 이를 다른 교과, 주제, 대상, 시험문제 형식에도 쉽게 활용할 수 있다.

가령 나머지는 모두 그대로 두고 시험문제 형식을 OX(true/false), 반칸 채우기(fill in the blank), 단답형, 서술형 등으로 변경하면 원하는 시험문제를 모두 만들 수 있다.

3) 예시문 제시

원하는 출력 유형을 보여주는 예시문을 제공하면 AI가 기대치 더 잘 이해하고 더 정확한 결과를 만드는 데 도움이 된다. 가령 생활기록부 작성을 요청할 때, 실제로 사용한 예시를 제시해주면 더 나은 결과물을 받아볼 수 있다.

예: 다음 예시글을 참고하여 고등학교 1학년 학생생활기록부에 들어갈 내용 작성해줘.

- 예시 글: 창의적 글쓰기 시간에 수필, 서평, 시 소감문 등 다양한 갈래의 글을 쓰며 자신의 내면을 진지하게 들여다보고, 자신의 감정과 주장, 의견 등을 글로 표현하는 경험을 함.

특히 ‘나의 첫 기억’을 주제로 수필을 쓰면서 감정정화라는 글쓰기의 효과를 직접 경험하고, 창작시 ‘망치질’에서는 본인의 철없는 행동으로 인해 상처받은 부모님의 마음을 비유적으로 제시하여 탁월한 문학 창적 능력을 보여줌.

1인 1 프로젝트 ‘지진에 대비한 내진설계’를 주제로 프로젝트를 기획하여 자기 주도적 탐구 방법으로 연구를 진행하고, 그 결과를 체계적으로 정리하는 글을 씀. 우리나라 지진 대비 시설의 현황을 살펴보고 문제점을 파악한 후, 실제 실험 결과를 토대로 하여 지진대비 시설을 효과적으로 설비할 수 있는 방법에 대해 보고서를 작성함

(출처: https://m.blog.naver.com/eagles_nest/222193533250).

- 대상학생: 한 학년이 60명인 한국 농촌지역의 고등학교 남학생

- 영역: 창의적 체험활동 중 자율활동

- 활동 내용: 학교 축제 사회, 또래 드림팀에서 또래교사 역할

- 포함될 단어: 성실, 열정, 협동, 리더십

- 긍정적 표현 문장으로 작성

- 모든 문장은 개조식(making period of sentence as a word, not verb)으로 작성

- 모든 문장에 주어는 포함시키지 않음

- 전체 길이는 500자

* 위의 명령에 따라 생성된 답

학교 축제 사회 맡아, 농촌 고등학교 분위기 활기차게 조성. 축제 진행 중 성실함과 열정으로 빛나는 모습 보여줌. 다양한 행사와 프로그램 소개에 매끄럽고 정확한 진행 능력 발휘. 또래 드림팀에서 또래교사로 활약, 학습 동기 부여 및 학습 방법 안내. 동급생들과의 협동을 통해 적극적인 학습 분위기 조성에 기여. 리더십과 협력 능력을 통해 동료 학생들의 학습 효율성 향상에 중요한 역할 수행. 자율활동을 통한 다재다능한 역량 개발과 동급생들의 학업 성취에 긍정적인 영향 미침.

* 더 길게 써달라고 다시 명령한 결과물 (명령어: 더 길게 작성해줘.)

학교 축제의 사회자로서 탁월한 성실함과 열정을 발휘, 농촌 고등학교의 축제 분위기를 즐겁고 활기차게 이끌어감. 축제의 다양한 행사와 프로그램을 소개하며, 유연하고 정확한 진행으로 동급생들의 적극적인 참여 유도. 또래 드림팀의 또래교사로 활동하면서, 학습에 대한 동기를 부여하고 다양한 학습 방법을 안내하는 중요한 역할 수행. 이를 통해 동급생들 사이의 협동 정신을 강화하고, 학습 분위기를 적극적으로 조성하는 데 기여. 리더십과 협력 능력을 발휘하여 동료 학생들의 학습 효율성과 성취도를 높이는 데 중요한 역할을 함. 이러한 자율활동을 통해 다재다능한 역량을 개발하고, 동급생들의 학업 성취에 긍정적인 영향을 미침. 학교 축제와 또래 드림팀 활동을 통해 개인의 성장뿐만 아니라 동급생들의 발전에도 크게 기여함.

4) 영어 혼용

미국에서 만들어진 ChatGPT를 비롯한 거대언어모델은 영어를 기반으로 하기 때문에 영어를 사용할 때 원하는 답을 정확히 얻을 수 있다. 한글로 명령을 내리면 이를 영어로 번역한 후 답을 한다.

답이 정확하지 않을 경우에는 영어로 번역된 명령이 자신이 내린 명령과 일치하는지 확인한 후, 오류가 보이면 수정하여 다시 명령을 내리는 것도 방법이다. 출시된 모델이 계속 발전하면서, 전문 분야가 아닐 경우에는 한글을 사용해도 크게 문제가 되지 않는다.

5) 번역 전문 용어 사용 유의

가급적이면 전문 용어나 복잡한 용어를 피하는 것이 좋다. 특히 영어를 번역한 전문 용어가 섞여 있으면 명령 번역과정에서 오류가 생기는 경우가 많다.

영어로 된 전문 용어를 사용해야 할 경우에 명령어에 영어단어를 그대로 포함시키거나 한국어 뒤에 괄호로 영어를 병기하면 답의 오류를 줄일 수 있다. 명령어로 자주 사용할 전문용어와 상용어를 영어로 저장해두고 사용하는 것도 좋은 방법이다.

6) 명령어 파일 만들기

명령어를 만들 때 ChatGPT 등의 AI 입력창에서 직접 작업하는 것보다는 별도의 텍스트 파일(예: 한글 파일)을 열어놓고 거기에 명령어 텍스트를 만든 후 따붙(따다 붙이기)하는 것이 좋다. 입력창에서 직접 작업하면 마음이 바빠져 정리가 잘 되지 않고, 실수로 엔터를 눌어 명령이 실행되는 오류도 종종 발생한다.

별도의 한글파일에서 작업을 할 경우에는 차분하게 생각을 정리하면서 명령어를 만들 수 있다. 이렇게 해서 만들어진 명령어 중에서 잘 만들어진 것은 저장해놓으면 자신만의 훌륭한 명령어 파일이 된다. 명령어 파일을 필요에 따라 과목별, 활동별, 목적별 등등으로 분류하여 저장해놓으면 다음 작업을 할 때 쉽게 활용할 수 있다.

참고자료

Bajarin, T.(2023.12.01.). Writing Accurate AI Prompts For Best Results In An AI Chatbot. Forbes. https://bit.ly/46CczXC


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.