프롬프트 엔지니어링이란?
프롬프트 엔지니어링은 대규모 언어 모델(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의 행동을 명확하게 정의하거나, 예시를 추가하거나, 예외 처리를 강화하는 방식으로 수정할 수 있다.
개선된 프롬프트 공유 : 프롬프트가 성공 기준을 충족하면 애플리케이션에 적용한다.
'Prompt Engineering' 카테고리의 다른 글
프롬프트 엔지니어링 기법 with 실습(3) / XML tagging (0) | 2025.03.02 |
---|---|
프롬프트 엔지니어링 기법 with 실습(2) / Role prompting (0) | 2025.03.02 |
프롬프트 엔지니어링 기법 with 실습(1) / Few-shot prompting (0) | 2025.03.02 |