개발자를 위한 ChatGPT 프롬프트 엔지니어링 (2) 프롬프트를 개발하는 방식

Jiwon Kang·2023년 5월 22일
1
post-thumbnail
  • 아래 내용은 DeepLearning.AI의 <ChatGPT Prompt Engineering for Developers> 강의를 정리한 포스트입니다.
  • 공식 강의 페이지에서 듣는 것을 추천합니다(무료). 한국어는 지원되지 않습니다. 그러나 강의 비디오 옆에 쥬피터 노트북이 함께 제공되며, OpenAI API Key도 무료로 제공됩니다. 로컬에서 실행하고 싶은 경우 아래 포스트를 참조하여 OpenAPI Key를 발급받으세요.
  • 오류나 추가 사항이 있으면 언제든 댓글로 알려주세요 🤗

Iterative (Official Link)

  • 전 시간에는 프롬프트를 작성하는 원칙들에 대해 배웠는데요

  • 이번 시간에는 배운 원칙들을 사용하여 프롬프트를 개선하고 개발하는 방법에 대해 알아보겠습니다

  • 위의 그림을 확인해봅시다. 머신러닝에 익숙한 사람이라면 "문제 정의 - 구현 - 실험 - 에러 분석"으로 이어지는 머신러닝 개발과정과 비슷하다는 것을 확인할 수 있을 것입니다. 프롬프트 개발 과정도 거의 비슷합니다

    1. 명료하고 구체적으로 프롬프트를 작성하기
    2. 결과를 확인해보고 원하는 결과대로 나오지 않은 이유를 분석하기
    3. 프롬프트를 수정하기 (추가 지시를 내리거나 기존 프롬프트를 명료하게 수정하거나)
    4. (1-3)을 반복

예시 사례: 의자 스펙을 간단하게 정리하기

  • 강의에서는 예시 사례로 의자 스펙을 정리하는 프롬프트를 작성하는 사례를 들어 프롬프트 개발 과정을 보여줍니다.

  • "2. 결과를 확인해보고 원하는 결과대로 나오지 않은 이유를 분석하기"라는 과정은 머신러닝에서 정확도를 구하는 것과 같은 정형화된 평가 기준이나 방법이 있는 것은 아니며, 출력을 분석하면서 "아웃풋이 너무 길다" -> "프롬프트에 50자 이내로 요약하라는 추가"와 같은 경험적인 방법으로 접근합니다.

  • 만약 애플리케이션이 복잡하거나 고도화하는 과정에 있다면 (입력 텍스트 + 이상적인 결과값)의 쌍을 두고 프롬프트 개발을 시도하는 걸 추천합니다. 이 때 평균적이고 최악의 경우를 확인하는 과정도 필요합니다.


이번 강의 후기

  • 프롬프트의 에러 분석 과정과 검증은 대부분 케이스 스터디를 통해서 개발 & 검증으로 가는 방향을 제시하고 있는데요, 이 과정을 효율화하고 정량화할 수 있는 평가 프레임워크를 개발하는 것도 또 하나의 연구과제가 될 거 같아요. 우선은 번역이나 생성 테스크에서 사용하던 평가기준을 가져와서 결괏값을 평가할 수도 있겠지만, 프롬프트만을 위한 평가 프레임워크 자체를 연구해보면 꽤나 재밌을지도..?
profile
도파민 중독

0개의 댓글