플레이북 예시

각 플레이북에는 하나 이상의 예시가 포함되어야 합니다. 이러한 예시는 대화 및 에이전트가 수행하는 작업을 포함하여 최종 사용자와 플레이북 사이의 샘플 대화입니다. 이것들은 실제로 LLM에 대한 퓨샷 프롬프트 예시로 사용됩니다.

콘솔은 작업을 입력할 수 있는 인터페이스를 제공합니다.

다국어 에이전트

에이전트가 여러 언어를 처리하도록 하려면 예에서 각 언어가 사용되어야 합니다.

예시 입력 요약 및 출력 요약

입력 및 출력 매개변수 외에도 플레이북에서 다른 플레이북과 정보를 교환하기 위해 입력 요약을 수신하고 출력 요약을 내보낼 수 있습니다. 요약은 플레이북 간에 추상적인 컨텍스트 정보를 전달하는 데 유용한 반면, 매개변수는 플레이북 간에 구조화되고 잘 정의된 필드를 전달하는 데 더 유용합니다. 매개변수는 흐름과 플레이북 간에 데이터를 교환하기 위한 유일한 방법입니다.

관련 입력 요약을 예시에 추가하면 플레이북이 조건부로 런타임에 입력 요약에 따라 작업을 조정합니다. 예시 대화에 대한 관련성 높은 정확한 세부정보를 포함한 출력 요약을 추가하여 플레이북에 요약해야 하는 세부정보가 무엇인지 표시합니다.

예 상태

대화의 특정 시점에서 플레이북은 다음 상태 중 하나입니다.

  • OK: 플레이북이 목표를 성공적으로 달성했으며 제어 권한이 상위 플레이북으로 이전됩니다.
  • CANCELLED: 사용자가 플레이북에 할당된 목표를 진행하지 않기로 결정했습니다. 이제 제어 권한이 상위 플레이북으로 이전됩니다. 상위 플레이북이 CX 흐름인 경우 흐름이 실행되기 전에 사용자 입력의 인텐트가 감지됩니다.
  • FAILED: 일부 오류로 인해 플레이북에서 목표를 진행할 수 없습니다 (예: 도구에서 500 오류 반환). 세션이 실패 상태로 종료됩니다. EndInteraction 메시지가 응답에 추가됩니다.
  • ESCALATED: 플레이북에서 목표를 달성할 수 없다고 결정했으며 상황을 상담사에게 에스컬레이션해야 합니다. 세션이 에스컬레이션된 상태로 종료됩니다. EndInteraction 메시지가 응답에 추가됩니다.
  • PENDING: 대화가 플레이북 내에서 계속 진행되고 있습니다.

최상위 예와 플레이북 호출은 참조 중인 플레이북에 해당하는 상태로 표시됩니다.

선택 전략

선택 전략 설정은 예시가 LLM에 전송된 플레이북 프롬프트에 포함되는지 여부를 제어합니다. 사용할 수 있는 옵션은 다음과 같습니다.

  • 동적으로 선택: 현재 대화 맥락과의 관련성에 따라 예시가 조건부로 포함됩니다. 프롬프트가 토큰 한도에 가까워지면 이 예시가 생략될 수 있습니다. 원하는 경우 단어 일치를 제공할 수 있습니다.
  • 항상 선택: 대화 맥락과 관계없이 예가 항상 포함됩니다. 프롬프트가 토큰 한도에 가까워지면 이 예시가 생략될 수 있습니다.
  • 선택 안함: 예시가 프롬프트에 포함되지 않습니다. 이 예는 플레이북 성능에 영향을 미치지 않습니다. 이 설정은 테스트를 위해 예시를 일시적으로 제외하는 데 유용합니다.

단어 일치

원하는 경우 동적 선택 전략을 사용하여 예시의 단어 일치를 제공할 수 있습니다. 이렇게 하면 예시가 프롬프트에 포함되는지 여부를 더 효과적으로 제어할 수 있습니다. 예시가 100개를 초과하는 플레이북에 권장됩니다.

일치할 단순한 단어 또는 정규 표현식으로 여러 검색 표현식을 제공할 수 있으며 각 검색 표현식은 다음 유형 중 하나일 수 있습니다.

  • user: 일치 항목이 최종 사용자 메시지와 비교됩니다.
  • agent: 상담사 메시지와 일치하는지 확인합니다.
  • any: 일치하는 항목은 최종 사용자 및 상담사 메시지와 작업에 대해 확인됩니다.

일치를 확인할 때 표현은 최대 5번의 대화 전환과 첫 번째 최종 사용자 메시지와 일치합니다.

예시와 일치하는 항목이 있으면 단어 일치가 없는 동적으로 선택된 다른 예시보다 예시가 우선순위가 높습니다.

단어 일치의 형식은 쉼표로 구분된 목록이며 각 표현식은 표현식 유형과 콜론으로 시작합니다. 예를 들면 다음과 같습니다.

user:red,agent:blue,any:placeOrder

다음 중 하나라도 해당하는 경우 일치합니다.

  • 최종 사용자 메시지에 red가 포함됩니다.
  • 상담사 메시지에는 blue가 포함됩니다.
  • 메시지에 placeOrder가 포함되어 있거나 placeOrder와 일치하는 작업이 있습니다.

작업 추가

플레이북 내에 제공되는 예시는 일련의 작업으로 구성됩니다. 이러한 작업은 조합에 따라 달라질 수 있지만 주로 사용자와 플레이북 간의 상호작용과 사용자의 쿼리나 요구사항이 충족되도록 그 사이에 수행되는 작업을 보여줍니다.

작업을 예시에 추가하는 방법에는 두 가지가 있습니다.

  • 작업을 수동으로 추가하려면 오른쪽 창 하단에 있는 + 버튼을 클릭하거나 기존 작업 위에 마우스 포인터를 놓은 상태에서 작업 추가 버튼을 클릭합니다. + 예시 옵션을 클릭하여 새 예시를 만들거나 기존 예시를 수정할 때 이러한 옵션을 사용할 수 있습니다.

  • 기존 플레이북 안내에 따라 작업을 자동으로 생성하려면 오른쪽 창 하단에 있는 사용자 입력 필드에 사용자 입력을 입력합니다. 예시를 만들거나 수정할 때 이 옵션을 사용할 수 있습니다. 또는 오른쪽에 있는 플레이북 미리보기 창에서 런타임 시 플레이북을 테스트할 때 이 옵션을 사용할 수 있습니다. 플레이북 미리보기 창에서 작업을 예시에 저장하려면 플레이북 미리보기 창 왼쪽에 있는 호출 목록에서 플레이북 호출을 선택한 후 예시 저장을 클릭합니다.

자동으로 생성된 작업 정확성을 확인하고 필요한 경우 수정하세요. 이는 예시가 거의 또는 전혀 없는 플레이북에 특히 중요합니다.

플레이북에서 지원하는 작업 유형은 다음과 같습니다.

플레이북 응답

사용자 쿼리에 대한 플레이북 응답입니다.

사용자 입력

사용자 쿼리입니다.

도구 사용

사용자 쿼리를 처리하는 데 필요한 추가 정보를 가져오기 위한 도구 호출입니다. 이 작업에서는 다음 세부정보를 지정해야 합니다.

  • 도구: 호출해야 하는 도구의 이름입니다.
  • 작업: 호출해야 하는 OpenAPI 도구 작업의 이름입니다. 데이터 스토어 도구함수 도구의 경우 작업 이름은 도구 이름과 동일합니다.
  • 도구 입력: 도구 호출에 포함할 입력입니다. 일반적으로 사용자와의 이전 대화 차례에서 파생됩니다.

    Open API 도구의 경우 POST, PUT, PATCH 메서드 유형에는 requestBody JSON이 필요합니다.

    createPet 작업의 샘플 Open API 도구 requestBody 입력:

    {
      "id": 1,
      "name": "Luna"
    }
    

    데이터 스토어 도구의 경우 쿼리가 필수이고 다른 필드는 선택적인 샘플 requestBody입니다.

    {
      "query": "Where is my nearest store?",
      "filter": "country: ANY(\"United States\")",
      "userMetadata": {
        "userCity": "San Fransisco",
      },
      "fallback": "We don't have any stores in your area."
    }
    
  • 도구 출력: 도구 호출에 대한 응답입니다. 도구에서 지정된 입력으로 이동하는 유효한 JSON 응답입니다. Open API 도구의 경우 문자열 오류(예: '404 Not found')일 수도 있습니다.

    listPets 작업의 샘플 Open API 도구 출력:

    {
      "pets": [
        {
          "id": 1,
          "name": "Luna"
        },
        {
          "id": 2,
          "name": "Charlie"
        }]
    }
    

    샘플 데이터 스토어 도구 출력:

    {
      "answer": "Here's the address to your nearest store ...",
      "snippets": [
        {
          "title": "San Fransisco Downtown",
          "uri": "https://www.example.com/San_Fransisco_Downtown",
          "text": "Address for San Fransisco Downtown .."
        }
      ]
    }
    

플레이북이 장애로부터 안전하게 하려면 도구 호출이 실패할 때의 플레이북 응답 방법 예시도 포함합니다. Open API 도구 호출 실패는 도구 출력에서 오류 문자열('404 not found')로 표시될 수 있습니다. 데이터 스토어 도구의 경우 요약된 답변이 없으면 fallback 입력을 사용하여 응답 방법을 지정할 수 있습니다.

데이터 스토어 도구가 플레이북 응답에 URI를 포함하도록 하려면 플레이북이 응답할 URI가 포함된 예시를 추가합니다. 이 URI가 데이터 스토어 도구에서 제공된 경우 데이터 스토어 도구 출력에는 플레이북 응답의 URI와 일치하는 URI가 포함되어야 합니다. fallback은 LLM 플레이북이 데이터 스토어 도구 답변을 다르게 표현하여 플레이북 응답에 URI를 포함하는 기능을 중지하므로 이 시나리오에서 사용할 수 없습니다.

도구 사용 작업이 포함된 예시는 매우 상세하고 입력 토큰 한도 소비 증가에 영향을 미칠 수 있습니다. 토큰을 효율적으로 사용하려면 도구 출력이 간결해야 하고 도구 출력에 플레이북 목표와 관련된 정보가 포함되어야 합니다. 데이터 스토어 도구의 경우 스니펫이 입력 토큰을 많이 소비할 수 있으므로 예시에서 스니펫을 삭제하는 것이 좋습니다.

플레이북 호출

이 작업은 플레이북이 사용자 쿼리를 처리하기 위해 다른 플레이북을 호출해야 할 때 사용됩니다. 이 작업에서는 다음 세부정보를 지정해야 합니다.

  • 플레이북: 호출할 플레이북의 이름입니다.
  • 플레이북 호출 입력 요약: 호출된 플레이북에 유용한 이전 대화의 관련 부분에 대한 요약입니다.
  • 입력 매개변수: 플레이북에 전달할 입력 매개변수입니다.
  • 플레이북 호출 출력 요약: 플레이북에서 목표 완료 시 생성해야 하는 작업에 대한 요약입니다.
  • 출력 매개변수: 목표가 달성되었을 때 플레이북에서 생성한 출력 매개변수입니다.