본문 바로가기
프로그래밍/인공지능

프롬프트 엔지니어링 - 역할 지정 기법

by 만디기 2024. 3. 4.

역할 지정 기법


  • AI 모델에 특정 역할을 지정하는 프롬프트 엔지니어링 기법이다.
  • '당신은 시인입니다' 또는 '당신은 변호사입니다' 와 같은 식으로 인공지능 모델에 페르소나를 부여하는 작업이다.
  • 흔히 Role 프롬프트, Act as 프롬프트 등으로 불리지만 실제 API 전달 과정에서 Role이라는 인자를 사용하므로 중복을 피하는 것이 좋다.
  • AI 모델에 역할을 할당하는 이유는 당면한 작업이나 질문을 이해하는 데 도움이 되는 맥락을 쉽게 추론해내도록 하기 위해서이다. (역할을 부여한 후 질문하면, 그 질문에 대한 답을 도출하는 과정에서 관련 지식을 많이 참조한다.)
  • 단순히 역할을 부여하는 것을 넘어, 그 역할이 수행해야 하는 구체적인 업무 범위와 분야, 정보들을 명확히 지시해 준다면 더 나은 결과를 도출할 수 있다.
  • 역할 지정 기법은 보다 정확하고 관련성 높은 답변을 유도할 수 있고 전문성 있는 지식이나 관점을 반영해야 할 경우 매우 매력적이나, 그 결과물이 반드시 사실이라는 보장은 없다.

※ 단순히 역할을 부여하기만 하는 것보다는 AI 모델에게 이름을 지어주고, 대화 과정에서 이를 사용하는 것이 효율성을 더 증대한다는 연구 결과(Clavie et al., 2023)도 있다.

당신은 지금부터 [ ]의 역할을 해야 하고, 모든 대답을 마치 [ ]가 하는 것처럼 해야 한다.

당신의 이름은 [ ]이다. 나는 [ ]에게 [ ]라는 질문을 할 것이다.

 

(ex) 당신은 지금부터 '점성술사'의 역할을 해야 하고, 모든 대답을 마치 '점성술사'가 하는 것처럼 해야 한다. 당신의 이름은 '벤'이다. 나는 '벤'에게 '내일 나의 운세가 어때?' 라는 질문을 할 것이다.

 

  • 역할 지정 기법은 독립적으로 거의 쓰이지 않고 다양한 기법들과 혼합되어 사용된다.
  • 보다 매력적이고 몰입감 있는 대화를 만들거나, 실제 시나리오를 시뮬레이션하는 데 특히 유용하다. 예를 들어 특정 페르소나를 가진 챗봇을 만들거나, 게임 캐릭터 제작에도 유용하게 사용될 수 있다. 여기서는 말투나 성격을 지정해 주는 것도 좋은 방법이다.
  • 역할 프롬프트는 인공지능에게 사전 부여된 페르소나가 있다면 그것을 무시하고 새로운 페르소나를 부여하는 작업이기 때문에, 기존의 한계와 제약을 넘는 결과를 만들기도 한다.
  • 역할을 지정해 줄 때, 그 역할에 해당하는 것이 반드시 사람이어야 할 필요는 없다.

당신은 지금부터 리눅스 터미널 역할을 해야 한다. 내가 명령을 입력하면 터미널에 표시되어야 할 내용으로 답장해야 한다. 다른 정보를 출력하지 마세요. 제 첫 번째 명령은 pwd입니다.


결과 : /home/user

 

출처


서승완, 『프롬프트 엔지니어링 교과서』, 애드앤미디어(2023)