GPT

프롬프트 엔지니어링 백서

mornot 2025. 4. 17. 06:37
프롬프트 엔지니어링 백서 요약

프롬프트 엔지니어링 백서 요약

프롬프트 엔지니어링의 필요성

프롬프트 엔지니어링의 정의와 중요성

  • 프롬프트 엔지니어링은 LLM(대형 언어 모델)의 성능을 극대화하기 위해 필수적이다.
  • 모델의 구조와 학습 데이터에 따라 결과물이 크게 달라지므로, 다양한 변수를 고려해야 한다.
  • 주관적 요소가 많아, 단순히 프롬프트를 입력하는 것만으로는 원하는 결과를 얻기 어렵다.

프롬프트 작성 시 고려해야 할 요소

  • 사용되는 모델의 종류와 트레이닝 데이터의 특성.
  • 단어 선택, 스타일, 톤, 구조 등이 결과물에 미치는 영향.
  • 프롬프트 작성 시 이전 토큰들과 모델의 학습 데이터에 대한 이해가 필요하다.

아웃풋 조정 및 샘플링 기법

아웃풋 컨트롤

  • 아웃풋 길이, 토큰 수, 템퍼처 값 등을 설정하여 결과를 조정할 수 있다.
  • 아웃풋 길이는 모델의 응답 속도와 API 비용에 영향을 미친다.
  • 적절한 제한을 두면, 모델의 답변 퀄리티를 유지할 수 있다.

샘플링 기법 설명

  • 템퍼처: 창의적인 답변과 확실한 답변의 균형을 조절.
    • 0에 가까울수록 확실한 답변, 1에 가까울수록 창의적인 답변.
  • 탑 K 및 탑 P: 모델이 선택할 수 있는 토큰의 범위를 조절.
    • 탑 K: 예측된 토큰 중 상위 K개만 선택.
    • 탑 P: 예측 점수가 특정 값 이하인 토큰만 선택.

프롬프트 기법 소개

기본 프롬프트 기법

  • 제로샷 프롬프트: 예시 없이 질문을 던지는 방식.
  • 원샷 프롬프트: 하나의 예시를 포함하여 질문.
  • 퓨샷 프롬프트: 여러 개의 예시를 포함하여 질문.

프롬프트 기법의 효과

  • 예시를 다양하게 제공하면 모델이 더 잘 이해하고 올바른 답변을 생성할 확률이 높아진다.
  • 시스템 프롬프트: 모델의 기본 역할을 정의.
  • 컨텍스트 프롬프트: 배경 지식을 제공하여 답변의 질을 높인다.

고급 프롬프트 기법

스텝 프롬프트

  • 단계별로 문제를 해결하도록 유도하는 기법.
  • 복잡한 문제를 해결할 때 유용하며, 모델이 더 정확한 답변을 생성하도록 돕는다.

체인 오브 생각

  • 문제를 단계별로 해결하도록 유도하여 정확도를 높인다.
  • 복잡한 수학 문제나 보고서 작성 시 효과적이다.

리액트 프롬프트

  • 문제 해결 시 외부 도구를 호출하여 정보를 수집하고, 이를 바탕으로 답변을 생성하는 기법.
  • 단계별로 생각하고 행동하는 과정을 통해 정확한 결과를 도출한다.

프롬프트 작성 시 유의사항

프롬프트 작성의 기본 원칙

  • 예시를 포함하여 명확하고 간결한 질문을 작성해야 한다.
  • 긍정적인 지시 사항을 통해 모델이 해야 할 일을 명확히 한다.
  • 다양한 형태로 질문을 시도하여 최적의 프롬프트를 찾는다.

프롬프트 기록 및 관리

  • 사용한 프롬프트를 기록하여 효과적인 관리와 개선이 가능하다.
  • 구글 시트 등을 활용하여 프롬프트의 성과를 분석하고 업데이트한다.

결론

  • 프롬프트 엔지니어링은 LLM의 성능을 극대화하기 위한 필수적인 과정이다.
  • 다양한 기법과 원칙을 적용하여 모델의 답변 퀄리티를 높일 수 있다.
  • 지속적인 테스트와 개선을 통해 최적의 프롬프트를 개발하는 것이 중요하다.