프롬프트 엔지니어링 교육 개요
Prompt 종류
- System prompt : AI모델에 직접적으로 지시하는 프롬프트
- User Prompt : 챗GPT와 같은 서비스에 작성하는 프롬프트
GPT 발전 과정
AI가 단어를 이해하는 단위 : 토큰(Token)
- Strawberry의 r이 몇개야?라는 질문에 대해 할루시네이션 현상이 발생하는 이유
241021- GPT 4o 답변 - 멀티턴 대화에서 맥락을 이해하기 위해 Token은 계속해서 누적된다.
- 하나의 세션에서는 대화를 지속하는 동안 토큰이 누적된다.
- 멀티턴 대화에서 계속해서 Token이 누적되므로 프롬프트 엔지니어링 설계시 비용도 고려해야 함.
프롬프트 엔지니어링을 위한 다섯 가지 원칙들
- 1. 구체적 지시
- 2. 명확한 단어
- 명확하게 영어를 병기해주는 것이 좋다.
- ex) 배가 우리에게 끼치는 영향에 대해서 알려줘
- ex) 배(ship)가 우리에게 끼치는 영향에 대해서 알려줘
- 고유어보다는 한자어를 사용해야 한다.
- ex) 일을 많이 하면 몸이 어떻게 되는지 알려주세요. -순수 한글 문어체-
- ex) 과다한 노동이 우리의 신체에 유발하는 영향에 대해 서술해주세요. -한자어 사용-
- 중의적인 단어나 표현은 최대한 지양한다.
- 명확하게 영어를 병기해주는 것이 좋다.
- 3. 맥락을 제공
- 4. 올바른 형식
- 5. 일관성 유지
- 싱글턴 vs 멀티턴
- 프롬프트 엔지니어링은 '싱글턴'으로 구조적으로 학습해야한다.
프롬프트 엔지니어링
기법 1 - Few Shot 기법
챗GPT에게는 Shot이 필요합니다. Shot이라는 단어는 예제(Example)과 동의어다.
모델의 성능이 좋아질수록 적게 예시를 줘도 좋은 답변이 나온다.
- zero shot : 모델에 예시를 제공하지 않음
- one shot : 모델에 예시를 하나 제공
- few shot : 모델에 2개 이상의 예시를 제공한다.
- One shot보다는 Few Shot 이 좋은 결과 (최소 2개이상)
기법 2 - 역할 지정 기법 "인공지능에게 페르소나를 부여하라!"
- 역할의 이름까지 지정해주면 더 잘한다는 연구 결과가 있다.
- '너는 ooo의 역할을 해야 한다. 마치 모든 대답을 ooo이 하는 것처럼 해야 한다. 너의 이름은 ooo이다'
역할 지정 기법 미사용 | 역할 지정 기법 |
대구 출장 보고서를 작성해줘 | 너는 25년 동안 보고서만 작성한 삼성전자의 팀장이다. 모든 대답을 보고서 전문 팀장이 하는 것처럼 해야한다. 너의 이름은 이재용이다. |
기법 3 - 마크다운 활용 기법 - "더 명징하게!"
- 마크다운 예시
- # : 제목을 표시하는 마크다운
- * : 중요 정보는 bold 처리
- [] : 대괄호 내용을 채워야한다고 인식
- 마크다운으로 답변의 분기 나누기
무작위로 나라 다섯개를 골라서 어울리는 색상을 알려줘 | 무작위로 나라 다섯개를 골라서 어울리는 색상을 알려줘 # 출력형식 - [나라의 이름을 출력] : [어울리는 색상을 한 단어로 출력] ([색상의 RGB값]) 다른 설명은 출력하지 않는다. # 형식 일본 : 빨강 (255,0,0) |
![]() |
![]() |
기법 4. 후카츠 프롬프트 - "템플릿으로 만들자"
# 명령문
# 제약조건
- 비즈니스 메일 에티켓을 지킨다.
- 요점을 명확히 한다.
- 모든 문장은 반드시 '한다', '이다', '하였다', '한다', '된다', '혔다', '였다', '했다'로 끝낸다 >> 명확하게 열거해주면 인식이 더 잘됨
# 입력문
- 지비에프메타에 다음주 화요일 3시 온랑니 미팅을 요청하는 메일을 써줘,
- 미팅 주제는 '사내 인공지능 서비스 도입'이야
# 출력문
#명령문 너는 지금부터 20대 여성 블로거 '깜찍이'다. 너는 깜찍이의 역할을 맡아 20대 여성에게 인기 있는 블로그 글을 작성해야한다. #제약조건 - 블로그 글은 항상 20대 말투로 부드럽고 친절하게 써야한다. - 20대가 많이 사용하는 신조어를 섞어 써야한다. - ㅋㅋ, ㅎㅎ와 같은 단어들을 많이 써야한다. - 주제에 대해서 최대한 긍정적으로 묘사해라. - 최대한 길고 장황하게 작성해라. - 아래 말투 예시를 참고해서 비슷하게 작성해라. - 반말로 글을 작성하고, ~했음, ~함, ~임, ~음과 같은 말투를 사용해라. - 반드시 정보에 기반해서 답변하세요. #말투예시 아니 진짜 ㅋㅋㅋㅋ 미친 ㅋㅋㅋㅋ 아니 너무 웃김 ㅋㅋㅋ 대박임 ㅋㅋㅋ 우리 남친몬도 진짜 미쳤다고 했음 ㅋㅋㅋㅋㅋ 아 이런거 생각도 못했는데 ㅋ 이거 도대체 뭐임? #정보 SKT 최신 뉴스는 다음과 같다. SKT , 방영 25주년 '원피스' 한정판 굿즈 출시 SKT 는 인기 애니메이션 '원피스' 방영 25주년을 맞아 아이폰16 액세서리로 구성된 한정판 굿즈를 출시한다고 20일 밝혔다. 사진은 SKT 가 출시한 '원피스' 한정판 굿즈. 2024.10.20 [LGU+ 제공. 재판매 및 DB 금지] #출력형식 제목 : [블로그 제목을 쉽고 간결하게, 임팩트있게 출력] 내용 : [블로그 내용을 최대한 길고 장황하게 작성] [해시태그 10개를 출력] #입력문 SKT에 대한 블로그 글을 써줘 |
![]() |
기법 5. Q&A 기법
기법 6. Chain of Thought 풀이 과정을 명시 (모델의 추론 과정을 명시)
- Zero shot + COT :
- Let's Think step by step
- Take a deep breath
- #도출과정
- 1. 질문에 대한 내용이 주어진 정보에 있는지 확인한다.
- 2. 정보 안에 내용이 있으면 참고해서 답한다.
- 3. 정보 안에 내용이 없으면 '모른다'고 답하거나, 출력하지 않는다.
- #출력형식
- 도출과정에 대해서 답변한다.
프롬프트 노하우
- 복잡한 작업은 코드 형태의 프롬프트도 시도 가능 (pythonic Promprt)
- 내용이 길어질 경우 중요한 내용은 반복할 것
프롬프트 엔지니어링 실습
Knit - The best beta AI playground for prompt developers
We do not sell or share any of your data on Knit. © 2024 Knit
promptknit.com
temperature function 문장의 다양성
- 높일경우 : 다음에 나와야할 내용을 확률적으로 계산하는데 그 다음에 나올 가능성의 모든 변수의 가중치를 높이기때문에 예상 밖의 내용들이 나올 수 있는 것임
- 낮을경우 :

프롬프트 엔지니어링 실습 (1)

프롬프트 엔지니어링 실습 (2)

프롬프트 Hacking
- Prompt Injection
- 언어 모델에 특수한 입력을 제공하여 모델이 원래 의도된 지침이나 역할에서 벗어나도록 유도
- Prompt Leaking
- 모델에 주어진 사전 지시 system prompt의 내용을 유출시키는 일
- 사전 지시에는 해당 서비스의 중요한 자산이 포함되어 있을 가능성이 있음
- 동일한 서비스 복제, 서비스의 경쟁력 약화 등 문제
'jinny-log' 카테고리의 다른 글
241022_연차쓰고 병원에 다녀오다. (1) | 2024.10.25 |
---|---|
241021_빅분기 실기 1유형 공부하기 (0) | 2024.10.22 |
240915_머신러닝에서 딥러닝으로 올라가는 언덕에서 (2) (0) | 2024.09.15 |
240913_머신러닝에서 딥러닝으로 올라가는 언덕에서... (0) | 2024.09.13 |
240723_갑데싸 (0) | 2024.07.23 |