AI 조련 방법 '프롬프트 엔지니어링'을 배워야 하는 이유 by 22년 차 AI 전문 개발자 김진중

#ChatGPT #AI 서비스 #LLM


OpenAI의 'ChatGPT'가 센세이셔널하게 등장한 이후, 먼 미래의 기술이라고만 생각되었던 AI가 우리의 일상에 빠르게 접목되고 있습니다.

실제로, '한겨레'와 온라인 설문 플랫폼 '나우앤서베이'가 직장인 500명을 대상으로 진행한 설문조사 결과 무려 직장인 90% 이상이 AI 서비스를 이용해 본 적 있다고 말했습니다. 또, 이 AI 서비스가 업무에 도움이 된다는 의견은 80% 이상이었는데요.

하지만, AI 서비스에 대한 부정적 의견도 존재했습니다. 가장 큰 부정적 의견은, AI 서비스의 결과에 대한 신뢰성과 관련된 것이었습니다(26%).
AI 서비스를 활용해 업무 결과물을 만드는 데 도움은 받지만, 정작 이 결과물을 100% 신뢰하기는 어려운 상황이라는 것이죠.

그렇다면, 우리가 원하는 값을 도출하기 위해 AI 서비스에게 제대로 업무를 지시하는 것에서 더 나아가,
어떻게 질문하더라도 AI 서비스가 일관적으로 맞는 답만 하도록 만들려면
어떻게 해야 할까요?




오늘은 이 'ChatGTP'와 같은 AI 서비스의 근원, 'LLM(Large Language Model)'을 제대로 활용하기 위한 방법인 '프롬프트 엔지니어링'에 대해 22년 경력의 AI 전문 개발자 김진중님(a.k.a 골빈해커)님께 여쭤보았습니다.

김진중 골빈해커

김진중 강사님

Q. Chat GPT가 말 그대로 열풍을 일으켰습니다.
AI 시대가 도래하고 있다고 해도 과언이 아닌듯한데요, 지금까지 디지털 패러다임이 어떻게 변화해왔고, 앞으로 또 어떻게 변해갈지 먼저 짚어주실 수 있을까요?

A. 일단 굵직한 패러다임의 변화는 PC, 인터넷, 모바일, AI로 변화되어 왔습니다. 그런데 세상의 변화를 일으킨 것은, 이 기술을 이용한 UX의 혁신과 이를 이용한 혁신적인 제품이었습니다. 예를 들면 이렇게요.

PC → GUI → 매킨토시
인터넷 → 하이퍼텍스트 → 모자이크 웹 브라우저
모바일 → 풀터치 스크린 → 아이폰
AI → 대화형 인터페이스 → ChatGPT

변화는 각 단계마다 계속 가속화되었지만, ChatGPT의 변화는 그 어느 때보다도 빠를 것입니다. 다른 기술 혁신은 사용자들이 하드웨어를 구매하거나 설치해야 했지만, ChatGPT는 사용자들이 따로 구매해야 할 하드웨어가 필요 없기 때문이죠.

또한, 프로그래밍은 다음과 같이 변화되어 왔습니다.

소프트웨어 1.0 = 특정 데이터를 조작하는 코드
소프트웨어 2.0 = 데이터를 학습하는 코드로 만든 특정 데이터를 학습한 머신러닝 모델
소프트웨어 3.0 = 데이터를 학습하는 코드로 만든 모든 데이터를 학습한 머신러닝 모델에게 특정 작업을 지시하는 프롬프트


사람과 컴퓨터가 상호 작용하는 레이어가 하나 줄어들게 됨으로 인해, 개발 일이라는 것이 근본적으로 바뀔 것입니다. 때문에, 단순히 'ChatGPT'라는 한 제품의 사용법이 아닌, 컴퓨터와의 새로운 상호 작용 방법 자체를 배워두어야 앞으로 생겨날 거의 모든 미래 기술과 제품에 대비할 수 있습니다.

즉, ChatGPT라는 제품이 아니라, ChatGPT의 근원 'LLM'에게 어떻게 일을 시켜야 하는지를 이해하고 AI와 함께 협력하며 살게 될 미래를 준비해야 하는 것이죠. 그리고 이를 위해, 반드시 배워야 할 핵심 기술이 바로 ‘프롬프트 엔지니어링’ 입니다.

Q. 말씀해 주신 프롬프트 엔지니어링이 아직 대중에게 아주 잘 알려진 개념은 아니라고 알고 있습니다. 개념 설명 한번 부탁드려요.

A. 프롬프트 엔지니어링은 속된 말로 'AI 조련사'라고도 하는데요. 어느 정도 지능과 지식을 갖춘 AI에게 원하는 결과를 만들어내게끔 지시하는 방법론이라고 할 수 있습니다.

개발자 유머가 하나 있는데요. 부인이 개발자 남편에게 “마트가서 우유 사오고 아보카도 있으면 여섯 개 사와”라고 주문했을 때, 개발자는 우유를 여섯 개 사온다는 유머가 있습니다. 이처럼 AI에게 원하는 결과를 명확하게 지시할 줄 알아야 곧 올바른 결과를 얻을 수 있습니다. 여러분이 일을 잘 하려면 상사가 지시를 잘 해야 하거나, 실무자가 일을 잘 하려면 매니저가 요구사항을 명확하게 전달해야 하는 것과 마찬가지죠.

다만, 한 번 결과를 내고 마는 것이 아니라 항상 일관성 있게 원하는 결과를 내도록 만들고, 유지보수가 가능하게끔 만드는 것이 프롬프트 엔지니어링의 핵심입니다.

AI

Q. 그렇군요! 그런데, 이 프롬프트 엔지니어링을 왜 배워야 하는지에 대해서나 프롬프트 엔지니어링 분야 자체에 대해 아직은 좀 회의적인 여론이 있는 것도 사실인데요. 이에 대해서는 어떻게 생각하시나요?

A. 솔직히 말씀드리자면, 프롬프트 엔지니어링을 잘못 이해하고 있기 때문에 그렇게 느끼는 것이라 생각합니다. AI 서비스가 낸 결과의 목표를 설정하고, 목표를 잘 이룰 수 있도록 가이드하고, 해당 목표를 잘 이룰 수 있는지, 이루고 있는지 '평가'하는 것이 '프롬프트 엔지니어링'의 핵심인데, 이 영역은 학습과 경험 없이는 제대로 할 수 없는 부분임이 확실합니다.

또한 프롬프트 엔지니어링은 컴퓨터 프로그래밍의 새로운 패러다임이라고 볼 수 있고, 프롬프트 엔지니어링을 배운다는 것은 코딩, 정확하게는 프로그래밍을 배우는 것과도 같다고 할 수 있습니다. 가령 이런 식인 거죠.

데이터 + 알고리즘 = 프로그램
컨텍스트 + 프롬프트 = 프로그램
LLM = 컴퓨터(VM)
소프트웨어 3.0 = 프롬프트 프로그램

지금까지 IT 산업이 발전해 오면서 계속 개발자의 범위가 확장되어 왔는데, 그것이 더 확장되는 것이라고 생각하시면 됩니다. 도태되지 않으려면, 배워야만 하는 영역인 거죠.

Q. 강사님께서는 서울대학교에서 수업도 진행하고 계신 것으로 알고 있는데, 혹시 ChatGPT와 관련되어서 학생들은 어떻게 생각하고 있나요?

A. 현재 서울대학교에서 웹 프로그래밍 수업을 하면서 학생들에게 수업 과정 전반에 걸쳐 ChatGPT와 함께 프로그래밍 하는 방법을 가르치고, 적극적으로 사용하도록 권장하고 있는데요.

학생들은 'ChatGPT를 어떻게 활용하면 될까요?' '내 데이터를 학습한다고 하는데 어떻게 해야 할까요?' '미래에 내 직업이 위험하지 않을까요?' 하는 질문들을 많이 합니다. 즉, 제품으로서의 ChatGPT에 대한 질문을 주로 하고 있는 거죠.

왜냐하면 아직 이해도가 높지 않고, 시중에 나와 있는 정보들은 다 ChatGPT 라는 하나의 제품을 사용하는 방법을 알려주는 것이지 프롬프트 엔지니어링 자체를 알려주지는 않기 때문에 사고가 확장되지 않는 겁니다.

그래서 이 강의를 기획했습니다. 이 강의에서는 ChatGPT가 아닌 이 서비스의 근원인 LLM을 잘 활용하기 위해서 알아야 하는 중요한 개념과, 자동화와 어플리케이션 개발 관점에서의 내용을 함께 담았습니다. 일반 수강생은 물론, 이 강의를 이해하고 나면 회사에서 도입하기 위해서는 어떤 식으로 접근해야 하는지, 그리고 창업자라면 어떤 개념을 활용해야 하는지도 알 수 있을 것입니다.

ChatGPT

Q. 사실 시중에 Chat GPT 관련 영상이나 강의가 대중의 높은 관심도를 대변하듯 정말 많이 쏟아져 나오고 있는 상황인데, 강사님이 준비하신 이번 강의는 무엇이 다르다고 할 수 있을까요?

A. 프롬프트 엔지니어링은 머신러닝 모델링과 개발 방법론을 섞어놓은 것과 비슷합니다.

머신러닝 모델이나 어플리케이션을 개발할 때는 원하는 결과를 정확히 의도한 대로 항상 일관성 있게 결과를 내는 것이 중요합니다. 또한 제약 사항을 이해하고 가장 적합한 방법을 통해 최적의 결과를 만들어내는 것, 그리고 유지 보수가 가능하도록 만드는 것이 매우 중요하죠.

하지만 시중 대부분의 강의는 프롬프트 템플릿을 주고 사용하는 방법을 알려줍니다. 한 번은 그럴듯한 결과가 나올 수 있겠지만, 컨텍스트나 사용자에 따라 결과가 크게 달라질 겁니다. 또한 해당 템플릿은 ChatGPT라는 하나의 서비스에만 사용이 가능하지, 다른 LLM에서는 사용할 수 없죠.

이 강의는 누가 사용하더라도 항상 일관성 있게 결과를 재현할 수 있는 프롬프트를 만드는 방법을 알려줍니다. 단순하게 말하자면 미리 만들어 둔 프롬프트의 사용법을 알려주는 것이 아니라, 항상 의도한 결과를 출력하는 템플릿을 만드는 방법을 알려주는 강의입니다.

또, 코드 사용을 최소화할 수 있도록 'Google Colab '이란 툴로 실습을 할 수 있도록 구성하여 개발을 전문적으로 하지 않은 분들도 따라해가며 이해할 수 있게 노력하였습니다.


🍎22년 경력 AI 전문 개발자, 김진중님의 강의가 궁금하다면?

[The RED : 프롬프트 엔지니어링, LLM(ChatGPT) 기반의 AI 서비스 개발]

프롬프트 엔지니어링

✔ 핵심만 눌러담아 프롬프트 엔지니어링의 시작부터 끝까지
프롬프트 기초부터 임베딩과 시멘틱 서치, 최적화, 프롬프트 평가와 보안, 그리고 LLM 서비스 개발까지 모든 단계 학습
✔ 7가지 실제 업무 상황별 예제 실습
7개의 다양한 실전 예제를 통해 프롬프트 엔지니어링을 복습하고 데이터 보안 & 환각 처리, 프롬프트 체이닝 등의 고급 기법을 학습
✔ 상용화 가능한 수준의 LLM 서비스 개발
랭체인을 비롯한 다양한 라이브러리를 학습하고 대화형 챗봇, FAQ봇, 능동적인 Q&A봇 등 실제 상용화 가능한 수준의 서비스 개발
✔ AI 시대 대응 전략 공유
AI시대에 걸맞는 새로운 기회 찾기를 비롯하여 LLM 시장이 어떻게 발전하고 있는지, 앞으로 어떤 미래기술에 주목해야 하는지 전수


지금 패캐머들이 읽고있는 BEST 아티클이 궁금하다면

이 글과 연관된 주제의 추천 강의