플레이북 평가

이 가이드에서는 Dialogflow CX 콘솔의 기본 제공 평가 기능을 사용하여 에이전트의 기능을 확인하고 업데이트 후 회귀를 방지하는 방법을 설명합니다. Dialogflow CX는 에이전트의 성능을 평가하는 데 도움이 되는 기본 제공 측정항목 을 제공합니다.

지연 시간을 제외한 모든 측정항목에는 Dialogflow CX가 에이전트의 성능을 비교하여 성능을 계산하는 "골든 응답"인 테스트 사례가 하나 이상 필요합니다. 각 테스트 사례는 **환경**의 컨텍스트에서 측정할 수 있습니다. 이를 통해 에이전트의 성능 평가에 사용할 플레이북, 흐름, 도구의 다양한 버전을 지정할 수 있습니다.

(선택사항) 환경 만들기

환경을 만드는 것은 선택사항입니다. 환경을 만들지 않으면 기본값은 초안 입니다.

  1. 환경을 만들려면 왼쪽 메뉴에서 환경을 클릭하고 + 만들기를 선택합니다.
  2. 에이전트의 성능을 측정하는 데 사용할 플레이북, 흐름, 도구의 버전을 선택합니다.
  3. 저장 을 클릭하여 환경을 저장합니다.

테스트 사례 만들기

대화 기록의 기존 대화에서 테스트 사례를 만들거나, 테스트 사례로 저장할 새 대화를 만들거나, 테스트 사례를 Dialogflow CX로 가져올 수 있습니다.

콘솔에서 테스트 사례 만들기

  1. 왼쪽 메뉴에서 대화 기록 으로 이동합니다.
  2. 새 대화를 만들려면 에이전트의 전화번호를 호출하는 등의 방법으로 에이전트를 활성화하여 대화 기록에 대화를 만듭니다. 테스트 사례로 사용할 대화가 있으면 선택합니다.
  3. 대화를 보고 에이전트 응답, 호출된 도구, 각 응답의 사운드를 확인합니다. 만족스러우면 창의 오른쪽 상단에 있는 테스트 사례 만들기 를 클릭합니다.
  4. 테스트 사례의 표시 이름을 제공하고 대화 수준에서 발생해야 하는 이벤트에 대한 기대를 지정합니다. 여기에는 대화 내에서 호출될 것으로 예상되는 도구, 플레이북, 흐름이 포함될 수 있습니다. +기대 추가 를 클릭하여 기대를 더 추가합니다. 기대가 나열된 순서대로 (위에서 아래로) 평가되도록 하려면 순차적 유효성 검사 를 전환합니다.
  5. 저장 을 클릭하여 테스트 사례를 저장합니다.

테스트 사례 업로드

  1. 테스트 사례는 다음 CSV 형식이어야 합니다.
  2. 테스트 사례를 시스템에 업로드하려면 텍스트 사례 메뉴 상단에서 가져오기 를 클릭합니다.
  3. 팝업 메뉴에서 로컬에 저장된 파일을 선택하거나 Cloud Storage 버킷의 경로를 입력합니다.
  4. 이제 테스트 사례가 테스트 사례 메뉴에 표시됩니다.

테스트 사례 실행

  1. 왼쪽 메뉴에서 테스트 사례 를 클릭하고 에이전트와 비교할 테스트 사례를 선택합니다. 테스트 사례는 하나 또는 여러 개일 수 있습니다.
  2. 선택한 테스트 사례 실행 을 클릭합니다.

테스트 결과

  1. 결과 액세스: 완료 후 테스트 사례 뷰의 각 테스트 사례에 대해 최신 테스트 실행 실행 결과가 표시됩니다.
    1. 의미론적 유사성: 에이전트의 대화가 '골든 응답'(테스트 사례의 응답)과 얼마나 유사한지 측정합니다. 이 측정항목을 수신하려면 골든 응답이 필요합니다. 값은 0(일관성 없음), 0.5 (약간 일관성 있음) 또는 1 (매우 일관성 있음)일 수 있습니다.
    2. 도구 호출 정확성: 대화 중에 호출될 것으로 예상되는 도구가 대화에 얼마나 충실하게 포함되어 있는지를 반영하는 값입니다. 값의 범위는 0~1입니다. 대화에서 도구가 사용되지 않으면 정확성이 -- (해당 없음)로 표시됩니다.
    3. 지연 시간: 에이전트가 최종 사용자 요청을 처리하고 사용자에게 응답하는 데 걸리는 총 시간 (사용자 발화 종료와 에이전트 응답 시작 간의 차이). 단위는 초입니다.
  2. 골든 테스트 사례 업데이트: 최신 실행이 에이전트 업데이트로 인한 예상 변경사항을 반영하는 경우 '골든으로 저장'을 클릭하여 원래 테스트 사례를 덮어쓸 수 있습니다.
  3. 결과 필터링 및 정렬: 생성된 측정항목 또는 특정 환경을 기준으로 평가 결과를 필터링하고 정렬할 수 있습니다. 이는 각 업데이트 후 성능 변화를 추적하는 데 유용합니다.

일괄 가져오기 테스트 사례 형식 지정

이 섹션에서는 에이전트의 일괄 테스트 사례를 가져오기 위해 CSV 파일의 형식을 지정하는 방법을 설명합니다. 시스템은 이 파일을 읽어 하나 이상의 대화 차례가 포함된 구조화된 테스트 사례 집합을 만듭니다.

단일 테스트 사례는 CSV 파일에서 여러 행에 걸쳐 있을 수 있습니다. 테스트 사례의 첫 번째 행은 이름 및 언어와 같은 전반적인 속성을 정의합니다. 해당 테스트 사례의 각 후속 행은 대화에서 앞뒤로 한 번씩 차례를 정의합니다 (사용자가 말하면 에이전트가 응답할 것으로 예상됨).

CSV 파일에는 첫 번째 줄에 헤더 행이 있어야 합니다. 이 헤더는 각 열의 데이터를 정의합니다.

필수 헤더

두 개의 필수 헤더는 표시된 순서대로 있어야 합니다. 둘 다 새 테스트 사례의 첫 번째 행에 필요합니다. 새 DisplayNameLanguageCode 값을 제공하여 새 테스트 사례를 시작할 수 있습니다.

  • DisplayName: 테스트 사례의 이름입니다. 이는 새 테스트 사례의 첫 번째 행에만 채워집니다.
  • LanguageCode: 테스트의 언어 코드 (예: en, en-US, es).

헤더(선택사항)

다음 선택적 헤더를 포함하여 테스트 사례에 대한 세부정보를 더 제공할 수 있습니다. 처음 두 개의 필수 열 뒤에 순서에 관계없이 올 수 있습니다.

테스트 사례 메타데이터

  • 태그: 테스트를 구성하기 위한 공백으로 구분된 태그 (예: '결제 온보딩').
  • 메모: 자유 텍스트 메모 또는 테스트 사례 목적에 대한 설명입니다.
  • TestCaseConfigV2.StartResource: 테스트를 시작할 흐름 또는 플레이북을 지정합니다.

사용자 입력

  • UserInput.Input.Text: 사용자가 특정 차례에 '입력'하는 텍스트입니다.
  • UserInput.InjectedParameters: 차례 시작 시 대화에 삽입할 매개변수로, JSON 문자열로 형식이 지정됩니다.

에이전트 출력

  • AgentOutput.QueryResult.ResponseMessages.Text: 에이전트가 응답했다고 어설션하는 정확한 텍스트입니다.
  • AgentOutput.QueryResult.Parameters: 에이전트가 추출했다고 어설션하는 매개변수로, JSON 문자열로 형식이 지정됩니다.

기대

  • OrderedExpectations.ExpectedFlow: 차례 후에 활성화될 것으로 예상되는 흐름입니다.
  • OrderedExpectations.ExpectedIntent: 차례에 일치할 것으로 예상되는 인텐트입니다.
  • OrderedExpectations.ExpectedAgentReply: 에이전트가 응답할 것으로 예상되는 텍스트입니다. 전체 응답의 하위 문자열일 수 있습니다.
  • OrderedExpectations.ExpectedOutputParameter: 차례 끝에 설정될 것으로 예상되는 매개변수로, JSON 문자열로 형식이 지정됩니다.

오디오 메타데이터

  • AudioTurnMetadata 오디오 기반 테스트의 메타데이터로, JSON 문자열로 형식이 지정됩니다.

테스트 사례 빌드

테스트 사례는 데이터 행별로 구성됩니다.

  1. 새 테스트 사례를 시작하려면 메타데이터 행을 작성합니다.
    • 규칙: 이 행에는 DisplayName 열에 값이 있어야 합니다.
    • 작업: DisplayNameLanguageCode의 값을 입력합니다. 이 행에 태그, 메모 또는 TestCaseConfigV2.StartResource를 추가할 수도 있습니다. 대화 차례 열 (UserInput.Input.Text 등)은 이 행에서 비워 두어야 합니다. 태그를 사용하는 경우 각 태그를 공백으로 구분합니다. 예: tag1 tag2 tag3. TestCaseConfigV2.StartResource를 사용하는 경우 리소스 이름 앞에 start_flow: 또는 start_playbook:을 붙입니다. 예: start_flow:projects/p/locations/l/agents/a/flows/f.
  2. 바로 아래에 새 행을 추가하여 방금 시작한 테스트 사례에 대화 차례를 추가합니다.
    • 규칙: DisplayName 열은 비어 있어야 합니다. 이렇게 하면 파서에 이전 테스트 사례에 속하는 차례임을 알립니다.
    • 작업: 이 차례의 사용자 작업과 예상되는 에이전트 응답을 설명하는 열을 UserInput.Input.TextOrderedExpectations.ExpectedAgentReply과 같이 채웁니다. JSON이 필요한 열의 경우 유효한 JSON 객체를 문자열로 제공해야 합니다. 예: {"param_name": "param_value", "number_param": 123}.