Prompt Engineering

프롬프트 엔지니어링이란? Prompt engineering 개념 및 과정

jjowahye 2025. 3. 2. 19:36

프롬프트 엔지니어링이란? 

프롬프트 엔지니어링은 대규모 언어 모델(LLMs)의 성능을 최적화하기 위해 프롬프트를 평가하고 테스트하는 실험 과학이다.

 

쉽게 풀어서 설명하면, 컴퓨터나 스마트폰 같은 기기가 우리 질문에 가장 적절하고 정확하게 대답할 수 있도록, 어떻게 질문을 하고 정보를 제공해야 할지를 연구하고 테스트하는 작업이다. 

프롬프트 엔지니어링 과정

 

프롬프트 엔지니어링 과정

1. 성공 기준 정의 :

- AI가 달성해야 할 목표를 명확하게 정의한 후, 평가 및 최적화 과정의 기준을 설정한다.

- 좋은 성공 기준은 구체적, 측정 가능, 달성 가능, 관련성 조건을 만족해야한다.

 

<지표 및 측정 방법 예시>
1. 정량적 지표:
- 작업별: F1 점수, BLEU 점수, 혼란도
- 일반: 정확도, 정밀도, 재현율
- 운영: 응답 시간(ms), 가동 시간(%)

2. 정량적 방법:
- A/B 테스트: 기준 모델이나 이전 버전과 성능 비교
- 사용자 피드백: 작업 완료율과 같은 암묵적 측정
- 엣지 케이스 분석: 오류 없이 처리된 엣지 케이스의 비율

3. 정성적 척도:
- 리커트 척도: “일관성을 1(무의미)에서 5(완벽히 논리적)까지 평가”
- 전문가 평가 기준: 언어학자가 정의된 기준에 따라 번역 품질 평가

안전 기준 예시
Bad 안전한 출력
Good 10,000번의 시도 중 0.1% 미만이 우리의 콘텐츠 필터에 의해 유해성이 표시됨

 

대부분의 사용 사례는 여러 성공 기준에 따른 다차원적 평가가 필요하다. 실제로는 “불편함”과 “심각한”의 의미도 정의해야 한다.

감정 분석을 위한 작업 충실도 다차원적 기준 예시
Bad 모델이 감정을 잘 분류해야 함
Good 우리의 감정 분석 모델은 10,000개의 다양한 트위터 게시물로 구성된 별도 테스트 세트*에서 최소 0.85의 F1 점수를 달성해야 하며(측정 가능, 구체적), 이는 현재 기준선보다 5% 향상된 수치입니다(달성 가능).10,000개의 다양한 트위터 게시물로 구성된 별도 테스트 세트에서 우리의 감정 분석 모델은 다음을 달성해야 함:
- 최소 0.85의 F1 점수
- 99.5%의 출력이 유해하지 않음
- 오류의 90%가 심각한 오류가 아닌 불편함을 초래할 수준*
- 95%의 응답 시간이 200ms 미만

 

기준에는 일관성, 톤과 스타일, 개인정보 보호, 응답 지연 시간, 운영 예산 등이 포함될 수 있다.


2. 평가 및 테스트 케이스 개발

: 애플리케이션의 의도된 사용 사례를 반영하는 다양한 케이스 세트를 생성한다.

평가 설계 원칙

1. 작업별 특화: 실제 작업 분포를 반영하는 평가를 설계한다. 일반적인 예시뿐만 아니라 극단적인 경우까지 포함하여(엣지 케이스 포함) 프롬프트의 견고성을 확보한다.

엣지 케이스 예시
- 관련 없거나 존재하지 않는 입력 데이터
- 지나치게 긴 입력 데이터나 사용자 입력
- [채팅 사용 사례] 부실하거나 유해하거나 관련 없는 사용자 입력
- 인간조차도 평가 합의에 도달하기 어려운 모호한 테스트 케이스

 

2. 가능한 자동화: 자동 채점이 가능하도록 질문을 구성한다. (예: 객관식, 문자열 매칭, 코드 채점, LLM 채점)

3. 품질보다 양을 우선시: 저품질 자동 채점 문항이 더 많은 것이 인간이 수동으로 채점하는 고품질 평가 문항이 적은 것보다 낫다.

 

평가 예시

  • 작업 충실도(감정분석) - 정확한 일치 평가(p/n/m)
  • 일관성(FAQ) - Rouge-L 평가
  • 톤앤 스타일(고객서비스) - LLM 기반 리커트 척도
  • 개인정보보호(의료챗봇) - LLM 기반 이진 분류
  • 맥락 활용(대화 보조) - LLM 기반 서열 척도
💡수백 개의 테스트 케이스를 직접 작성하기는 어려우니 AI에게 기본 예시 테스트 케이스를 요청하여 도움을 받자.
💡성공 기준을 평가하는데 어떤 평가 방법이 유용할 지 모르겠다면, AI와 함께 브레인 스토밍을 하자

 

3. 초기 프롬프트 설계 :

작업의 맥락과 좋은 응답의 특성을 설명하는 초기 프롬프트를 작성한다. 입력과 출력 예시를 추가하면 보다 효과적인 결과를 도출할 수 있다. 자세한 방법은 다음 장에서 다룬다.


4. 프롬프트 테스트 :

초기 프롬프트를 활용하여 AI에 테스트 케이스를 적용하고, 모델의 응답을 예상 출력 및 성공 기준과 비교하여 평가한다. 평가 방법으로는 개인적 판단, 정답 키와의 비교, 또는 루브릭 활용이 가능하다. 특히, 루브릭을 사용하면 보다 객관적이고 일관된 평가가 가능하다.


5. 프롬프트 개선 : 

4단계의 결과를 바탕으로 성능을 조정하고, 성공 기준을 충족하도록 프롬프트를 지속적으로 개선한다. AI의 행동을 명확하게 정의하거나, 예시를 추가하거나, 예외 처리를 강화하는 방식으로 수정할 수 있다.
개선된 프롬프트 공유 : 프롬프트가 성공 기준을 충족하면 애플리케이션에 적용한다.