효과적인 프롬프트 템플릿 작성하기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 프롬프트 및 프롬프트 템플릿의 역할을 설명할 수 있습니다.
- 다양한 프롬프트 템플릿 유형을 나열할 수 있습니다.
- 개선된 AI 생성 응답으로 Salesforce org 데이터를 프롬프트 템플릿에 통합합니다.
Trailcast
이 모듈의 오디오 레코딩을 들어보려면 아래 플레이어를 사용하세요. 이 레코딩을 모두 들은 후 각 유닛으로 돌아와서 리소스를 확인하고 관련 평가를 완료하는 것을 잊지 마세요.
일상 속 프롬프트의 이점
미처 깨닫지 못했을 수도 있지만, 우리는 항상 프롬프트를 사용해 왔습니다. 특정한 답변을 바라며 지시를 내릴 때마다 사실상 프롬프트 엔지니어링을 하고 있는 것입니다.
- 고객 지원을 위해 챗봇에 메시지를 입력할 때
- 음성 어시스턴트에게 리마인더를 설정해 달라고 말할 때
- 직원에게 잔돈을 더 작은 단위로 바꿔 달라고 요청할 때
- 커피를 주문하며 “오트 밀크를 넣은 아이스 라떼 라지 사이즈 주세요. 설탕은 빼 주시고요.”라고 구체적으로 말하는 것도 원하는 결과를 위한 상세한 입력을 제공하는 것입니다.
이러한 일상적인 상호 작용은 구조화된 입력이 기대했던 명확한 결과로 어떻게 이어지는지 보여 줍니다. AI의 프롬프트 엔지니어링도 마찬가지입니다.
이제 이 개념이 실제 고객 서비스 시나리오에 어떻게 적용되는지 살펴보겠습니다.
Coral Cloud Resorts의 고객 불만 처리
Sofia Rodriguez와 그 가족들은 Coral Cloud Resorts에서의 휴가, 특히 화이트 워터 래프팅 러쉬 체험을 손꼽아 기다리고 있었습니다. 하지만 해당 액티비티가 예기치 않게 취소되자, Sofia는 고객 지원팀에 연락했습니다.
Coral Cloud Resorts의 인기가 높아지면서, Sofia의 사례와 같은 고객 불만이 점점 늘어나고 고객 서비스 팀에 과부하가 생김에 따라 응답 시간도 길어지고 있습니다. 더 빠른 해결과 고객 만족도 향상을 위해, 리조트는 서비스용 Agentforce를 구현하여 불만 사항 처리를 간소화하고 방문객 경험을 개선하고자 합니다. Coral Cloud Resorts의 관리자 Becca는 이 에이전트를 설정하는 업무를 맡았습니다. Becca는 먼저 Agentforce 자동화가 어떻게 도움이 될 수 있는지 정리해 봅니다.
Agentforce로 사례 해결 자동화
Agentforce를 사용해 응답과 해결을 자동화함으로써, Coral Cloud Resorts는 문제를 신속하고 효율적으로 처리하면서 고객 만족도를 높일 수 있습니다. 다음은 이 프로세스의 작동 방식에 대한 개요입니다.
방문객 불만 해결을 위한 간단한 워크플로
-
방문객이 불만을 제기: 고객은 채팅에서 에이전트를 사용하여 불만을 제기합니다.
-
에이전트가 방문객의 신원을 확인: 시스템이 방문객의 신원과 진행 중인 사례 세부 정보를 확인합니다.
-
에이전트가 불만 사항을 분류: 불만 사항의 성격에 따라 에이전트가 문제를 네 가지 계층 중 하나로 분류합니다.
- 계층 0(사소한 선호 문제): 고객의 선호 사항에 따른 작은 불편
- 계층 1(경미한 불편): 액티비티 시작 시간 지연과 같은 작은 불편
- 계층 2(중간 수준의 문제): 예약 오류 또는 서비스에 대한 불만족
- 계층 3(중대한 문제): 액티비티 취소 또는 고객에게 큰 영향을 미치는 문제
- 계층 0(사소한 선호 문제): 고객의 선호 사항에 따른 작은 불편
-
에이전트가 해결 방안 제시: 에이전트가 사례 세부 정보와 보상 계층을 기반으로 해결 방안을 제공합니다.
-
고객이 보상 선택: 고객이 원하는 해결 방안을 선택합니다.
-
사례 종료: 고객이 옵션을 선택하면 에이전트가 이를 확정하고 사례를 종료합니다.
에이전트는 그 자체로도 효과적이지만, 정확하고 일관적이며 유용한 응답을 제공하기 위해 명확하고 구조화된 프롬프트에 의존하기도 합니다. 프롬프트 템플릿은 가이드 역할을 하며 에이전트가 각 상황을 효과적으로 처리하는 데 필요한 컨텍스트, 어조, 데이터를 갖출 수 있게 합니다. 이는 방문객 불만과 같은 민감한 문제를 다루면서 개인화되고 정확한 커뮤니케이션을 해야 할 때 특히 중요합니다. 프롬프트 템플릿을 사용하면 에이전트가 더 나은 결과를 생성하고 모든 고객 상호 작용에서 일관적인 어조를 유지하도록 도울 수 있습니다.
다음으로 템플릿 유형을 살펴보고, Becca가 Coral Cloud Resorts에서 사용할 프롬프트 템플릿을 나중에 에이전트와 연결할 수 있게 설정하는 방법을 알아봅니다.
적절한 프롬프트 템플릿 선택
프롬프트 빌더는 사용 사례에 맞게 선택할 수 있는 다양한 프롬프트 템플릿을 제공합니다.
-
필드 생성 템플릿은 Lightning Experience에서 하나의 개체를 사용해 레코드 필드에 정보를 채우고자 할 때 효과적입니다.
-
Flex 템플릿은 가장 활용도가 높으며 여러 개체, 자유 텍스트 입력 필드(텍스트로만 구성된 비레코드 유형의 입력 필드), 데이터 모델을 사용하여 더 풍부한 응답을 생성할 수 있습니다.
-
Standard 템플릿은 특정 사용 사례와 관련된 응답에 적합하지만 범위가 다소 제한적입니다. 예를 들면 업무 요약, 세일즈 피치 코칭, 서비스 응답 그라운딩 등에 특화되어 있습니다.
이 사용 사례에 Flex 템플릿을 선택하는 이유
고객 불만은 단순한 불편 사항부터 더 복잡한 문제까지 다양하게 제기될 수 있기 때문에, Becca에게는 유연하게 대응할 수 있는 솔루션이 필요합니다. Flex 템플릿은 보다 제한적으로 정의된 템플릿에 있는 많은 제약 조건을 없애 주기 때문에 이 시나리오에 적합합니다. Flex 템플릿을 사용하면 다음과 같은 이점이 있습니다.
- 여러 개체의 사용.
- 자유 텍스트 입력을 통한 맞춤 사용자 정의.
- 동적이고 컨텍스트를 인식하여 응답을 생성하는 데이터 모델.
Flex 템플릿은 탁월한 유연성으로 적응력이 중요한 인터랙티브 채팅 익스피리언스, 개인화된 추천, 컨텍스트가 풍부한 인사이트에 완벽하게 작동합니다.
Coral Cloud Resorts에서는 모든 고객을 중요하게 생각합니다. 그리고 문제가 발생하면 바로잡고자 합니다. 따라서 고객이 불만을 제기하면 이를 경청하고, 사례 세부 정보를 조회하며, 경험을 개선할 수 있도록 적절한 보상을 추천하는 에이전트를 구축하고자 합니다.
이 프로세스를 더욱 개인화하고 효율적으로 만들기 위해, Becca는 Flex 프롬프트 템플릿을 만듭니다. 이를 통해 에이전트는 각 방문객의 고유한 상황에 맞춰 응답을 동적으로 조정하여, 언제든지 적절한 해결책을 제공할 수 있습니다.
프롬프트 빌더 및 Agentforce가 포함된 Developer Edition 조직에 무료 가입하기
이 모듈을 완료하려면 프롬프트 빌더 및 Agentforce와 샘플 데이터가 포함된 특수한 Developer Edition 조직이 필요합니다. 지금 무료 Developer Edition을 다운로드하여 Trailhead에 연결하면 이 모듈의 도전 과제를 완료할 수 있습니다. 이 Developer Edition은 이 배지의 도전 과제와 함께 작동하도록 설계되었으며 다른 배지에서는 작동하지 않을 수 있습니다. 항상 Trailhead Playground 또는 권장되는 Developer Edition 특별 조직을 사용하고 있는지 확인하세요.
-
프롬프트 빌더와 Agentforce가 포함된 Developer Edition 조직에 무료로 가입하세요.
- 양식을 입력합니다.
- Email(이메일)에는 유효한 이메일 주소를 입력합니다.
- Username(사용자 이름)에는 이메일 주소 형식의 고유한 사용자 이름을 입력합니다. 이 경우 유효한 이메일 계정이 아니어도 됩니다(예: yourname@example.com).
- Email(이메일)에는 유효한 이메일 주소를 입력합니다.
- 양식을 작성한 후 Sign me up(가입)을 클릭합니다. 확인 메시지가 나타납니다.
- 활성화 이메일을 수신하면(몇 분 걸릴 수 있음) 이메일을 열고 Verify Account(계정 확인)를 클릭합니다.
- 비밀번호와 응답 질문을 설정하여 등록을 완료합니다. 팁: 나중에 쉽게 사용할 수 있도록 비밀번호 관리자와 같은 안전한 곳에 사용자 이름, 비밀번호, 로그인 URL을 저장해 두세요.
- Developer Edition에 로그인했습니다.
이제 새 Developer Edition 조직을 Trailhead에 연결합니다.
- Trailhead 계정에 로그인했는지 확인합니다.
- 이 페이지 하단의 Challenge(과제) 섹션에서 조직 이름을 클릭하고 Connect Org(조직 연결)를 클릭합니다.
- 로그인 화면에서 방금 설정한 Developer Edition의 사용자 이름과 비밀번호를 입력합니다.
- Allow Access?(액세스를 허용하시겠어요?) 화면에서 Allow(허용)를 클릭합니다.
- Want to connect this org for hands-on challenges?(실습 과제를 위해 이 조직을 연결하시겠어요?) 화면에서 Yes! Save it(예! 저장합니다)을 클릭합니다. 그러면 과제 페이지로 리디렉션되며 새 Developer Edition을 사용하여 이 뱃지를 획득할 수 있습니다.
Flex 프롬프트 템플릿 만들기
이제 Becca가 Flex 템플릿을 선택했으므로, 프롬프트 빌더에서 어떻게 설정하는지 알아보겠습니다. 새로운 Developer Edition 조직에서 따라해 보는 것도 좋습니다.
-
을 클릭하고 Setup(설정)을 선택합니다. 설정 페이지가 새 탭으로 열립니다.
- Setup(설정)의 Quick Find(빠른 찾기) 상자에서 Einstein Setup(Einstein 설정)을 검색하고 선택합니다.
- Turn on Einstein(Einstein 활성화) 토클이 On(켜기)으로 설정되어 있는지 확인합니다.
- 이제 Einstein이 활성화되었으므로 새로운 관리자 설정 표시되도록 브라우저를 새로 고칩니다.
- Quick Find(빠른 찾기) 상자에서 Prompt Builder(프롬프트 빌더)를 검색하고 선택합니다.
-
New Prompt Template(새 프롬프트 템플릿)을 클릭합니다.
- 다음 필드를 입력합니다.
- Prompt Template Type(프롬프트 템플릿 유형): Flex
- Prompt Template Name(프롬프트 템플릿 이름):
Guest Experience Compensation(방문객 경험 보상) - API Name(API 이름):
Guest_Experience_Compensation - Template Description(템플릿 설명):
This template generates personalized compensation recommendations based on guest feedback and open case details, with tailored and empathetic responses.(이 템플릿에서는 방문객 피드백과 진행 중인 사례의 세부 정보를 기반으로 개인화된 보상 제안을 생성하며, 공감하는 어조로 맞춤화된 응답을 제공합니다.)
- Prompt Template Type(프롬프트 템플릿 유형): Flex
- Flex 템플릿의 경우 리소스를 5개까지 추가할 수 있습니다. Add(추가)를 클릭하여 두 개의 자원을 추가합니다. 첫 번째는 개체 유형입니다.
- Name(이름):
Contact(연락처) - API Name(API 이름):
Contact
- Source Type(소스 유형): Object(개체)
- Object(개체):
Contact(연락처)
- Name(이름):
- Add(추가)를 클릭하고 두 번째 자유 텍스트 자원을 추가합니다.
- Name(이름):
Complaint(불만 사항) - API Name(API 이름):
Complaint - Source Type(소스 유형):
Free Text(자유 텍스트)
- Name(이름):
-
Next(다음)를 클릭합니다. 프롬프트 템플릿 작업 공간이 열립니다.
이제 작업 공간이 준비되었습니다.
프롬프트 초안 작성
프롬프트 템플릿 작업 공간이 설정되었으므로, Becca는 실제 프롬프트를 작성할 수 있습니다.
Becca는 프롬프트 템플릿 작업 공간에 다음 텍스트를 입력합니다.
You’re a customer service representative responding to [Guest Name], a guest at Coral Cloud Resort, regarding a complaint they submitted about a recent experience they booked. Determine the appropriate tier of compensation based on the guidelines below: """[Tiered Guest Compensation] Response Format: “Hi [Guest Name], We know this wasn’t the experience you were expecting, and we want to make it right. [If Tier 0] We've noted your preferences for future stays and invite you to share any additional feedback to help us improve. [If Tier 1-3] Based on your recent experience, we’d like to offer you one of the following options: [Insert compensation options based on the determined tier] Please let us know which option you’d like to select, and we’ll take care of the rest. If you need any further assistance, we’re here to help!” Now create a message.
개인화를 위한 프롬프트 조정
이제 프롬프트 구조가 마련되었지만, 아직 너무 일반적입니다. 대규모 언어 모델(LLM)에 일반적인 프롬프트를 제공하면 일반적인 응답이 나옵니다. 상세한 입력이 없으면 LLM이 중요한 컨텍스트를 파악할 수 없으므로 고객의 이름, 비즈니스의 구체적인 정보 또는 관련된 사례 세부 정보를 인식하지 못합니다.
더 관련성 높고 효과적인 응답을 생성하려면 Becca가 프롬프트의 정밀도를 높이고 개인화 요소를 추가해야 합니다. 어떻게 하는지 살펴보겠습니다.
병합 필드 추가
병합 필드와 구조화된 데이터를 통합하면 프롬프트를 동적으로 만들고 각 방문객에 맞게 조정할 수 있습니다.
몇 가지 간단한 단계만 거치면 병합 필드로 에이전트의 응답을 개인화할 수 있습니다.
- Prompt(프롬프트) 섹션에서 지침에 있는
[Guest Name]텍스트를 찾습니다.
-
[Guest Name]Placeholder를 삭제하고 병합 필드로 대체합니다.-
Insert Resource(자원 삽입)를 클릭하고 Contact(연락처) > FirstName(이름)을 선택합니다.
-
Insert Resource(자원 삽입)를 클릭하고 Contact(연락처) > FirstName(이름)을 선택합니다.
더 많은 컨텍스트 추가
Coral Cloud Resorts는 고객 서비스 중단을 네 가지 수준(사소한 선호 문제, 경미한 불편, 중간 수준의 문제, 중대한 문제)으로 분류하는 계층별 고객 보상 구조를 따릅니다. 이러한 구조화된 접근 방식을 갖추면 고객 불만의 심각도에 따라 공정하고 일관된 보상을 제공할 수 있습니다.
다음은 에이전트가 Coral Cloud Resorts의 비즈니스 정책에 부합하며 정확하고 적절한 응답을 생성할 수 있도록, 이러한 계층과 보상 구조를 명확하게 정의하는 방법입니다.
- 프롬프트에서
[Tiered Guest Compensation]을 찾습니다.
- 해당 Placeholder를 다음의 구조화된 세부 정보로 대체합니다.
```Tier 0 (Minor Preference Issue) - No Open Cases Trigger: There are no open cases. Action: Apologize and acknowledge the feedback. Inform the guest that preferences will be noted for future stays and invite them to share more feedback to help improve. Do not offer compensation options. Tier 1 (Minor Inconvenience) Trigger: Issues such as delayed activity start times, minor room maintenance problems, or slow restaurant service fall into this category. Compensation Options: $50 Resort credit Complimentary drink, appetizer, or dessert Early check-in / late checkout (if available) Tier 2 (Moderate Disruption) Trigger: Covers booking errors affecting reservations, room/service dissatisfaction, extended delays Compensation Options: Rebooking of the same or alternative experience Resort credit (Up to $350 for dining, spa, or activities) Complimentary room upgrade (if available) Tier 3 (Major Disruption) Trigger: Activity cancellations, major booking failures, severe service issues, safety concerns Compensation Options: Resort credit (Up to $1000) Complimentary premium experience (private tour, fine dining, spa treatment) Complimentary 1-night stay extension```
완성된 프롬프트 템플릿은 다음과 같습니다.
You’re a customer service representative responding to {!$Input:Contact.Name}, a guest at Coral Cloud Resort, regarding a complaint they submitted about a recent experience they booked. Determine the appropriate tier of compensation based on the guidelines below:
```Tier 0 (Minor Preference Issue) - Complaints that don’t significantly impact their experience but still warrant acknowledgment.
Include a personalized apology message acknowledging the feedback. Inform the guest that a note will be added to their profile to accommodate preferences for future stays. End with a friendly message inviting the guest to share more feedback for continuous improvement.
Tier 1 (Minor Inconvenience)
Issues such as delayed activity start times, minor room maintenance problems, or slow restaurant service fall into this category.
Compensation Options:
$50 Resort credit
Complimentary drink, appetizer, or dessert
Early check-in / late checkout (if available)
Tier 2 (Moderate Disruption)
Covers booking errors affecting reservations, room/service dissatisfaction, extended delays
Compensation Options:
Rebooking of the same or alternative experience
Resort credit (Up to $350 for dining, spa, or activities)
Complimentary room upgrade (if available)
Tier 3 (Major Disruption)
Activity cancellations, major booking failures, severe service issues, safety concerns
Compensation Options:
Resort credit (Up to $1000)
Complimentary premium experience (private tour, fine dining, spa treatment)
Complimentary 1-night stay extension```
Response Format:
“Hi [Guest Name], We know this wasn’t the experience you were expecting, and we want to make it right. Based on your recent experience, we’d like to offer you one of the following options:
[If Tier 0]
We've noted your preferences for future stays and invite you to share any additional feedback to help us improve.
[If Tier 1-3]
Based on your recent experience, we’d like to offer you one of the following options:
[Insert relevant compensation option]
Please let us know which option you’d like to select, and we’ll take care of the rest. If you need any further assistance, we’re here to help!”
Now create a message.프롬프트 템플릿 테스트 및 미리보기
Becca가 프롬프트 템플릿 지침을 작성하고 나면, 예상한 결과를 제대로 제공하는지 확인하기 위해 이를 테스트할 차례입니다. 첫 번째 단계는 어떤 LLM이 템플릿을 구동할지 선택하는 것입니다.
프롬프트 빌더는 여러 LLM에 대한 액세스를 제공하며, Becca는 작업에 적합한 도구, 즉 LLM을 선택하고자 합니다. 빠른 응답이 필요한가요? 상세한 분석이 필요한가요? JSON과 같은 구조화된 출력이 필요한가요? 모델마다 최적화하는 용도가 다릅니다.
다음 몇 가지 사항을 고려해야 합니다.
-
속도와 복잡성 비교: 일부 모델은 속도를 우선시하는 반면, 다른 모델은 심층적인 추론을 위해 설계되었습니다.
-
구조화된 출력과 자연어 출력: 구조화된 데이터나 대화형 텍스트 등 원하는 형식에 맞는 모델을 선택하세요.
Omni와 같은 범용 모델로 시작한 뒤 다른 모델을 테스트해 보세요. 더 빠른 응답을 원한다면 Turbo 모델을 사용해 보세요. 프롬프트에 더 심층적인 분석이 필요하다면 더 고급 옵션을 살펴보세요.
실제 데이터로 템플릿을 테스트하면 올바른 컨텍스트를 가져오는지, 정확하게 응답하는지, 개인화된 어조를 유지하는지 확인할 수 있습니다. 세부 정보와 신중한 어조를 추가하면 응답의 일관성과 브랜드의 정체성을 유지하면서도 에이전트가 실제 사람처럼 자연스럽게 대화하도록 할 수 있습니다.
프롬프트 빌더는 이렇게 Salesforce 데이터, 명확한 프롬프트 지침과 적절한 LLM을 결합하여 대규모 환경에서도 맞춤화되고 신뢰할 수 있는 응답을 제공합니다.
Becca는 바로 이러한 전략을 실행에 옮겨 프롬프트를 테스트합니다. 방법은 다음과 같습니다.
- Template Settings(템플릿 설정)의 Model(모델)에서 OpenAI GPT 4 Omni Mini를 선택합니다.
- Preview Settings(미리보기 설정)의 Inputs(입력)에 있는 Contact(연락처) 텍스트 상자에서 Sofia Rodriguez를 검색해 선택합니다. Complaint(불만) 텍스트 상자에
The music was too loud on the beach.(해변에서 음악 소리가 너무 크게 들립니다.)를 입력합니다. -
Save & Preview(저장 및 미리보기)를 클릭합니다.
Generated Response(생성된 응답) 섹션을 검토하여 프롬프트 템플릿이 테스트 응답에 어떤 영향을 주는지 확인합니다. 응답이 기대에 미치지 못하더라도 걱정하지 마세요. 템플릿을 수정하고 다시 테스트하며 요구 사항을 충족할 때까지 반복 작업을 통해 개선할 수 있습니다. Languages(언어)를 자유롭게 전환하여 응답을 다양한 언어로 검토할 수 있습니다.
-
Activate(활성화)를 클릭합니다.
요약 및 정리
이제 AI 기반 프롬프트를 생성하고 조정하기 위한 기본적인 스킬을 갖추었습니다! 구조화된 지침을 작성하는 것부터 최적의 템플릿 유형을 선택하는 것까지, Becca와 함께 여정을 따라오며 비즈니스 요구 사항에 맞게 응답을 최적화하는 방법을 배웠습니다. 프롬프트 템플릿을 한 번 만들면 어디에서든 재사용할 수 있습니다. 세일즈, 서비스, 또는 비즈니스의 다른 영역에서도 프롬프트 템플릿을 잘 설계하면 일관적인 고품질의 AI 응답을 생성할 수 있습니다.
다음 유닛에서는 Becca가 프롬프트를 에이전트와 연결하는 방법을 함께 알아보세요. 이를 통해 자동화는 단순히 스마트할 뿐만 아니라 실제로 실행 가능한 솔루션이 됩니다. 그리고 이 단계에서 진정한 효과가 일어납니다. 프롬프트가 에이전트를 만나고, 워크플로가 움직이기 시작하는 것을 지켜보세요.
리소스
