프롬프트 테스트 및 개선하기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 7단계 반복 주기를 적용하여 프롬프트를 개선합니다.
- 실제 데이터를 활용해 프롬프트를 테스트합니다.
- 일반적인 프롬프트 문제를 파악하고 수정합니다.
- 프로덕션 환경에서 프롬프트를 배포하고 모니터링합니다.
- 결과를 바탕으로 프롬프트를 지속적으로 개선합니다.
7단계 반복 주기
최고의 레시피라도 여러 번의 테스트를 거치기 마련입니다. 수플레를 처음 구울 때는 모양이 납작하게 꺼질 수도 있습니다. 그럴 때는 온도를 조정하고 조리 기법을 바꿔서 다시 시도해야 합니다. 프롬프트 반복 개선 과정도 정확히 같은 방식으로 진행됩니다. 첫 시도에서 완벽한 결과를 얻는 경우는 드물며, 이는 지극히 자연스러운 일입니다. 아래의 7단계 주기는 원하는 결과에 도달하기 위해 반복적으로 활용할 수 있는 프로세스를 제시합니다.
프롬프트를 테스트하고 개선하는 것은 지속적인 프로세스입니다. 이때 다음 7단계를 따르세요.
- 작성하세요. 6가지 구성 요소를 사용하여 초기 프롬프트를 만드세요.
- 테스트하세요. 샘플 데이터와 실제 시나리오를 활용해 실행하세요.
- 평가하세요. 성공 기준에 따라 결과를 측정하세요.
- 문제를 파악하세요. 효과적인 요소와 효과적이지 않은 요소를 파악하세요.
- 수정하세요. 알아낸 내용을 바탕으로 프롬프트를 조정하세요.
- 다시 테스트하세요. 동일한 샘플 데이터를 활용해 개선된 프롬프트를 실행하세요.
- 배포하세요. 프롬프트가 제대로 작동한다면 프로덕션 환경에 배포하세요.
이 단계를 순서대로 진행하되, 필요하다면 얼마든지 앞 단계로 다시 돌아가세요. 반복은 무언가 잘못되었다는 신호가 아니라, 좋은 프롬프트를 훌륭한 프롬프트로 만들기 위한 과정입니다.
이메일 생성 예시: 초안에서 최종본까지
반복 주기가 실제로 어떻게 작동하는지 살펴보겠습니다.
초기 프롬프트(버전 1):
Write a follow-up email to a customer Customer: Sarah Issue: Billing problem Status: Resolved
테스트 결과: 이메일 내용이 일반적이며 개인적인 느낌이 없습니다.
수정된 프롬프트(버전 2):
Write a follow-up email to Sarah who had a billing issue Include: - Apology - Explanation of what happened - What we did to fix it Tone: Professional and empathetic
테스트 결과: 개선되었지만, 실질적인 해결 내용에 대한 세부 정보가 여전히 부족합니다.
최종 프롬프트(버전 3):
Role: You are a customer service manager Context: Sarah is a 2-year customer who experienced a billing error. We discovered we overcharged her $150 due to a system error on her third billing cycle. We've issued a full refund and applied a $50 loyalty credit. Task: Write a follow-up email thanking her for her patience and restoring confidence """ Customer: Sarah Issue: Billing error ($150 overcharge) Our action: Full refund issued, $50 loyalty credit applied Customer's response so far: Frustrated but cooperative """ Instructions: - Start with a sincere apology - Explain the root cause (system error on our part, not her mistake) - Confirm the refund and loyalty credit - Thank her for giving us a chance to fix it - Mention one way we're improving our billing system - Include a discount code for her next purchase (15% off) Tone: Warm, professional, genuinely apologetic Format: Email with subject line Constraints: Keep body under 200 words
최종 결과: 이메일이 개인적이고 구체적인 내용을 담고 있으며, 관계를 회복하기 위한 노력을 진정성 있게 전달합니다. Sarah는 자신의 이야기가 잘 전달되었고 존중받고 있다고 느낍니다.
Salesforce Platform 제약 사항
프롬프트를 배포하기에 앞서 Salesforce가 프롬프트 출력을 처리하는 방식을 이해해 둘 필요가 있습니다. 대상 필드 유형은 프롬프트 설계 방식에 직접적인 영향을 미칩니다. 500단어 요약을 생성하는 프롬프트는 표준 텍스트 필드에 맞지 않습니다. 이러한 제한을 미리 파악해 두면 나중에 프롬프트를 다시 설계해야 하는 수고를 덜 수 있습니다.
Salesforce에서 프롬프트를 배포할 때는 다음과 같은 필드 제한 사항을 염두에 두세요.
텍스트 필드
- 문자 수 제한: 255자
- 용도: 간단한 응답, 요약, 한 줄 길이의 출력
- 제한 사항: 장문 컨텐츠에는 사용 불가
긴 텍스트 영역
- 문자 수 제한: 131,072자(약 20,000단어)
- 용도: 완결된 형식의 이메일, 상세 설명, 여러 단락으로 구성된 컨텐츠
- 장점: 대부분의 사용 사례에 필요한 공간을 충분하게 제공
서식 있는 텍스트 영역
- 문자 수 제한: 131,072자
- 용도: 서식, 목록, 강조가 존재하는 컨텐츠
- 장점: 굵은 글씨, 기울임꼴, 글머리 기호, 번호 지정 목록 지원
- 적합한 용도: 서식이 있는 이메일, 상세한 가이드, 체계적 구조를 갖춘 컨텐츠
배포 팁: 대상 필드를 염두에 두고 프롬프트를 설계하세요. 텍스트 필드에 배포하는 경우, 제약 조건을 255자 미만으로 설정해야 합니다.
모니터링 및 지속적인 개선
프롬프트 배포는 끝이 아니라 시작입니다. 프롬프트 빌더에는 배포 이후의 성능을 모니터링할 수 있는 도구가 내장되어 있습니다. 이를 통해서 실제 데이터 입력을 활용하여 프롬프트 성능을 미리 확인하고, 토큰 사용량과 응답 시간을 추적하며, 다양한 모델이나 버전의 결과를 비교할 수 있습니다. 이러한 도구를 사용해 문제를 조기에 발견하고 지속적으로 개선해 나가세요.
이는 요리를 하면서 맛을 보는 것과 같습니다. 음식을 담아낸 후에야 비로소 문제를 파악하게 되는 상황은 피해야 할 것입니다.
다음과 같은 신호에 주목하여 프롬프트 수정 필요성을 파악하세요.
- 유사한 입력에 대해 출력의 일관성이 떨어지는 경우
- 너무 일반적이거나 핵심을 벗어난 응답
- 출력이 잘리거나 중단되는 경우
- 응답 시간이 눈에 띄게 느린 경우
- 출력이 유용하지 않다는 사용자 의견이 있는 경우
문제를 인지했다면 프롬프트를 수정하고 다시 시도하세요.
일반적인 프롬프트 문제와 해결 방법
잘 설계된 프롬프트에서도 문제가 생길 수 있습니다. 가장 일반적인 문제와 해결 방법은 다음과 같습니다.
Problem | 증상 | 해결 방법 |
|---|---|---|
너무 모호한 프롬프트 | 일반적이고 도움이 되지 않는 출력 | 작업 및 지침에 더 구체적인 내용 추가하기 |
너무 긴 프롬프트 | 느리거나 잘린 응답 | 프롬프트를 더 작고 구체적인 단위로 나누기 |
상충하는 지침 | 일관성 없는 출력 | 상충하는 내용을 검토하고 단순화하기 |
잘못된 필드 유형 | 출력이 잘림 | 프롬프트 출력을 대상 필드 크기에 맞추기 |
데이터 반복 | 예상치 못한 결과 또는 일관성 없는 결과 | 단일 참조 원칙 적용하기 |
배포 체크리스트
프롬프트를 프로덕션 환경에 배포하기 전에 이 체크리스트를 활용하여 실제로 사용할 준비가 되었는지 확인하세요.
- 대표적인 예시 20개 이상을 활용해 테스트를 완료했다.
- 성공 기준이 명확하게 정의되고 충족되었다.
- 모델을 단순히 가정하는 것이 아니라 구체적으로 선택해 테스트를 완료했다.
- 프롬프트가 6가지 구성 요소 구조를 따른다.
- 필드 크기 제약 조건을 확인했다.
- 예외적 사례를 파악하여 처리했다.
- 프롬프트에 대한 문서를 작성했다.
- 모니터링을 위한 성공 지표를 정의했다.
- 사용자 의견 수집 계획을 마련했다.
- 모니터링 및 개선 일정을 설정했다.
프롬프트를 배포한 후에는 지속적인 개선을 업무 프로세스의 일부로 삼으세요. 최고의 프롬프트를 갖추기 위해서는 실제 사용 경험을 바탕으로 시간이 지남에 따라 개선해 나가야 합니다.