Comportamentos do prompt

Você pode personalizar alguns comportamentos de agentes virtuaisFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo. baseados em voz em cada turno da conversa. Isso inclui coisas como ruído de conforto, invasão e limites de tempo.

Você pode personalizar o comportamento de todos os turnos em uma conversa ou apenas um turno:

  • All Conversation Turns: Crie um snippet Comportamentos de próximo prompt padrão para fazer com que o script use os comportamentos definidos como padrão para todos os turnos durante a conversa.
  • One Turn: Se quiser especificar um conjunto diferente de comportamentos para um determinado turno durante uma interação, crie um snippet de Comportamentos de próximo prompt padrão . Por exemplo, durante turnos normais de conversa, você pode não querer a coleta DTMF ativada. Mas se o agente virtual precisa de um prompt para pedir informações ao contato, você pode criar um snippet para este prompt que inclua regras de coleta DTMF.

Os comportamentos descritos nesta página só podem ser configurados em scripts do Studio que usam ações do Studio que têm a propriedade nextPromptBehaviors, como Voicebot Exchange ou Cloud Transcribe. A personalização desses comportamentos é feita por meio de ações Snippet com código personalizado. O código deve ser escrito em Snippet, uma linguagem de script interna usada em scripts Studio.

Para obter informações e códigos de exemplo para cada comportamento, consulte a ajuda online para o trecho Comportamentos do próximo prompt ou o trecho Comportamentos padrão do próximo prompt.

Os comportamentos descritos nesta página também se aplicam a aplicativos que não são agentes virtuais de Transcrição turno a turno que usam a ação Cloud Transcribe.

Lidar com limite de tempo e silêncio

Você pode configurar opções para lidar com silêncios em ambos os lados da conversa entre um contato e um agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo.. Os agentes virtuais encontram silêncio quando o contato demora muito para responder ou se há pausas no meio de um enunciado. Os contatos podem ficar em silêncio se o agente virtual demorar muito para responder.

Limites de tempo de contato

Você pode configurar quanto tempo o agente virtual espera o contato responder nas seguintes situações:

  • Limite de tempo sem resposta: Você pode configurar quanto tempo o agente virtual espera para que o contato comece a falar em cada turno da conversa. O temporizador desse parâmetro começa assim que for a vez do contato na conversa. Use o parâmetro silenceRules.millisecondsToWaitForUserResponse para definir essa configuração.
  • Pausas no meio do enunciado: Você pode configurar quanto tempo o agente virtual espera que o contato continue falando se ele fizer uma pausa no meio de um enunciadoFechado O que um contato diz ou digita.. Use o parâmetro utteranceConfig.maxPostEnergySilenceMS para definir essa configuração.
  • Ambientes ruidosos: Se o contato estiver em um local com muito ruído de fundo, o agente virtual pode ter dificuldade em determinar se o contato está falando ou se terminou. Isso é um problema particularmente quando a interrupção está habilitada. Você pode definir uma configuração de limite de tempo adicional para dar ao agente virtual mais tempo para determinar o que o contato está dizendo. Consulte a seção Como lidar com ruído de fundo para obter mais informações.

  • Pausas entre a inserção de dígitos DTMF: Se o script permitir que o contato insira tons DTMFFechado Tons de sinalização gerados quando um usuário pressiona ou toca em uma tecla do teclado do telefone., você poderá definir um limite de tempo para quanto tempo o script espera entre os dígitos. Use o parâmetro dtmfrules.interDigitTimeoutMilliseconds para definir essa configuração.

Atrasos do agente virtual

Às vezes, o agente virtual pode demorar mais para responder do que o esperado. Os contatos podem presumir que a chamada foi desconectada se a linha ficar silenciosa por muito tempo. Você pode configurar o ruído de conforto para tocar nessas situações. O ruído de conforto ajuda a assegurar ao contato que a chamada ainda está ativa. Você pode usar qualquer arquivo de áudio WAV para fornecer ruído de conforto.

As seguintes propriedades permitem gerenciar atrasos do agente virtual:

  • Ativar ruído de conforto: O parâmetro silenceRules.engageComfortSequence permite ativar o ruído de conforto.
  • Definir gatilho de ruído de conforto: Use o parâmetro silenceRules.botResponseDelayTolerance para especificar quanto tempo em milissegundos você quer que o script aguarde antes de iniciar a sequência de ruído de conforto.
  • Fornecer o arquivo de áudio de conforto: Você pode usar um arquivo de áudio existente ou criar um novo arquivo usando uma ação Studio compatível com o Prompt Manager, como Play. Você também pode usar um aplicativo de terceiros para criar um arquivo e carregá-lo. Os arquivos devem estar no formato WAV. Crie a sequênciaFechado Um segmento de um prompt de áudio reproduzido para o contato. de prompts de conforto com o parâmetro silenceRules.comfortPromptSequence.prompts[1].audioFilePath.

Como lidar com o silêncio

As seguintes propriedades permitem gerenciar aspectos de silêncio nas interações do agente virtual:

  • Ruído de conforto: Conforme descrito na seção Atrasos do agente virtual, o ruído de conforto permite reproduzir um arquivo de áudio quando o agente virtual demora mais para responder do que o esperado. O ruído de conforto permite que o contato saiba que a chamada ainda está ativa.
  • Remover silêncio: Você pode remover o silêncio no início de cada elocução antes que o áudio seja enviado ao agente virtual. Isso reduz o tamanho do áudio, o que ajuda a prevenir ou reduzir a latência no processamento de cada resposta do agente virtual. Use o parâmetro silenceRules.trimSilence para ativar esse recurso. Ele é desativado por padrão.

Como lidar com ruído de fundo

Quando um contato está falando durante uma conversa com o agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo., o CXone espera ouvir o silêncio antes de enviar o enunciadoFechado O que um contato diz ou digita. ao agente virtual. Se o contato estiver em um ambiente ruidoso, o agente virtual pode ter dificuldade em saber se o contato está falando ou se terminou. Isso pode ser um problema particularmente quando a interrupção está habilitada.

O ruído de fundo pode causar o acionamento do parâmetro millisecondsToWaitForUserResponse. Se o ruído de fundo continuar por tempo suficiente até que o limite de tempo de millisecondsToWaitForUserResponse seja atingido, o script usa o ramal userInputTimeout.

Para impedir que o agente virtual trate situações como essa como se o contato não respondesse, você pode configurar o parâmetro utteranceConfig.maxUtteranceMilliseconds nos trechos de Comportamentos do Prompt. O benefício dessa configuração é que se o tempo limite for atingido, o script envia o áudio capturado para o agente virtual. O agente virtual interpreta o áudio da melhor forma possível e usa o ramal mais apropriado.

O temporizador para maxUtteranceMilliseconds começa assim que o agente virtual detectar o áudio, seja o contato falando ou ruído de fundo. O parâmetro maxUtteranceMilliseconds cancela o temporizador de millisecondsToWaitForUserResponse. Isso estende essencialmente o limite de tempo até a duração da pausa — ou o tempo entre millisecondsToWaitForUserResponse e maxUtteranceMilliseconds. Quando o limite maxUtteranceMilliseconds é atingido, o agente virtual tenta determinar a intençãoFechado O significado ou propósito por trás do que um contato diz/digita; o que o contato quer comunicar ou alcançar. do contato pelo áudio capturado. O script usa um dos seguintes ramais, com base no que o agente virtual determina:

  • Intenção encontrada: Se o agente virtual determina uma intenção, o script usa o ramal PromptAndCollectNextResponse.

  • Nenhuma intenção encontrada: Se o agente virtual não conseguir determinar uma intenção, o script usa o ramal UserInputNotUnderstood ou UserInputTimeout. Ele usa o ramal mais apropriado com base na situação.

Configuração padrão

Não há padrão definido para maxUtteranceMilliseconds. O tempo apropriado varia dependendo da situação. Se uma resposta curta, como sim ou não for esperada do contato, definir maxUtteranceMilliseconds como 10 segundos é razoável. Outras respostas, como números de contas ou endereços, podem exigir mais tempo.

Coleta de DTMF

Você pode configurar seu script para coletar tons DTMFFechado Tons de sinalização gerados quando um usuário pressiona ou toca em uma tecla do teclado do telefone. do contato. Use os seguintes parâmetros para configurar a coleta de DTMF:

  • Ativar a detecção de DTMF: Defina o parâmetro audioCollectionRules.dtmfRules.detectDtmf como true e adicione os parâmetros para os comportamentos de coleta de DTMF desejados.
  • Limpar o buffer de tons DTMF: Se você só quiser coletar os tons inseridos depois que o script iniciar a ação que pergunta ao contato, defina audioCollectionRules.dtmfRules.clearDigits como true. Isso limpa o buffer armazena em cache os tons DTMF quando o contato pressiona teclas no teclado do telefone.
  • Exigir um caractere de terminação: Se você quiser que os contatos insiram um caractere que indique que eles terminaram de inserir dígitos, inclua o parâmetro audioCollectionRules.dtmfRules.terminationCharacter e defina o valor como o caractere que você quer que os contatos digitem. Por exemplo, o sinal de jogo da velha (#) é comumente usado como caractere de terminação.
  • Tirar caractere de terminação: Se você precisar de um caractere de terminação, faça com que o script remova o valor do caractere de terminação dos tons DTMF capturados. Quando removido, o caractere de terminação não é processado pelo script. Inclua o audioCollectionRules.dtmfRules.stripTerminator e defina-o como true para tirar o caractere de terminação.
  • Configurar um limite de tempo entre os dígitos: Você pode configurar um tempo limite para permitir que o script lide com situações em que o contato demora muito para inserir o próximo dígito. Inclua o caractere audioCollectionRules.dtmfRules.interDigitTimeoutMilliseconds e defina-o como o número de milésimos de segundo que você quer que o script espere pelo próximo dígito.
  • Definir o número máximo de dígitos aceitos: Você pode configurar o script para aceitar um número máximo de dígitos. Se você precisar de um caractere de terminação, inclua-o no número usado para essa propriedade. Por exemplo, se o prompt instruir o contato a inserir um número de conta de oito dígitos mais um caractere de terminação, defina audioCollectionRules.dtmfRules.maxDigits como 9.

Permitir que os contatos falem sobre um áudio do script (Interromper)

Interromper permite que o contato fale sobre o áudio que o script está reproduzindo. Isso inclui respostas de áudio do agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo.. Se você quiser ativar essa opção, defina o parâmetro audioCollectionRules.bargeConfiguration.enableSpeakerBarge como true.

Quando você ativa a interrupção, o agente virtual é especialmente sensível a ruídos de fundo. Isso pode fazer com que o agente virtual tenha dificuldades para saber se o contato está falando ou se terminou de falar. Para impedir que o agente virtual trate situações como essa como se o contato não respondesse, você pode configurar o parâmetro utteranceConfig.maxUtteranceMilliseconds nos trechos de Comportamentos do Prompt.