Skip to main content

프롬프트 템플릿 작성하기

학습 목표

이 유닛을 완료하면 다음을 수행할 수 있습니다.

  • 프롬프트 설계를 사용해서 효과적인 프롬프트 템플릿을 만들 수 있습니다.
  • 프롬프트 템플릿을 사용해서 컨텐츠 생성 절차를 개선할 수 있습니다.
  • 결과물을 향상하기 위해 프롬프트 설계 절차를 개선할 방법을 찾아낼 수 있습니다.

새로운 시대의 시작

Ursa Major Solar는 급성장 중인 가정 및 상업용 태양광 산업의 떠오르는 신성입니다. 이 기업은 태양광 패널과 관련 장비를 판매하며 설치, 유지 보수, 지원 서비스도 제공합니다. 사업은 순조로우며 앞으로도 성장할 일만 남았죠! Ursa Major Solar는 곧 새로운 태양광 패널 청소 서비스를 시작할 예정입니다.

[stability.ai에서 DreamStudio를 사용하여 AI가 생성한 이미지. "태양광 패널을 설치한 주택의 이미지. 2D 벡터 아트 스타일의 그림."이라는 프롬프트를 사용함.]

Ursa Major Solar는 기쁜 마음으로 이 소식을 기존 고객에게 이메일로 전달하려고 하지만, 캠페인의 메시지가 천편일률적이기를 원하지는 않습니다. 이 기업은 CRM 데이터를 기반으로 고객의 서비스 이용 기간, 고객의 거주지 등의 정보를 활용해서 개별 고객 맞춤형 이메일을 작성하려고 합니다. 그와 동시에 Ursa Major Solar는 메시지가 브랜드의 고유한 목소리와 어조를 반영하기를 원합니다.

관리자 Lara는 이 절호의 기회를 맞아서 프롬프트 템플릿을 사용하려고 합니다. Lara는 기존의 고객을 타게팅하는 신규 서비스를 홍보할 메시지를 만들어야 합니다. 이렇게 작은 사례를 통해 요령을 익힌다면 나중에 더욱 큰 규모의 캠페인을 위한 프롬프트 템플릿을 작성할 때 필요한 노하우를 확보할 수 있을 것입니다.

이번 유닛에서는 Lara가 첫 프롬프트 템플릿을 설계하고 이를 점차 개선해 나가는 과정을 확인하실 수 있습니다.

적절한 질문하기

첫 번째 유닛에서 배웠듯이, 우수한 프롬프트는 LLM이 좋은 결과물을 만드는 데 필요한 지침을 제공합니다. 그런데 우수한 프롬프트 템플릿의 요건은 뭘까요? 우수한 프롬프트는 아래에서 소개하는 네 가지 중요한 질문을 적절하게 고려해야 합니다.

관계자는 누구이며 그들의 관계는 어떠한가?

[핵심 재료: 관계자, 관계, 데이터]

글쓰기를 업으로 삼는 사람이라면 누구나 "독자를 파악하라"라는 격언을 잘 알고 있을 것입니다. 이는 여러분의 컨텐츠를 읽고 보고 듣는 사람이 누구냐에 따라서 소통 방식을 달리해야 한다는 의미입니다. LLM은 사용자가 알려주어야만 독자를 파악할 수 있습니다! 하지만 사용자는 한발 더 나아가서 LLM이 어떤 역할을 수행할지도 알려주어야 합니다. 위의 예시에서 Lara는 고객 관리자가 고객에게 보내기 위해 작성한 것 같은 메시지를 원합니다. Lara는 이메일의 관계자를 고려하여 프롬프트 템플릿을 다음과 같이 작성하기 시작합니다.

여러분은 Ursa Major Solar라는 기업에 재직하는 {!user.firstname} {!user.lastname}(이)라는 이름의 고객 관리자입니다. 여러분은 {!account.name}{!contact.title}{!contact.firstname} {!contact.lastname}에게 작성하고 있습니다. 그들은 {!account.creationdate}부터 여러분의 고객이었습니다.

Lara는 이미 병합 필드를 사용해서 CRM 데이터에 기반한 프롬프트 템플릿을 작성하고 있습니다. 이제 LLM은 고객의 서비스 사용 기간을 바탕으로 컨텐츠를 작성할 수 있게 되었습니다. 또한 Lara는 관계자의 이름과 직책을 명시했습니다. 이는 두 번째 중요한 질문으로 이어집니다.

컨텐츠를 통해 달성하려는 목적이 무엇인가?

[핵심 재료: 목표, 지침]

Lara가 프롬프트 템플릿을 만드는 데는 분명한 이유가 있으며, 이는 단순히 그럴듯한 마케팅 메시지를 생성하는 것이 아닙니다. 여기에서 핵심은 Ursa Major Solar가 기존 고객에게 신규 서비스를 이용하도록 설득하는 것입니다. 이러한 근본적인 목표는 LLM이 알아야 하는 중요 정보입니다. 따라서 Lara는 일반적인 표현을 사용해서 프롬프트 템플릿에 목표를 입력합니다.

여러분은 {!contact.firstname} {!contact.lastname}에게 {!product.description}(이)라고 설명되어 있는 {!product.name}에 가입하라고 설득하려 합니다.

이때 목표를 달성하기 위한 구체적 지침을 추가하는 것도 좋습니다. 해당 지침은 Ursa Major Solar가 기존에 유사한 메시지를 작성할 때 활용하던 전략이 될 수도 있습니다. 이를 위해 Lara는 아래의 메시지를 추가합니다.

{!account.location}에 위치한 조직에 {!product.name}에 대한 비즈니스 가치를 설명하세요.

Lara는 더욱 상세한 CRM 데이터를 추가하는 한편 '설명하라'는 직접적 명령을 내려서 결과를 얻고자 합니다. Ursa Major Solar는 고유의 데이터를 풍성하게 보유하고 있습니다. 따라서 약간의 병합 필드를 추가해 작성한 첫 번째 템플릿은 CRM 데이터를 사용해서 LLM에 유용한 비즈니스적 컨텍스트를 제공한다는 새로운 전략의 물꼬를 튼 정도에 불과할 뿐입니다. 이제 Lara는 다음 질문을 고려해야 합니다.

어떤 컨텍스트인가?

[핵심 재료: 환경, 어조와 스타일, 언어]

커뮤니케이션은 다양한 수단을 통해 이뤄지며, 각 수단은 그에 걸맞은 양식을 갖춰야 합니다. 예를 들어 텍스트 메시지는 주로 간단하게 작성되지만 이메일은 다양한 길이로 작성할 수 있습니다. 따라서 LLM에 적합한 지침을 내리기 위해서 Lara는 컨텐츠가 사용될 환경을 설명해야 합니다.

한 사람에게 보내는 영어로 된 이메일의 형식으로 메시지를 작성하세요.

Lara는 항상 해외 고객을 고려하고 있습니다. Ursa Major Solar가 만약 외국으로도 진출하게 될 경우 '영어'를 병합 필드로 교체하기만 하면 됩니다.

컨텍스트는 결과물의 스타일에도 영향을 미칩니다. 격식 있는 문체가 필요한 경우도, 구어체가 더 어울리는 경우도 있을 것입니다. Lara는 신제품에 대한 기대감을 더욱 불러일으키기 위해서 특정한 방식의 언어를 사용하도록 지시할 수 있습니다.

메시지에 강조 표현의 형용사와 부사를 사용해서 기대감을 불러일으키되 느낌표 사용은 자제합니다. 축약어를 사용해서 자연스럽게 다가가고, 수신자를 2인칭으로 칭하고, 담화 표지어를 사용합니다.

Lara는 다양한 스타일을 주문할 수 있습니다. "아," "자," "그래서"와 같은 담화 표지어를 사용하면 구어체에 가까운 결과물을 얻을 수 있습니다. Lara가 이후에 템플릿을 수정할 수도 있겠지만, 일단 현재로서는 마지막 질문 하나만 더 반영하면 됩니다.

제약 조건은 무엇인가?

[핵심 재료: 제약, 지침]

LLM의 재량 범위를 제약하는 가드 레일들을 추가하는 것을 절대 잊어서는 안 됩니다. 이를테면 관련 정보가 없는 내용에 대한 추측이 들어가서는 안 된다고 명시할 수 있을 겁니다. 컨텐츠의 길이를 제한하는 것 또한 중요합니다. 이를 위해 Lara는 다음과 같은 지침을 덧붙였습니다.

메시지의 길이는 500단어 안팎으로 제한하고, 완전한 데이터가 존재하지 않는 사항에 대한 컨텐츠를 언급하거나 그에 관한 답변을 생성해서는 안 됩니다.

마지막으로 한 가지의 메타 명령을 추가해야 합니다. 바로 이메일 메시지 그 자체만을 작성하라는 명령입니다. 이상한 명령처럼 보일 겁니다. 하지만 이는 LLM이 이메일 자체를 작성하는 대신 이메일 작성법에 관한 이야기를 하지 않게 방지합니다. Lara는 다음과 같이 프롬프트 템플릿을 마무리합니다.

위에 주어진 지침을 엄격히 준수해서 고객에게 전송할 메시지만을 생성하세요.

이제 프롬프트 템플릿이 완성되었습니다! Lara는 아래의 네 가지 중요 질문을 고려함으로써 첫 템플릿을 훌륭하게 작성했습니다.

  • 관계자는 누구이며 그들의 관계는 어떠한가?
  • 컨텐츠를 통해 달성하려는 목적이 무엇인가?
  • 어떤 컨텍스트인가?
  • 제약 조건은 무엇인가?

종합하면 Lara의 프롬프트는 다음과 같습니다.

여러분은 Ursa Major Solar라는 기업에 재직하는 {!user.firstname} {!user.lastname}(이)라는 이름의 고객 관리자입니다. 여러분은 {!account.name}{!contact.title}{!contact.firstname} {!contact.lastname}에게 작성하고 있습니다. 그들은 {!account.creationdate}부터 여러분의 고객이었습니다.

여러분은 {!contact.firstname} {!contact.lastname}에게 {!product.description}(이)라고 설명되어 있는 {!product.name}에 가입하라고 설득하려 합니다. {!account.location}에 위치한 조직에 {!product.name}에 대한 비즈니스 가치를 설명하세요.

한 사람에게 보내는 영어로 된 이메일의 형식으로 메시지를 작성하세요.

메시지에 강조 표현의 형용사와 부사를 사용해서 기대감을 불러일으키되 느낌표 사용은 자제합니다. 축약어를 사용해서 자연스럽게 다가가고, 수신자를 2인칭으로 칭하고, 담화 표지어를 사용합니다.

메시지의 길이는 500단어 안팎으로 제한하고, 완전한 데이터가 존재하지 않는 사항에 대한 컨텐츠를 언급하거나 그에 관한 답변을 생성해서는 안 됩니다.

위에 주어진 지침을 엄격히 준수해서 고객에게 전송할 메시지만을 생성하세요.

Lara의 작업은 아직 끝나지 않았습니다. Lara는 프롬프트 설계자라면 반드시 테스트를 하고 LLM의 출력을 검토해서 프롬프트를 개선해야 함을 알고 있습니다.

테스트 및 개선

생성형 AI 도구를 사용해 보셨다면 프롬프트 작성이 일종의 예술과 같다는 점을 아실 겁니다. 프롬프트를 명료하게 작성하더라도 엉뚱한 컨텐츠가 생성되는 경우를 흔하게 볼 수 있습니다. 하지만 Lara는 네 가지 질문을 철저하게 반영한 덕분에 프롬프트 템플릿을 통해서 좋은 결과를 얻을 수 있었습니다.

제목: Alpha Solar로 태양광 패널을 최상의 상태로 유지하세요

Denise 님, 안녕하세요.

이 이메일이 잘 도착했기를 바랍니다. 저는 Ursa Major Solar의 고객 담당자로서 Northern Trail Outfitters와 상당한 시간 동안 협력했습니다. 저희는 언제나 지속 가능성을 추구하고 환경에 대한 책무를 다하는 귀사에 대해 존중해왔습니다. 오늘 이메일을 드리는 것은 귀사의 가치와 목표에 정확하게 부합하는 새로운 서비스를 제안하기 위해서입니다.

저희의 월간 구독형 태양광 패널 청소 서비스인 Alpha Solar를 기쁜 마음으로 소개합니다. Alpha Solar는 태양광 패널을 적합한 상태로 관리하여 에너지 전환율을 극대화합니다. 이는 결과적으로 전력 생산량 증대와 전기 요금 절감으로 이어질 것입니다. 저희의 신규 서비스는 아이오와주 디모인에서 흔히 겪을 수 있는 가혹한 기후에서도 귀사의 태양광 패널을 최상의 상태로 유지할 수 있습니다.

저희는 Alpha Solar를 통해 다른 태양광 패널 청소 서비스와는 차별화되는 품질과 신뢰를 제공합니다. 저희는 항상 최고의 장비와 세정제를 사용하여 고객의 태양광 패널을 꼼꼼하고 안전하게 청소합니다. 저희 팀은 숙련된 전문가들로 구성되어 있어, 다양한 크기의 까다로운 태양광 패널도 얼마든지 관리할 수 있습니다. 또한 저희는 귀사의 바쁜 일정에 방해가 되지 않도록 탄력적인 서비스 예약 옵션을 제공합니다.

Alpha Solar 서비스를 구독하시면 귀사의 시간과 돈을 아껴줄 다양한 이점을 누리실 수 있습니다. 예를 들어 저희 서비스를 이용하시면 문제 요인을 조기에 발견함으로써 향후 값비싼 수리 및 교체 비용이 발생하는 일을 막을 수 있습니다. 저희의 청소 절차는 태양광 패널의 수명을 늘리는 데도 도움이 되기 때문에 오랜 기간 태양 에너지의 혜택을 누릴 수 있으실 것입니다.

Alpha Solar가 지속 가능성을 위해 노력하는 귀사에 큰 보탬이 될 것이라고 자신합니다. 저희 서비스에 관심이 있으시다면 언제든지 연락해 주시기 바랍니다. 궁금하신 점이 있는 경우 언제든지 답변드리며, 귀사의 요구에 맞는 맞춤형 견적도 제시해 드릴 수 있습니다.

바쁜 시간을 내어 읽어주셔서 감사합니다. 회신을 기다리겠습니다.

감사합니다.

Cassiopeia Mars

고객 관리자

Ursa Major Solar

[Gpt-3.5-turbo-0301로 생성]

Lara는 꼼꼼하게 검토를 마친 컨텐츠를 이해관계자들에게 보이고 그들의 의견을 취합했습니다. 다들 긍정적인 평가를 내렸지만 마지막에 행동 유도 요소가 추가되면 좋겠다는 의견이 있었습니다. 그래서 Lara는 템플릿을 수정해서 다음과 같은 지침을 덧붙였습니다.

고객사가 {!company.trainingURL__c}에서 제공되는 무료 웹 세미나에 참석하도록 권유하세요.

수정된 템플릿의 새로운 결과물은 경영진이 원하던 것과 정확히 일치했습니다. 또한 Lara는 해당 템플릿을 손쉽게 다양한 버전으로 만들 수 있기 때문에 자체 테스트를 통해 결과물을 비교해 볼 수도 있습니다. 테스트를 통해 Lara가 수집한 정보는 차후의 대형 마케팅 캠페인을 위한 프롬프트 템플릿을 작성할 때 유용하게 활용될 수 있을 것입니다.

사람의 역량과 공존

이제 Lara는 고객사 관리 임원들에게 템플릿 사용 방법을 설명합니다. Lara는 템플릿을 통해 컨텐츠를 생성했을 때는 항상 그 결과물을 검토해야 한다고 임원들에게 상기시킵니다. 이는 '휴먼 인 더 루프(human-in-the-loop)'라고 알려진 모범 사례로서, 신뢰할 수 있는 생성형 AI를 만들기 위해 필요한 과정입니다.

임원들은 AI 응답의 적합성을 확보하고 편향성을 배제하려면 사람의 검토가 필요하다는 점을 인지했으며, 이제는 개별 고객에 맞춰 고도로 개인화된 이메일을 활용하는 메시지 캠페인을 진행하길 원하고 있습니다.

Salesforce 도움말에서 Trailhead 피드백을 공유하세요.

Trailhead에 관한 여러분의 의견에 귀 기울이겠습니다. 이제 Salesforce 도움말 사이트에서 언제든지 새로운 피드백 양식을 작성할 수 있습니다.

자세히 알아보기 의견 공유하기