주제 디자인 가상 에이전트

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • 사용자가 제출한 인시던트를 볼 수 있는 예시 가상 에이전트 주제를 설계해 봅니다. 이 예제에서는 대화 흐름을 빌드하는 데 사용할 수 있는 다양한 디자인 컨트롤을 강조 표시합니다.

    도구와 기능을 사용하여 가상 에이전트 사람의 개입 없이 해결할 수 있는 많은 문제를 해결하는 대화를 개발할 수 있습니다. 제품과 그 기능에 익숙해지면 창의성은 대화를 발전시키는 데 가장 중요한 도구 중 하나입니다.

    더 빨리 시작하기 위해 다음 가상 에이전트리소스를 사용할 수 있습니다.
    를 사용하여 Now Assist자연어 기반 대화를 생성합니다. 가상 에이전트 는 대규모 언어 모델(LLM)을 사용하여 생성형 AI 기술을 통해 대화 경험과 셀프 서비스 워크플로우 성공을 개선합니다.
    사전 구축된 가상 에이전트 주제, 주제 블록 및 ServiceNow NLU 모델

    이러한 미리 정의된 대화는 사용자가 케이스 생성 또는 업데이트, 자주 묻는 질문에 대한 답변 제공 등 각 비즈니스 영역에서 일반적인 셀프 서비스 작업을 수행하는 데 도움이 됩니다. 사용하려는 사전 구축 주제를 복제한 다음 조직에 맞게 사용자 지정합니다.

    가상 에이전트 주제 권장 사항
    주제 권장 사항 이 앱을 사용하여 조직에서 신속하게 구현할 수 있는 사전 구축된 가상 에이전트 주제를 식별합니다. 주제 권장 사항 는 조직의 데이터를 분석하고 조직에서 이점을 얻을 수 있는 사전 구축된 관련 주제와 작성에 유용한 새 주제를 찾는 데 사용합니다의도 디스커버리.

    대화 디자인 시작하기

    컨트롤과 재사용 가능한 대화 요소를 사용하여 가상 에이전트 디자이너 최종 사용자와 최종 사용자 간의 가상 에이전트 대화를 위한 대화를 만듭니다. 시작하기 전에 다음을 수행해야 합니다.

    대화의 사용 사례를 식별합니다.

    대화 주제를 사용할 사람과 사용자 문제 해결 또는 셀프 서비스 작업 지원과 같은 목표를 결정합니다. 주제에 대한 주요 요구 사항을 수집하는 것 외에도 목표를 완료하기 위해 사용자로부터 필요한 정보를 식별합니다.

    예를 들어 시간 경과에 따른 지원 요청과 기타 사용 가능한 메트릭을 검토하여 일반적인 문제, 사용 사례 및 고객 요청 또는 목표를 확인할 수 있습니다. 여기에서 가상 에이전트가 도움이 될 수 있는 반복 요청이나 문제를 예측할 수 있습니다.

    대화의 구조를 결정합니다.

    대화 흐름에 대해 생각할 때 해결에 이르는 직접적인 경로를 파악하십시오. 그런 다음 사용자가 제공한 정보에 따라 대화가 분기될 수 있는 대체 경로를 고려합니다. 각 분기를 처리하는 방법과 사용자가 대화의 이전 지점으로 루프백할 수 있는지 여부를 고려합니다.

    대화에는 시작(인사말), 중간, 끝이 있으며 후속 조치를 위한 설문 조사 또는 인시던트 번호가 포함될 수 있습니다. 중간에 문제에 따라 사용자가 주제를 전환해야 하는 방법을 고려합니다.

    LLM을 사용하는 경우 LLM에 대한 추가 지침 또는 사용자 지정 슬롯 채우기와 같은 수단을 통해 사용자로부터 데이터 수집을 추가하거나 제한할지 여부를 고려하십시오.

    (NLU)를 사용하는 자연어 이해 경우 사용자가 대화 세션 중에 주제를 전환할 수 있는 시나리오를 고려합니다. 예를 들어 사용자가 주제를 완전히 바꾸고 싶어할 수 있습니다. 또는 사용자가 곁길로 빠져서 맥락에서 벗어난 질문을 하여 가상 에이전트와 "간단한 대화"를 할 수 있습니다. 대화 중에 주제를 전환한 후 사용자가 원래 대화를 다시 시작할 수 있도록 허용할지 여부를 결정합니다.

    간단한 대화 필터를 설정하여 LLM 대화에서 사용자 설명을 리디렉션하거나 LLM 및 NLU/키워드 대화 모두에서 간단한 대화 주제를 생성하는 것을 고려하십시오. 자세한 내용은 Configure small talk filters간단한 대화 주제 작성 문서를 참조하십시오.

    사전 구축된 설정 주제, 대화 주제 및 주제 블록(특정 설계 단계 및 논리를 수행하는 재사용 가능한 하위 플로우)을 검토할 수도 있습니다. 이러한 사전 구축 항목을 사용할 수 있는지 여부를 결정하고 필요에 따라 사용자 지정하는 것을 고려하십시오.

    의 설계 프로세스 이해 가상 에이전트 디자이너

    에서 가상 에이전트 디자이너주제를 만들 때 설계 프로세스에는 다음과 같은 기본 단계가 포함됩니다.

    그림 1. 주제 설계 프로세스
    주제 유형을 선택하고 주제 속성을 설정하고 대화 플로우를 빌드하고 플로우를 테스트 및 미세 조정한 다음 주제를 게시합니다.
    주제 속성은 주제를 디자인하고 사용하는 여러 가지 방법을 결정합니다. 예를 들어 주제를 사용하는 사람과 주제가 사용되는 방식 또는 시기에 영향을 주는 조건을 제어할 수 있습니다.

    in 가상 에이전트을 사용하는 Now Assist 경우 주제를 LLM 도우미와 연결하여 해당 도우미가 주제를 사용할 수 있도록 할 수 있습니다. 주제 설명에서 가능한 한 많은 관련 세부 정보를 사용하여 LLM 주제에 대한 주제 디스커버리를 개선할 수도 있습니다.

    (NLU)를 사용하는 ServiceNow 자연어 이해 경우 NLU 모델 및 의도를 주제와 연결할 수 있습니다.

    다양한 자산에 대해 정의하는 속성에 대한 자세한 내용은 , 재사용 가능한 주제 블록 만들기, 및 사용자 지정 컨트롤 만들기를 참조하십시오가상 에이전트 주제 만들기.

    다음 영역에 대한 지식을 갖추십시오(시작하기 전에 알아야 할 사항).
    • 플랫폼 및 애플리케이션 테이블 구조에 대한 ServiceNow 일반 지식입니다.
    • LLM을 사용하는 경우 대규모 언어 모델과 LLM 도우미의 작동 방식을 이해해야 합니다.
    • NLU를 사용하는 경우 NLU 모델에서 의도, 엔터티 및 발언이 사용되는 방식을 이해해야 합니다.
    • 대화 디자인에 스크립트를 사용하는 경우 HTML, JavaScript 및 REST 통합에 대해 잘 알고 있어야 합니다.

    대화의 구조와 목적 계획

    주제를 구현하는 가상 에이전트 첫 번째 단계는 주제에서 다루는 내용을 결정하는 것입니다. 의도한 대상과 대화를 사용할 때 대상이 달성하기를 원하는 대상을 고려하십시오. 이 예시의 경우 이 예시 주제의 목표는 최종 사용자가 제출한 인시던트의 상태를 볼 수 있는 플로우를 생성하는 것입니다. 이 항목에는 사용자가 인시던트에 코멘트를 추가할 수 있는 옵션이 포함되어 있습니다.

    이 목표를 염두에 두고 이 주제에는 다음 요소가 필요합니다.
    • 사용자에게 인시던트를 선택하라는 프롬프트
    • 인시던트 상태를 보여주는 출력
    • 사용자가 의견을 남길 것인지 묻는 프롬프트
    • 해당 답변에 대한 대화를 분기하는 유틸리티 통제
    • 사용자에게 설명을 입력하라는 프롬프트
    • 인시던트에 사용자 입력을 주석으로 추가하는 유틸리티 제어

    LLM 대화에 대한 주제를 생성할 때 추가로 고려해야 할 사항이 있습니다. 자세한 내용은 문서를 참조하십시오.

    통제를 사용하여 가상 에이전트 대화 흐름 빌드

    대화는 다음 대화 플로우와 유사하게 표시됩니다.

    중요사항:
    이 플로우는 완료된 플로우의 모양에 대한 일반적인 아이디어를 제공하기 위한 것입니다. 주제를 점진적으로 빌드하고 자주 테스트하므로 전체 레이아웃을 먼저 빌드할 필요는 없습니다. 테스트할 때 기능과 사용자 경험을 모두 고려해야 합니다.
    그림 2. 완료된 대화 플로우
    다음으로 시작하는 대화 흐름 인시던트를 선택한 다음 부울 "Leave Comment"와 인시던트 카드를 선택합니다. 결정 트리를 통해 사용자는 예 또는 아니요를 선택할 수 있습니다.

    대화 내에서 통제 구성

    이 예제는 주제 속성이 설정된 후 에서 대화 플로우 가상 에이전트 디자이너를 정의하는 것으로 시작합니다. 대화는 시작 노드로 시작하여 끝 노드로 끝납니다.
    1. 가상 에이전트 디자이너 주제에서 대화 플로우에 동적 선택 제어 노드를 추가합니다. 이 제어는 인시던트를 선택하는 데 사용됩니다.
      1. 노드 이름 속성에 대해 인시던트 선택을 입력합니다. choose_an_incident 변수의 이름은 제어에 대해 자동으로 생성됩니다.
      2. 프롬프트 속성에서 인시던트를 선택하기 전에 사용자에게 표시되는 텍스트를 입력합니다. 예: 인시던트 기록을 선택하십시오.
      3. 선택 사항 기준 채우기 속성에서 기록을 선택합니다.
      4. 테이블 속성에서 인시던트 [incident]를 선택합니다.
      5. 선택 항목 필터링 속성에서 조건 옵션을 선택하고 조건을 생성합니다.
        • 활성이 true 이고 할당 그룹이 하드웨어이고 범주가 데이터베이스입니다
        • 상태가 신규 또는 진행 중입니다.
        그림 3. 조건 작성기 예시
        선택 값 표현식에 대한 대화 내에서 구성된 통제를 표시하는 샘플 조건입니다.
    2. 흐름에 카드 컨트롤을 추가합니다. 이 컨트롤에는 이전 단계에서 동적 선택 으로 선택한 레코드의 정보가 표시됩니다.
      1. 노드 이름 속성에 대한 상태 카드를 입력합니다.
      2. 카드 유형 속성에서 기록을 선택합니다.
      3. 기록 속성에서 인시던트 선택을 선택합니다. 이 선택은 이전 단계에서 만든 동적 선택 컨트롤을 참조하므로 표시되는 데이터는 해당 단계에서 선택한 기록에서 가져옵니다.
      4. 필드 컨트롤에서 필드를 선택합니다. 사용 가능한 항목은 선택한 기록에서 사용 가능한 필드입니다. 이 경우 인시던트 테이블의 필드를 볼 수 있습니다.
      5. 필드를 선택한 후 필드 추가 옵션을 선택하여 카드에 필드를 추가합니다. 카드에서 필드를 삭제하려면 필드 오른쪽에 있는 삭제 아이콘을 선택합니다.
    3. 플로우에 부울 컨트롤을 추가합니다. 이 제어는 고객에게 예/아니요 질문을 표시하는 데 사용됩니다. 이 경우 컨트롤은 사용자가 선택한 인시던트 기록에 대한 설명을 남기려고 하는지 여부를 확인합니다.
      1. 노드 이름 속성에 Leave Comment?를 입력합니다. leave_comment_ 변수의 이름은 컨트롤에 대해 자동으로 생성됩니다.
      2. 프롬프트 속성에서 프롬프트 앞에 사용자에게 표시되는 텍스트를 입력합니다. 예를 들어 이 인시던트에 대한 의견을 남기시겠습니까?
    4. 플로우에 결정 통제를 추가합니다. 이 컨트롤은 대화를 두 가지 가능한 경로로 분기합니다. 대화가 이어지는 경로는 사용자가 이전 단계에서 선택한 사항에 따라 달라집니다.
      1. 의사 결정 제어에는 속성이 없습니다. 그러나 결정 아래의 분기에 속성이 있습니다. 기본적으로 Always라는 레이블이 지정된 단일 분기가 있습니다. 결정 제어 하단에 있는 파란색 더하기 아이콘을 선택합니다. Always라는 레이블이 지정된 두 번째 분기가 나타납니다.
      2. 분기 중 하나를 선택하여 이 분기의 속성에 액세스합니다.
      3. 이름을 Leave Comment로 변경합니다.
      4. 조건 속성에서 조건 옵션을 선택하고 조건 추가 단추를 선택합니다. 조건 작성기를 사용하여 다음 스크린샷과 같이 조건을 생성합니다.

        첫 번째 필드에 "Leave Comment(코멘트 남기기)"를 지정합니다. 두 번째 필드에 "is"를 지정합니다. true임을 나타내려면 상자를 선택합니다.

        Leave Comment?의 값이 true이면 이 조건이 충족됩니다. 이 변수는 이전 단계의 부울 컨트롤의 변수입니다. 사용자가 해당 프롬프트에서 예를 선택한 경우 대화는 이 분기를 따릅니다.
      5. 이 분기의 속성에 액세스하려면 결정의 다른 분기를 선택합니다.
      6. 이름을 No Comment로 변경합니다.
      7. 조건 속성에서 조건 옵션을 선택하고 조건 추가 단추를 선택합니다. 조건 작성기를 사용하여 다음 스크린샷과 같이 조건을 생성합니다.

        첫 번째 필드에 "Leave Comment(코멘트 남기기)"를 지정합니다. 두 번째 필드에 "is"를 지정합니다. 확인란의 선택을 취소하여 사실이 아님을 나타냅니다.

        Leave Comment?의 값이 false이면 이 조건이 충족됩니다. 이 변수는 이전 단계의 부울 컨트롤의 변수입니다. 사용자가 해당 프롬프트에서 아니요 를 선택한 경우 대화는 이 분기를 따릅니다.
      8. 생성한 두 분기 중 하나가 대화의 노드를 가리킵니다. 두 번째 분기도 이 노드로 연결되어야 합니다. 해당 분기의 맨 아래에 있는 화살표를 선택하고 노드로 끕니다.
    5. 대화의 코멘트 남기기 분기에 텍스트 입력 컨트롤을 추가합니다. 이 제어는 사용자에게 텍스트 입력을 요청하는 데 사용됩니다.
      1. 노드 이름 속성에 대해 Get Comment를 입력합니다. get_comment 변수 이름은 컨트롤에 대해 자동으로 생성됩니다.
      2. 프롬프트 속성에서 프롬프트 앞에 사용자에게 표시되는 텍스트를 입력합니다. 예를 들어, 의견을 입력하십시오.
      3. 필요한 경우 고급 > 확인 메시지 > 입력 완료 확인 재산. 이 값은 사용자가 코멘트를 입력한 후에 나타납니다.
    6. 댓글 가져오기 컨트롤 아래의 대화에 레코드 작업 컨트롤을 추가합니다. 이 통제는 선택한 인시던트에 대한 의견으로서 이전 통제에 입력된 텍스트를 추가하는 데 사용됩니다.
      1. 노드 이름 속성에 대해 인시던트 업데이트를 입력합니다.
      2. 작업 유형 속성에서 기록 업데이트를 선택합니다.
      3. 기록 속성에서 인시던트 선택을 선택합니다. 이 선택은 이전 단계에서 작성된 동적 선택 통제를 참조하므로 여기서 선택한 기록은 이 기록 작업 통제가 업데이트하는 기록입니다.
      4. 필드 속성에서 필드 추가를 선택합니다. 표시되는 팝업 창에서 이 기록의 필드에 값을 선택하여 지정할 수 있습니다.

        필드 값 팝업 창에서 추가 의견을 선택합니다. 다음 필드에서 닷워킹을 사용하여 입력 변수(Input Variables)> 댓글 가져오기(Get Comment)를 선택합니다.

      5. 목록에서 추가 의견 필드를 선택합니다.
      6. 데이터 정제 선택기 아이콘을 선택합니다 . 데이터 정제 선택기 아이콘을클릭한 다음 목록에서 설명 가져오기 입력 변수를 선택합니다. 이 옵션은 사용자가 이전 단계의 텍스트 입력 컨트롤에 입력한 값을 참조합니다.
      7. 저장을 선택합니다.

    대화 테스트

    테스트 버튼을 사용하여 대화의 플로우를 테스트합니다. 디자인 프로세스 전체에서 주제를 미리 확인하여 오류나 예기치 않은 동작을 빠르게 찾을 수 있습니다. 주제의 문제 식별 및 해결에 대한 자세한 내용은 다음 문서를 참조하십시오 주제 디버그 가상 에이전트.