[Prompt Engineering] 프롬프트 엔지니어링 가이드 및 예시
DataScience/PromptEngineer

[Prompt Engineering] 프롬프트 엔지니어링 가이드 및 예시

728x90

프롬프트 엔지니어링 가이드

아래 사이트에서는 한국어 버전으로 프롬프트 엔지니어링 가이드에 대해 설명되어 있다.

'Prompt Engineering Guide'는 AI 연구의 해외 커뮤니티 'DAIR.AI'에서 작성한 자료를 공유해놓은 사이트이다.

https://www.promptingguide.ai/kr

 

프롬프트 엔지니어링 가이드 – Nextra

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

 

이 가이드는 프롬프트의 품질을 개선하고, 보다 정확한 결과를 얻기 위해 사용할 수 있는 전략과 기법에 대한 개요를 제공한다.

1. 짧고 명료하게 적기

: 지시문을 최대한 짧고 명료하게 입력하는 것이 중요하다. 핵심만 담아 구체적인 출력 지도 사항을 입력해야 한다.

Bad 예시 : 올여름 휴가는 어디로 가면 좋을까? 바다도 가고 싶은데 산도 좋을 것 같아서 고민이야. 국내 여행지를 추천받긴 했는데 요즘 해외여행도 끌리네.. 어딜 가야 하지?

Good 예시 : 8월에 가기 좋은 자연경관이 아름다운 해외 여행지 3개 추천해 줘.

2. 아웃풋을 확실하게 지시하기

: 어떠한 형식으로 출력해야 하는지 구체적으로 요청한다. 글자 수, 줄 단위와 같이 일반적인 형식부터, json 표, html 포맷 등 사용자가 원하는 대로 지정한다.

3. 예시 듣기

: 원하는 아웃풋이 확실하게 정해져 있다면 예시를 드는 것도 좋은 방법이다. 샘플 아웃풋과 함께 결과를 도출해달라고 요청하면 이를 반영해 결과를 만들어낸다.

Bad 예시 : 가상의 회사를 하나 만들어줘. 어떤 회사인지 간단히 설명도 덧붙여주면 좋겠어.

Good 예시 
다음 포맷으로 가상의 패션 회사 "BBB"를 만들어봐.

  • 기업명: 업스테이지
  • 업종: 시스템 소프트웨어 개발 및 공급업
  • 제품/사업: 인공지능(AI) 시스템 개발 및 공급업,소프트웨어 개발 및 제작,기타 시스템 운용 관련업

4. Tash를 순서대로 정리하기

: 다양한 업무 처리에 활용할 때에는 해야 할 일을 단계별로 정리하여 출력 순서를 알려주는 것이 좋다.

어떠한 내용을 바탕으로 보고서를 써줘라고 지시하기 보단, 여러 Task를 순차적으로 정리해주는 것이 완성도 있는 결과를 만들어 낼 수 있다.

이때 유의해야 할 점은 거대 언어 모델(LLM)이 명확히 판단할 수 있는 Task를 주어야 만족할 만한 결과가 나올 수 있다는 점이다.

예를 들어 정성적인 평가가 이루어지는 항목은 명확한 기준이 없기 때문에, 해당 여부를 판단할 수 있을 만한 기준을 제시해주는 것이 좋다.

프롬프트 엔지니어링 사용 단점

  1. 모델의 입력에 대한 조정으로 성능을 개선하기 때문에 모델에 의존적이다.
  2. 프롬프트 엔지니어링으로 생성된 결과물이 항상 일관성이 있지는 않다.
  3. 모델의 크기와 연산량이 매우 크기 때문에, 모델을 학습하고 사용하는 데에 많은 컴퓨팅 자원과 시간이 필요하다.

프롬프트 엔지니어링 예시

문장 요약 

문장 요약은 자연어 생성의 대표적인 작업 중 하나

- Prompt

>>> 대한민국에 대해서 한국어로 설명해줘

- output

 

위 질문을 통해서 나온 아웃풋을 요약해달라는 내용을 인풋값으로 넣으면 요약된 내용을 출력할 수 있다.

- prompt

>>> 위 내용을 요약해줘

 

나는 ollama라는 로컬 llm 모델을 사용해서 llama3모델을 통해 출력값을 생성했다.

 

프롬프트 엔지니어 역량을 높여서 최적의 원하는 결과를 얻어내는 능력은 이제 분야를 떠나서 중요한 요소가 되었다.

프롬프트 엔지니어링은 반복적인 프로세스이다. 다양한 아이디어를 실험하고 AI 프롬프트를 테스트하여 결과를 확인하는 것이 중요하다.

728x90