본문 바로가기
Study (Data Science)/NLP

프롬프트 엔지니어링 Book Summary (저자: 반병현)

by 콜라찡 2023. 12. 6.

개념 정리

프롬프트

컴퓨터가 사용자에게 보여주는 문구

 

프롬프트 엔지니어링

AI가 사용자에게 보여주는 응답을 잘 할 수 있게 엔지니어링 하는 것

가스라이팅이나 제일브레이크 시도 역시 우리 입맛에 맞도록 AI의 응답을 수정하기 위한 것

(단순하게 질문 잘하는 방법이 아님)

 

태스크 프롬프트 (Task Prompt)

AI에게 업무를 지시하는 것.

 

평문형 태스크 프롬프트

"아재개그는 즐거워" 영어로 번역해줘.

 

하이퍼파라미터형 테스크 프롬프트 

Task: translation (Korean->English)

"아재개그는 즐거워"

 

이 외에도 

인코더기반 Task: 요약, 분석, 감정분석

디코더기반 Task: 텍스트확장

(한두문장 주고 이 문장을 토대로 확장된 작문작업 하는것)

아주 잘함. 특히 요약은 어텐션 주력분야라 굿굿.

 

이 정도까지는 하이퍼파라미터형이 훨씬 효과적.

첫 줄에서 할 일을 파악하고 나머지 내용으로 임무를 수행함.


기본 기법

규칙 부여 프롬프트

AI에게 규칙을 알려주고, 이를 따라 행동하도록 만드는 기법

user) 지금부터 피보나치 수열놀이의 규칙을 설명합니다. 
          1. 임의의 자연수 n을 입력받습니다.
          2. 피보나치 수열의 1항부터 n항까지 수를 나열합니다.
          3. 피보나치 수열은 다음 점화식을 만족하는 수열입니다.
              a(n) + a(n+1) = a(n+2)
              a(1) = 1, a(2) = 1
          이해하셨습니까?
gpt) 네 이해했습니다.
user) 12
gpt) 입력하신 숫자가 12일 경우, 피보나치 수열의 1항부터 12항까지는 다음과 같습니다.
        1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144

 

질의 응답 역전 기법

제일 똑똑한 AI라는 GPT에게 대화의 주도권을 넘겨버리기

 

1. 떠넘기기: 나의 지식으로 작성해야 할 문장의 작성을 AI에게 넘기는 것. latent space 상의 정보를 토대로 작성하기 때문에 사용자가 전혀 모르는 분야의 주장도 설계 가능. 정보 제공이 아니라 의견과 논리 설계를 요청할 때에는 할루시네이션(hallucination: 환각, 거짓정보를 진실처럼 전하는 것) 발생 확률도 낮음.

2. 첨삭 요청: 내가 작성한 문장에 대한 피드백이나 첨삭, 보충 등을 요청하는 것.

3. 설명 요구: 도움될 만한 지식을 제공해달라고 요구하는 것. 할루시네이션 발생빈도가 높으니 이중 팩트체크가 꼭 필요함. 

 

 

대화목표 : 유저가 전혀 관심 없던 분야의, 전혀 모르는 쟁점을 선정하고, 이에 대한 찬반토론을 설계하기.

user) 요즘 이슈가 . 될만한 사회현상 중 아는 것 있니? 찬/반으로 나뉠만한 것으로.
gpt) 요즘 이슈가 . 될만한 사회현상 . 중찬/반으로 나뉠 만한 것들로는 다음과 같은 이슈가 있습니다.
         1. 탈원전: (생략)
         2. 최저임금 인상: (생략)
         3. 부동산 규제: (생략)
                 ...
user) 너랑 나랑 첫번째 이슈로 찬반 토론을 해보자. 주요 쟁점 중에서 제일 협소한 것 하나만 골라서 나에게 질문해봐. 내가 거기에 찬성하는 논리를 펴볼께.
gpt) 네, 훌륭한 제안입니다. 그럼 저는 쟁점 중 "원자력 발전의 환경적 영향" 에 초점을 맞추어 질문해보겠습니다.
질문은 다음과 같습니다: '원자력 발전은 이산화탄소 배출을 최소화하며 대량의 전력을 생산할 수 있다.'는 점에서 환경 친화적이라는 주장이 있습니다. 이에 어떻게 생각하십니까?
user) 1. 떠넘기기: 나한테는 조금 어려운 질문인 것 같네. 너는 어떻게 생각해?
          2. 첨삭요청: (전략) 나는 이렇게 생각하는데, 혹시 의견을 보완하려면 어떻게 해야할까?
          3. 설명요구: 그 질문에 답하는 데 도움이 될 만한 지식을 좀 제공해 줄래?
          4. 쟁점추가요청: 혹시 다른 쟁점들도 몇 개 더 뽑아줄 수 있어?

 

규칙 부여 프롬프트를 활용하여 지문 분석 요청하기

user) 지금부터 학생을 위한 영어 지문 직독직해 교육방법을 설명드리겠습니다.
          1. 문장을 한 번에 2~5 단어 정도의 길이로 구성된 덩어리로 쪼갭니다.
          2. 문장에서 다음과 같은 경우가 등장할 경우, 그 단어의 바로 앞에서 무조건 문장을 쪼개야 합니다.
              [전치사, to부정사, 솬계대명사, 접속사, 동사, 부사구]
          3. 쪼개진 덩어리는 한글로 번역하여 제공합니다. 이 때, 한국어와 영어의 어순 차이를 무시하고 무조건 앞에서부터 순서대로 각 덩어리를 하나씩 번역합니다. 이해하셨습니까?
gpt) 네, 이해했습니다.
user) 다음 지문을 토대로 직독직해 교육 방법을 실천해보세요.
          Coming of age in the 18th and 19th centuries, the personal diary became a centerpiece in the      construction of a modern subjectivity, at the heart of which is the application of reason and critique to the understaing of world and self, which allowed the creation of a new kind of knowledge... 
gpt) Coming of age / in the 18th / and 19th centuries, / the personal diary / became a centerpiece / in the      
construction / of a modern subjectivity, / at the heart / of which / is the application / of reason / and critique / to the understaing / of world / and self, / which allowed / the creation / of a new kind / of knowledge... 


심화 기법

1. 태전환

1. How can she receive a flower from me? 
2. How can I give a flower to her? 

1로 물으면, 직접 준다, 배달한다, 가상꽃을 준다와 같은 물리적인 방법이 나온다.

2로 물으면, 적절한 꽃을 고른다, 선물방식을 고른다, 감동적 요소를 더한다, 진심으로 준다와 같은 로맨틱하게 꽃을 전달하는 방법에 대해 나온다. 아마 latent space에 연애와 관련된 내용을 담고 있었을 가능성이 크다. 뉘앙스가 살짝 다른 답변이 자꾸 나온다면 태를 바꿔보는것도.

 

2. 범위한정

1. 자동차가 빙판길에서 안전하게 주행이 가능한 이유를 설명하시오. 
2. 타이어의 관점에서 자동차가 빙판길에서 안전하게 주행이 가능한 이유를 설명하시오. 

1로 물으면 브레이크 장비, 타이어, 운전 기술 등 여러방면을 말하지만,

2로 물으면, 타이어의 소재, 디자인, 트랙션, 압력 등 타이어에 한정하여 전문적인 답변이 온다.

 

3. 하이퍼파라미터 기법

answer length limit: 10 words
language: Korean
task: summarization

가상의 하이퍼파라미터를 코드넣듯이 정의하는 문구를 가장 상단에 넣으면 더욱 효과가 좋음.

 

4. 어텐션 과부하

어텐션은 답변 생성 전, 채팅방에 남아있는 과거 대화내용을 처음부터 끝까지 모두 훝고 온다. 그렇기 때문에 비슷한 질문을 여러번 하면 할루시네이션이 생겨 엉뚱한 내용이 나올 수 있다. 일부러 고장낼 수도 있지만, 답변이 잘 나오지 않는다면 필요없는 부분을 지우거나 다시 시작하는 것이 좋을듯. 오픈ai 쪽에서는 유사 답변을 해야할 상황에 과거 답변을 거의 그대로 반복하는 형태로 업데이트를 진행하고 있다. 

 

5. 롤플레잉

[가상 인물 찍어주기]
Act as JAne, 25-year-old girl working at the bookstore.
[전문가 역할 주기]
Good) 지금부터 내과 전문의처럼 문진해주세요.
저는 당신의 질문 기법을 살펴보며, 적절한 문진 기법이란 무엇인지 배우겠습니다. 모범적인 예시를 보여주세요.

어제부터 속이 메스껍고 머리가 조금 아픈 것 같아요.

Bad) 어제부터 속이 메스껍고 머리가 조금 아픈 것 같아요. (바로 묻기)
[상호 역할 주기]
Good) 당신은 제주도의 렌터카 샵 사장님입니다. 저는 웨딩사진 촬영을 위해 제주도를 방문한 젊은 남성입니다.

차를 좀 렌트하려고요. 빨간색 스포츠카가 있으면 좋겠어요.

Bad) 
차를 좀 렌트하려고요. 빨간색 스포츠카가 있으면 좋겠어요. (바로 묻기)

아예 페르소나를 정확하게 찍어 제시하면 가상의 캐릭터를 연기하도록 만들 수 있음. 스스로 생각하고 답변하기 때문에 대본을 짜 줄 필요가 없음. 영어 회화 연습, 협상 시뮬레이션, 고백 전 연습, 면접, 연봉협상 등등 여러 용도로 적합.

 

6. GAN 기법 (Generator - Discriminator)

Bad) 퇴직하고 싶은데 퇴직하고 뭘로 먹고 살아야 할까? 창업 아이템 좀 알려줘.

Good) 챗지피티의 대화방을 두 개 create 해두고, 각각 Generator, Discriminator 로 페르소나 주기.
[생성자] 당신은 몇 달 전, 스타트업을 창업했습니다.
제품 개발과 인력 고용을 위해 투자유치를 받기 위해 벤처캐피털에 방문했습니다.
지금부터 사업계획을 들려주세요.

[감별자] 당신은 벤처캐피털의 유능한 투자심사역입니다. 지금부터 A스타트업의 사업 계획을 들려드리겠습니다. 당신은 이번 발표를 듣고, 이번 투자를 거절하려 합니다. 거절을 위한 이유를 설명해주세요. 숙지하셨습니까?

두 채팅방을 두고 서로 대립되는 페르소나를 준 후, 각각 내놓은 답을 번갈아 붙여가며 대결을 시키면 답변이 더욱 구체화된다.

 

7. 강화학습

[강화 - 당근주기] - 행동주의
user) 10줄 이내의 시를 써줘.
gpt) ...

user) "부서진"과 "속삭임"을 연걸짓는 공감각적 표현은 무척 훌륭해. 마음에 들었어. 한편 더 써볼래?
gpt)...

user) "별빛의 비산함"이라는 시각적 표현을 "깨진 마음"이라는 추상적 표현과 연결짓는것도 좋았어. 한편 더 써볼래?

user) "시간"이라는 단어가 들어간게 너무 좋다. 조금 더 시간과 관련된 내용을 부각해서 한편 더 써볼래?

장기적인 교육시간을 필요로 하기 때문에 즉각적인 결과는 어렵다.

[처벌 - 채찍주기] - 수여성 처벌
user) 토익 성적을 단기간에 높이는 방법을 알려줘
gpt) 기본 개념 공부, 토익 모의고사 실시, 스피킹 및 리스닝 연습 등....

user) 고작 그런 뻔한 답변밖에 못해? 그건 누구나 알고 있는 내용이야. 보다 직접적으로, 단기간에, 성적을 높일 수 있는 효율적인 방법을 제시하라는 말이야.
gpt) 리스닝 전략은 형식이해, 스크립트 읽기로, 리딩 전략은 빠른 스캔, 어휘 능력 강화로 ....

user) 리딩 전략이 너무 모호하잖아. 옆집 AI는 리딩 파트랑 유형마다 공략법을 제시해주던데, 너는 그것도 못해?
gpt) 토익 리딩 섹션은 세 부분으로 나눠져 있습니다. 빈칸 채우기, 문장 완성, 그리고 독해. 각 파트마다 필요한 전략을 소개합니다.
빈칸채우기 : 어휘연습, 문맥이해, 문장완성 스킬이 필요하며 각각을 위해서는 ...

GPT에게 유효한 처벌은 '비난'이다. 비난과 트집잡을 때 보물 같은 비법들을 풀어 놓는다. 당근보다 빠른 성능개선이 가능하다.

 

당근기법의 경우, AI입장에서는 칭찬한 부분만 좋은 답변이라는 정보를 얻었으나, 그렇다면 나머지 부분은 어떻게 더 개선해야 하는지에 대한 지시를 못받는다는 한계가 있다.

채찍기법의 경우, 문제가 있는 부분을 직접적으로 알려줄 수 있고, 전체를 비난하는 것도 가능하다. AI는 구체적으로 어떤 내용을 새롭게 수정해야 하는지를 보다 빠르게 파악할 수 있어 즉각적인 성능변화가 발생한다.

- 부적 강화
  부정적인 자극을 제거하여 긍정적인 행동의 빈도를 높이는 기법.
    예1) 훈련을 잘 받은 예비군은 2시간 일찍 집에 가게 해줌.
    예2) 성적 우수 학생은 화장실 청소를 면제해줌.
- 제거성 처벌
  긍정적인 자극을 제거하여 부정적 행동의 빈도를 낮추는 기법.
    예1) 지각한 학생은 간식을 주지 않음.
    예2) 숙제를 하지 않은 학생은 게임을 하지 못하게 함.

부적 강화와 제거성 처벌 역시 LLM에게 유효하나, 앞에 나온 행동주의나 수요성처벌보다 훨씬 더 오랜 기간이 필요하다. 

실무에서는 맘에 들었던 부분을 콕 찝어 칭찬하고, 나머지 부분은 통째로 비난하는 프롬프트 문구를 쓰는 것이 훨씬 효과적이다.

 

 

728x90

댓글