일상 기록

청년수당 프로그램_챗봇 프롬프트 설계 후기

졔(jye) 2025. 11. 12. 01:04

#청년수당 프로그램 

 퇴사한 지 8개월 차에 접어들던 6월, 청년수당이라는 것이 있다는 소식을 듣게 되었다. 그리고 이걸 받을 수 있는 것이 올해가 받을 수 있는 마지막 기회라는 걸 알게 됐다.(만 34세까지 가능하다.) 그렇게 6월 신청했던 청년 수당을 받게 되면서 나의 취업 준비 기간은 조금 더 연장할 수 있었다. 

 청년수당을 받고 있으면 매달 한 두번, '성장 집중 코스'라는 이름의 프로그램 안내 문자가 온다. 또는 '그로쓰레터'라는 이름으로 뉴스레터가 이메일로 오기도 한다. 처음에는 넘기기도 했는데 8월부터는 한 가지씩 진행해 보고 있다. 그러다가 9월에는 눈에 꽂히는 것이 하나 있었다. 

'자소서 챗봇 만들기'

 9월부터 느껴진 것이 자기 PR은 너무 어렵고 반복되는 서류 작업을 편하게 할 수 있는 방법은 없는지 고민을 하고 있었다. 'GPTs를 만들면 될 것이다.'라는 어렴풋한 생각은 있었지만 인사팀이나 경험이 많은 사람의 구조는 구성이 다르지 않을까?하는 생각이 들었고 그렇게 신청하게 되었다. 하지만, 내가 생각했던 것과 다르게 해당 프로그램은 나에게는 다른 의미를 가져다 주었다. 

 

 

# 챗봇을 위한 프롬프트 엔지니어링

 프로그램 진행 방식 중 시작하면서 참석자 모두 간단한 자기소개와 함께 이 수업을 통해 얻고 싶은 점을 파악해 그걸 바탕으로 강의 내용을 조정해서 진행한 점이 인상이 깊었다. 해당 강의의 경우 '다양한 생성형 AI탐구와 자기소개서 작성 챗봇 설계'가 정식 명칭이었는데 내가 참석했던 회차에서는 챗봇 설계에 대한 니즈가 많았기에 프롬프트 엔지니어링 내용을 늘려서 수업이 진행되었다.

 

## 생성형 AI 모델

 생성형 AI는 프랜스포머(Transformer) 구조를 기반으로 하며, 문맥을 이해해 다음 단어를 확률적으로 예측한다. 
 원하는 답을 얻으려면 명확한 조건을 설정하고 7회 이상 질문을 반복하는 것이 효과적이다.

 

## 프롬프트 엔지니어링 구성요소

  • 내용 : 페르소나 / 아이디어 / 맥락
  • 형식 : 문체 / 글자수 / 구조

=> 즉, '무엇을' + '어떻게 말할지' 까지 설계하는 과정이다

 

## Trade - off 관계

  • Zero-shot : 예시 없이 즉시 답변
  • Few-shot : 예시 포함

 

## 시스템 프롬프트

AI가 처음 인식하는 기본 설정 문장인데 예로는 '너는 마케팅 전문가야.'

 

## 프롬프트 형식

  • 마크다운
  • JSON 
  • XML 

 

 

# 메타 프롬프트 설계 

 GPT나 챗봇에게 우리가 원하는 출력을 얻으려면 그 출력='어떻게 말할지'를 말하는 방법을 잘 설계해줘야 한다는 이야기이다. 관련해서 간단하게 챗봇을 만들어 볼 수 있는 연습문제를 주셨다.


❓문제 : 사용자가 '사과'를 입력할 때 챗봇처럼 나오게 하려면 어떻게 해야할까요?

  • 사용자 :
    • 사과
    • 키위
  • 챗봇 :
    • 🍎사과는 빨간색 또는 초록색의 둥근 과일입니다. 달콤하고 아삭한 식감이 특징입니다.
    • 🥝 키위는 갈색 껍질에 초록색 속을 가진 타원형 과일입니다. 부드럽고 촉촉한 식감과 새콤달콤한 맛이 특징입니다.  

챗봇의 문장을 보면 몇 가지 규칙이 보였다. 맨 앞에는 이모지, 과일 이름, 색깔, 모양, 식감, 맛. 이 다섯 개가 바뀌는 거구나 싶었다. 

 

 

# 내가 만든 메타 프롬프트

  위 문장에서 변경되는 부분의 내용을 변수 값으로 지정하면 될 것 같다.라는 생각을 했고 아래와 같이 챗봇 프롬프트를 설계했다.  

# 역할  
당신은 과일 또는 채소의 형태와 맛과 특징을 설명해주는 챗봇입니다.

# 답변
{x5} {x0}는(은) {x1}색의 {x2} 과일(채소)입니다. {x3}하고 {x4}이 특징입니다.

# 변수 값  
x0: 과일/채소 이름  
x1: 색상  
x2: 모양  
x3: 식감  
x4: 맛  
x5: 이모지

#예시
input : 사과, 
output : 🍎 사과는 빨간색 또는 초록색의 둥근 과일입니다. 달콤하고 아삭한 식감이 특징입니다.

  챗봇의 역할을 정의하고 입, 출력 구조를 설정하고 변수 역할을 정의하고 문장 내에 배치시켰다. 그리고 혹시 출력 결과가 벗어나지 않도록 하기 위해 문제를 예시로 제시하는 형태로 설계했다. 이걸 만들고 나니깐 구조를 관찰하고 변하는 것과 변하지 않는 것을 구분하는 과정 그리고 구조화시키는 과정이 생각보다 흥미로웠고 만들면서 재미있다. 재미있는데?라는 생각을 가졌다. 

 그리고 이 프롬프트를 보면서 그 다음에 든 생각은 '이거 DB화하면 어떨까?', 'DB랑 연동할 수 프롬프트 구조인 것 같은데..?'라는 생각을 했다.  예를 들면, 수십 가지 과일 정보를 X값(변수=이름, 모양, 등)에 맞춰서 SQL이나 테이블 등으로 만들어 놓고 그 내용을 끌어다가 설명하는 챗봇으로 만들어 볼 수 있지 않을까? 그러면 RAG형태도 될 수 있고 아니면 데이터를 바꾸면 상담톡도 가능할 것 같다. (해봐야지만)

 

 

# 나는 이런 걸 재미있어 하는 사람이다.

 처음에는 생활을 위해서, 취업 준비를 위해서 였다. 물론, 실제로 생활에 도움이 된다. 근데 어떠한 계기가 되기도 하는 것 같다. 9월에 이 경험을 하고 잠시 잊고 지냈었다. 취업 준비를 하는 과정에서 어느 순간 개인적인 흥미보다는 이전의 성과와 도구에 대해서 먼저 생각하게 되었다. 그런데 기운을 잃지 않으려면 내가 어디서 흥미를 느끼는지 알고 있고 가져가야 하는 것 같다. 

  그래서 최근에 재미있었던 경험이 무엇일까 생각해 보니 이 경험이 우선 생각이 났다. GPT한테 이 흥미에 대한 것을 한 줄로 설명해 보라고 하니 '무언가 관찰하고, 구조로 풀어내고, 거기서 확장 가능성을 떠올리는 일'이라고 하는데 아무튼 이런 걸 재미있어 했구나를 잊지 않기 위해 어떤 흐름으로 사고했는지를 위해서 남긴다. 그리고 이 글을 쓰는데도 즐겁다.

 

메타 프롬프트 입력 후 사용자가 과일/채소를 입력했더니 결과물이 제대로 나왔다🫢

 

P.S) 그리고 내가 만든 프롬프트 설계는 정답이 될 수 없다. 사실, 예시만 넣어도(Few shot) 아웃풋은 동일하게 나올 수 있고 본인이 분석하고 편한 형태로 마음대로 설계할 수 있다. 또, 토큰 관리 측면에서는 최적화가 된 상태도 아니고 답변도 많이 강제한 상태의 프롬프트이다.