프롬프트 여정 따르기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- Trust Layer가 데이터를 안전하게 처리하는 방법을 이해합니다.
- 동적 기반으로 프롬프트의 컨텍스트를 개선하는 방법을 파악합니다.
- Trust Layer의 가드 레일을 통해 데이터를 보호하는 방법을 이해합니다.
프롬프트 여정
Trust Layer에 대해 어느 정도 알아보았으므로 이제 이 계층이 Salesforce의 생성형 AI라는 큰 그림에 어떤 식으로 적용되는지 살펴보겠습니다. 이 유닛에서는 프롬프트가 Einstein Trust Layer를 통해 LLM으로 이동하는 방법에 대해 알아보겠습니다.
프롬프트 방어 기능은 프롬프트 빌더, 프롬프트 템플릿 연결 API 및 프롬프트 템플릿 호출 가능한 작업에서 사용할 수 있습니다.
프롬프트의 이점
프롬프트 기초 Trailhead 모듈에서는 프롬프트가 생성형 AI 애플리케이션에 도움이 된다는 점을 배울 수 있습니다. 또한 명확한 지침, 상황별 정보 및 제약 조건이 적절한 프롬프트를 만드는 데 유용하며, 이를 통해 LLM의 효과적인 반응을 이끌어낼 수 있다는 점도 알아봅니다. 고객이 간편하고 일관성 있는 프롬프트를 작성할 수 있도록, 영업 이메일이나 고객 서비스 회신 등 모든 종류의 비즈니스 사용 사례에 대한 프롬프트 템플릿을 사전에 구축했습니다. Salesforce 앱에서 Trust Layer에 요청하면 Trust Layer에서 관련 프롬프트 템플릿을 호출합니다.
프롬프트 여정을 설명하기 위해 고객 서비스 사례를 살펴보겠습니다. 프롬프트 템플릿, 템플릿을 고객 데이터 및 관련 리소스로 작성하는 방법뿐만 아니라 Einstein Trust Layer가 프롬프트와 관련된 응답을 생성하기 위해 외부 LLM으로 이동하기 전에 데이터를 보호하는 방법을 확인할 수 있습니다.
Jessica 사례 살펴보기
Jessica는 소비자 신용 카드 회사의 고객 서비스 상담원입니다. Jessica의 회사는 고객 상담원이 고객과 채팅하는 동안 추천 답변을 생성하는 Einstein 기반 기능인 Service Replies를 구현했습니다. Jessica는 상담원 중 가장 먼저 이 기능을 사용해보기로 했습니다. Jessica는 고객과 대화할 때 개인적인 감성을 중시하는 스타일로, AI가 생성하는 답변이 본인과 맞지 않을 수도 있다는 점에 다소 긴장하고 있습니다. 하지만 Jessica는 이력서에 생성형 AI를 활용한 경험을 추가하고 싶어 하며, Service Replies를 통해 더 많은 고객을 도울 수 있는 방법을 알고자 합니다.
이제 Jessica는 신용 카드 업그레이드에 대한 도움을 원하는 첫 번째 고객과 채팅을 시작합니다. Service Replies가 Service Console에서 바로 추천 답변을 제시합니다. 고객이 새 메시지를 보낼 때마다 새로운 답변이 제시되므로 대화의 맥락에 적합한 응답이 표시됩니다. 또한 이러한 답변은 Salesforce에 저장된 고객 데이터를 기반으로 각 고객에 맞게 개인화됩니다. 각 추천 답변은 프롬프트 템플릿을 기반으로 작성됩니다. 프롬프트 템플릿에는 비즈니스 데이터(이 경우 Jessica의 고객 및 지원 사례와 관련된 데이터, Jessica가 속한 조직의 관련 데이터 및 플로)로 작성될 지침과 자리 표시자가 포함되어 있습니다. 프롬프트 템플릿은 Salesforce Trust Layer 뒤에 있으며, Service Console의 최종 사용자로서 Jessica는 프롬프트 템플릿을 볼 수 없습니다.
이 데이터가 Trust Layer를 통해 어떤 식으로 이동하여 고객 데이터를 안전하게 보호하는 동시에 관련성 높은 고품질 답변을 제공하는지 자세히 살펴보겠습니다.
동적 기반
관련성 높은 고품질 응답을 위해서는 관련성 높은 고품질 입력 데이터가 필요합니다. Jessica의 고객이 대화를 시작하면 Service Replies는 대화를 프롬프트 템플릿에 연결하고 자리 표시자 필드를 페이지 컨텍스트, 병합 필드 및 고객 레코드의 관련 지식 문서로 변경합니다. 이 프로세스를 동적 기반이라고 합니다. 일반적으로 프롬프트에 기반이 되는 정보가 많을수록 응답이 더 정확하고 관련성이 높아집니다. 동적 기반은 프롬프트 템플릿을 재사용하여 조직 전체에 걸쳐 확장할 수 있도록 합니다.
동적 기반 프로세스는 조직에서 Jessica의 고객에 대한 관련 데이터를 식별하는 보안 데이터 검색으로 시작됩니다. 가장 중요한 것은 보안 데이터 검색이 개체, 필드 등의 특정 데이터에 대한 액세스를 제한하는 현재 조직의 모든 Salesforce 권한을 존중한다는 것입니다. 이를 통해 Jessica는 액세스 권한이 있는 정보만 가져올 수 있습니다. 검색되는 데이터에는 개인정보나 에스컬레이션된 권한을 요구하는 어떤 정보도 포함되지 않습니다.
시맨틱 검색(아직 제공되지 않음)
Jessica의 경우 고객 데이터는 대화를 개인화하기에 충분합니다. 하지만 Jessica가 고객의 문제를 빠르고 효과적으로 해결하기에는 충분하지 않습니다. Jessica는 질문에 답변하고 해결책을 찾기 위해 Knowledge 기사 및 고객 내역과 같은 다른 데이터 소스의 정보를 필요로 합니다. 시맨틱 검색은 기계 학습과 검색 방법을 사용하여 다른 데이터 소스에서 자동으로 프롬프트에 포함될 수 있는 관련 정보를 찾습니다. 즉, Jessica는 이러한 소스를 수동으로 검색할 필요가 없기 때문에 시간과 노력을 줄일 수 있습니다.
여기서 시맨틱 검색은 신용 카드 문제를 해결하는 데 도움이 되는 관련 Knowledge 기사를 찾아서 프롬프트 템플릿에 관련 일부 문서를 포함시켰습니다. 이제 프롬프트가 어느 정도 만들어지고 있습니다.
데이터 마스킹
프롬프트에 Jessica의 고객과 해당 문제에 대한 정확한 데이터가 포함되어 있지만, 클라이언트 및 고객 이름과 주소 등의 정보가 포함되어 있어 아직 LLM으로 옮길 준비가 되지 않았습니다. Trust Layer는 데이터 마스킹을 통해 Jessica의 고객 데이터에 또 다른 수준의 보호 기능을 추가합니다. 데이터 마스킹은 각 값을 토큰화하여 해당 값이 나타내는 내용에 따라 자리 표시자로 대체하는 것을 포함합니다. 즉, LLM은 Jessica가 고객과 대화한 컨텍스트를 유지하면서 관련성 있는 응답을 생성할 수 있습니다.
Salesforce는 패턴 매칭과 고급 기계 학습 기술을 통합하여 이름, 신용 카드 정보 등의 고객 세부 정보를 지능적인 방식으로 식별한 후 마스킹합니다. 데이터 마스킹은 백그라운드로 수행되므로 Jessica는 고객 데이터가 LLM에 노출되는 것을 방지하기 위해 별도의 조치를 취할 필요가 없습니다. 다음 유닛에서는 이 데이터가 응답에 다시 추가되는 방법을 살펴보겠습니다.
프롬프트 방어
프롬프트 빌더는 Jessica와 고객을 보호할 수 있는 추가적인 가드 레일을 제공합니다. 이러한 가드 레일은 LLM에 특정 상황에서 어떤 식으로 행동해야 하는지에 대한 추가적인 지침을 제공하여 의도하지 않았거나 유해한 내용을 출력할 가능성을 줄입니다. 예를 들어, LLM에 관련 정보가 없는 콘텐츠를 다루거나 그에 대한 응답을 생성하지 않도록 설정할 수 있습니다.
해커, 심지어 직원들도 가끔 제한 사항을 우회하여 모델이 의도하지 않은 방식으로 작업을 수행하거나 모델의 출력을 조작하려고 시도합니다. 생성형 AI에서는 이러한 유형의 공격 중 하나를 프롬프트 가로채기라고 합니다. 프롬프트 방어를 사용하면 해당 공격으로부터 보호하고 데이터가 손상될 가능성을 줄일 수 있습니다.
다음으로, 이 프롬프트가 보안 게이트웨이를 통과하여 LLM으로 전달되면 어떤 일이 발생하는지 함께 살펴보겠습니다.
리소스