초보 개발자를 위한 ChatGPT 활용 방법 3가지

1995년 마이크로소프트에서 윈도우즈95를 출시하며 볼마우스를 이용하여 화면 클릭하는 새로운 인터페이스를 선보였으며 개인PC로 세계를 하나로 통하는 인터넷 시대가 활짝 열리는 계기가 되었습니다. 2007년 스마트폰이 등장하며 수 많은 모바일 앱이 성장을 했고 언제 어디서나 비디오 스트리밍을 즐기고 택시를 부르고 숙박을 예약할 수 있게 되었죠.

그리고 현재는 사람처럼 생각하고 문맥을 이해해서 답변을 도출하는 ChatGPT라는 기술이 나왔습니다. 이제 AI시대가 비로서 시작되었다고 할 수 있습니다. 이미 많은 개발자들이 생성형 AI 기술들을 활용을 하고 GitHub Co-pilet을 사용합니다. 자신이 생각하는 내용을 주석으로 입력을 하면 바로 코드 또는 Function 생성을 자동으로 해 줍니다.

그래서 초보 개발자들도 시급에 해당하는 양질의 고퀄리티 코드를 생성을 하며 2~3배 이상의 프로덕션 레벨의 향상을 맛보실 수가 있습니다. 결국 AI 시대에서는 기존의 애플리케이션 그리고 데이터만을 가지고 만드는 것에서 생성형 AI를 접목 해 더욱 지능적인 어플리케이션을 만들어 나가야 됩니다.

그러다면 ChatGPT를 활용하는 방법이 어떤 것이 있는지 알아보겠습니다.

ChatGPT가 이해하기 좋은 질문을 하자

먼저 좋은 질문으로부터 시작을 하셔야 됩니다. ChatGPT 더 좋은 답변을 얻으려면 좋은 질문을 할 수 있는 능력이 필요합니다. 바로 ‘프롬프트 엔지니어링‘이라고 하는 영역입니다 명확하고 간결하고 구체적인 지침을 작성을 해야 되고요.

그리고 무슨 역할을 수행하는지 특정 페르소나를 잘 정의를 하셔야 됩니다. 주어진 목표 달성에 위해서 무엇을 해야 하는지 원하는 출력의 형식과 길이를 지정해야 되고요. 신뢰할 수 있는 관련 데이터를 제공함으로 할루시네이션. 즉, 허상 관련된 이런 이슈가 발생하지 않게 사실 데이터를 적시에 제공을 해야 합니다.

*페르소나: 사회 역할이나 배우에 의해 연기되는 등장인물이다.
*할루네이션: 인공지능(AI)이 정보를 처리하는 과정에서 발생하는 오류

그리고 어떤 고객을 대상으로 하는지 말투나 스타일을 정의를 하게 되면은 그런 말투나 보에 대한 그 연령에 맞춰서 메시지를 전달을 하게 됩니다. 그리고 메시지를 만들 때는 바로 정답에 가깝게 다가기 보다는 절차적으로 수행할 수 있게끔 하는게 중요합니다. 그래서 생각의 사슬(Chain of Thought)을 연결하여 하나 하나씩 문제를 풀 수 있도록 지시를 하는게 좋고요.

좋은 질문을 위한 구체적인 사항

  • 명령을 확실하고 구체적으로 작성한다.
  • ChatGPT에게 역할을 정해준다.
  • AI가 스스로 판단한 잘 못 된 정보를 바로 잡아준다.
  • 꼬리에 꼬리를 물어 질문해서 문제를 하나씩 해결할 수 있게 지시한다.

내가 얻고자 하는 답변에 대해서 미리 샘플을 제공하게 되면 그 샘플을 기반으로 답변을 자동으로 작성을 해 줍니다. 그리고 사용을 할 때 특히 프롬프트에 대해서 해커들이 인젝션 또는 거기 안에 있는 지시문을 발췌 유출을 하려고 하는 시도들이 있을 수가 있는데 ‘구분자 기호’들을 이용하여 보호할 수 있습니다. 한 번만에 좋은 프롬프트를 만들어내는 건 쉽지 않은 일입니다. 그래서 하나씩 반복적으로 프롬프트를 만들어 내면좋은 질문 하시게 되고 LLM으로 부터 좋은 답변을 얻으실 수가 있습니다.

최신 데이터는 외부 데이터를 활용하라 Function Calling

ChatGPT는 2021년 9월까지의 학습된 데이터를 기반으로 어 답변을 생성을 해 줍니다. 따라서 최신 데이터에 대한 답변은 할 수 없기 때문에 때문에 최신 사실 정보에 기반한 별도의 데이터베이스 또는 검색 엔진에 있는 데이터를 조회하거나 요약해 생성을 하시는 RAG 아키텍처를 활용하는게 필요합니다.

OpenAI 서비스의 LLM 세 가지 종류가 있습니다. 먼저 저희가 잘 알고 있는 ChatGPT라고 불리는 GPT3.5, GPT3.5-Turbo라는 모델이 있습니다. 일반적으로는이 모델을 이용을 해서 보통 서비스를 개발을 하게 됩니다. 그리고 여기에서 좋은 답변을 얻을 수가 없는 상황 또는 한글에 대한 인식이 좀 부족한 경우에는 GPT4 모델을 이용을 할 수가 있습니다.

그리고 여기에뿐만 아니라 우리가 가지고 있는 Q&A 데이터 또는 FAQ 데이터 이미 우리만이 가지고 있는 데이터를이 LLM이 잘 대답을 하지 못할 경우에는 임베딩 기법을 이용해서 벡터 데이터베이스에 기존에 가지고 있는 데이터를 미리 임베딩 해서 집어넣고 유사도 검색을 통해서 가져올 수 있는 이런 임베딩 API 활용하는 형태로도 사용이 가능합니다.

기존에는 주어진 형식 이런 절차에 맞춰서 보통 사용을 하셨을 겁니다 예를 들어서 제가 어딘가로 이동을 하고자 할 때 뭐 보통 출발지 목적지 그리고 검색을 하기 위한 버튼들을 이렇게 하나씩 절차적으로 넣고 어 눌러서 이제 실행을 하는 이런 방식인데 이제는 그렇게 할 필요가 없습니다. 의도를 파악하고 의도에 맞춰서 자동으로 행동으로 시행을 할 수 있는 기능을 제공하는게 바로 OpenAI 있는 Function Calling이라는 기능입니다.

예를 들어서 동대문 디자인 플라자에서 광화문까지 얼마나 걸려라 질문하게 되면은 내부적으로 오픈 AI GPT 모델이 가지고 있는 Function Calling 기능을 통해서 미리 사전에 어 정의를 해 놓은 해당하는 Function이 수행이 될 수가 있습니다. 그래서 API 형태로 제공하는 길찾기 API 연결을 하고 거기에 들어가는 파라미터도 LLM이 자동으로 출발지에 해당하는 정보가 무엇인지 그다음에 목적지가 무엇인지를 판단해서 자동으로 검색을 하게 됩니다. 이렇게 실시간 API 연계해서 LLM을 활용하고자 할 때 외부에 있는 데이터를 참고자 참고하고자 할 때는 Function Calling의 기능을 활용할 수가 있습니다.

자동으로 코드를 생성하는 OOO을 활용하라.

그리고 코드를 아직 만들지 않았다면 걱정하실 필요가 없습니다. GitHub Co-pilot이 코드를 생성하는 기능을 제공을 하고 있습니다. Advanced Data Analysis라는 코드 인터프리터로 알려져 있으며 일반적으로 말을 하게 되면은 그 말에 맞춰서 코드를 생성해 주고 코드를 생성하는 것뿐만 아니라 실행까지 자동으로 해주게 됩니다.

예를들어 설문 조사 결과를 받아 만족도 조사를 한다면하 설문 조사한 파일을 업로드를 하고 물어봅니다. 그러면 ‘어떤 차트로 만들어 드릴까요?’라고 되 묻고, ‘파일을 차트로 만들어 줘’라고 하면은 자동으로 코드를 생성하고 차트를 만들어 주고 분석된 결과를 말로 설명도 해 줍니다. 노코드 또는 노코드 형태로 개발을 진행을 할 수도 있습니다.

이런 코드를 재활용하고자 할 때에도 여기서 생성된 코드를 꺼내서 다시 활용을 할 수도 있습니다. 그렇기 때문에 추가적인 질문하지 않고 이런 정보들을 활용해 서비스를 구축을 해 나가실 수가 있게 되었습니다.

하지만 이런 LLM을 활용해서 모든 문제를 풀 수는 없습니다. 단순한 문제는 LLM 하나만으로 가능하지만 복잡한 문제는 애기가 다릅니다. 예를 들어 최신 데이터를 검색을 해 나온 데이터 결과를 받고 싶다면 질문 내용의 키 포인트를 추출하고 그 정보를 빙서치 검색 엔진에 질문하고 나온 결과물들을 모아서 요약하는 등의 LLM 제작 작업이 필요합니다. 그러나 이미 그런 기능의 프롬포트 플로우를 제공을 하고 있습니다.

이런 서비스를 활용하게 되면은 직접 LLM을 통해 개발하고 하는 배포하거나 대량의 테스트 등을 거치지 않고도 LLM Ops를 통해 이런 것들을 좀 더 쉽게 할 수가 있습니다.

그리고 우리가 가지고 있는 데이터들만 가지고서 답변을 해야 되는 경우, 기본적으로 토큰 즉 프롬트 인풋이라고 불리는 프롬프트와 아웃풋으로 나 는 컴플리션 토큰의 합을 가지고 비용이 색정이 되게 됩니다 그런데 여기에 질문하는데 항상 많은 프롬프트를 소진해야 되는 케이스가 있습니다 예를 들어서 다양한 샘플 예시를 넣어야 되는 경우예요 그럴 경우에는 비용이 어 생각보다 좀 많이 나온다라고 생각하시는 분들도 있을 수가 있습니다 그럴 경우에는 미리 그런 샘플 데이터들을 프롬프트와 컴플리션 데이터셋의 조합 제이슨 형태로 묶어서이를 트레이닝을 시켜서 커스텀 모델을 만들 수 있는 기능을 파인 튜닝이라는 이름으로 제공을 하고 있습니다.

파인 튜닝을 통해서 여러분들만의 커스텀 모델을 만들 수가 있고요 이렇게 사용하게 되면은 오히려 비용을 더 절약할 수 있는 부분이 또 발생을 할 수가 있습니다 제가 오늘 몇 가지 케이스에 대해서 설명을 드렸는데 이러한 사용 사례들을 활용하게 되면은 엄청 쉽고 간단하게 애플리케이션을 생성형 AI 기반으로 만드실 수가 있습니다 AI 혁신을 주도할 수 있는 주체는 바로 여러분입니다 채치 PT 기술로 여러 분의 비즈니스 목적을 달성하는 것을 마이크로소프트가 돕도록 노력하겠습니다 관련된 자료는 여기에 있는 것들을 활용하시면 되겠습니다

Leave a Comment