Projeto do agente

Nesta página, oferecemos orientação para projetar agentes de alta qualidade que atendam aos seus objetivos de negócios.

Antes de criar um agente

Nesta seção, fornecemos as informações que você precisa considerar antes de começar a criar um agente.

Objetivo

Considere o objetivo geral do seu agente:

  • O que sua empresa quer conquistar?
  • O que os usuários esperam do seu agente?
  • Com que frequência os usuários interagirão com seu agente?

Plataforma

Pense em como os usuários vão acessar o agente. Analise as plataformas compatíveis com o Dialogflow antes de criar conteúdo. Prepare seu conteúdo de acordo com a escolha das plataformas compatíveis. Algumas das integrações de plataforma do Dialogflow aceitam mensagens avançadas, que podem incluir elementos como imagens, links e fragmentos de sugestões.

Criar agentes de modo iterativo

Caso seu agente seja grande ou complexo, comece criando um diálogo que atenda apenas às solicitações de nível superior. Depois de estabelecer a estrutura básica, itere os caminhos de conversa para garantir que todas as rotas possíveis que um usuário pode seguir foram incluídas.

Pre-built Agents

O Dialogflow oferece agentes prontos para ajudar você a começar. Os agentes pré-criados abrangem casos de uso comuns, como reserva de hotéis, navegação e compras on-line. Eles vêm com intents e entidades que englobam as consultas de usuários mais comuns. Inclua respostas específicas à sua empresa e você criará um agente funcional rapidamente.

Entidades do sistema

Quando um usuário faz uma solicitação, há informações importantes para analisar no que foi solicitado. No Dialogflow, elas são chamadas de entidades. Em particular, as entidades do sistema são entidades pré-criadas fornecidas pelo Dialogflow para processar os tipos de informações mais conhecidos.

Small Talk

Ao desenvolver o diálogo, também é possível incluir solicitações que não têm relação com o tópico principal. O Dialogflow oferece um recurso opcional chamado small talk. Ative esse recurso para que seu agente responda a assuntos gerais, reações emocionais e perguntas sobre o próprio agente. É possível personalizar todas as respostas desse recurso para garantir que a experiência seja casual, profissional ou uma mistura de ambos, de modo a representar sua marca.

Práticas recomendadas de projeto do agente

Nesta seção, apresentamos uma lista de práticas recomendadas para um agente robusto, preciso, eficiente e utilizável.

Saudações e despedidas

Prática recomendada Detalhes
As intents de boas-vindas precisam informar os usuários sobre os recursos do agente levando a marca em consideração. A intent de boas-vindas do seu agente precisa informar ao usuário sobre duas ou três tarefas com que o agente pode ajudar, além de fornecer descrições breves sobre como usar os recursos, conforme necessário.
Os agentes precisam ter uma mensagem de despedida adequada quando uma interação bem-sucedida tiver terminado. Quando um usuário conclui uma tarefa, o agente precisa resumir a transação/tarefa e dizer algo como “Até a próxima”.

Machine learning e treinamento

Prática recomendada Detalhes
As intents precisam ter pelo menos de 10 a 20 frases de treinamento (dependendo da complexidade). A complexidade do agente determinará o número real de frases de treinamento que cada intent precisa ter, mas entre 10 e 20 (dependendo da complexidade da intent) é um bom mínimo. Quanto mais parâmetros as intents tiverem, mais frases você precisará fornecer para treinar o modelo de machine learning.
As frases de treinamento precisam ser variadas. Inclua variações de perguntas, comandos, verbos e sinônimos de substantivos comuns para garantir que as frases englobem um amplo espectro de solicitações possíveis.
As anotações precisam ser consistentes.
  • Avalie suas frases de treinamento e verifique se as anotações destacadas apontam para as entidades corretas.
  • Não é necessário ter texto em frases de treinamento anotadas em alguns casos, mas não em outros.
  • O intervalo de texto selecionado para uma anotação precisa incluir todo o texto necessário para corresponder a uma entidade e não mais que isso.
  • Verifique se o texto anotado em várias frases de treinamento contém partes semelhantes. Por exemplo, suponha que você tem uma frase de treinamento "Definir alarme às 6h", em que "6h" é anotado como @sys.date. Se você tiver uma frase de treinamento "acorde-me às 7h", anote "7h", mas não anote "às 7h".
As entidades personalizadas devem abranger uma grande diversidade de exemplos. As entidades são listas de itens. O machine learning cuidará das classes gramaticais, mas é necessário incluir todos os itens possíveis. Além disso, marque a opção definir sinônimos e inclua algumas variações.
Desative o ML para o menor número possível de intents. Frases de treinamento para intents com o ML desativado não são usadas durante o treinamento de seu agente. Uma consulta de usuário muito semelhante a uma frase de treinamento em uma intent com o ML desativado pode ser correspondida à intent errada se outras intents com o ML ativado tiverem uma leve semelhança com a consulta do usuário. Se você tiver problemas com falsos positivos, aumente o limiar de classificação do ML em vez de desativá-lo.
Não defina um limiar alto de classificação do ML para um agente com apenas alguns dados de treinamento. Se o limiar for alto e não houver muitos dados de treinamento, somente as consultas de usuários que tiverem correspondências quase exatas às frases de treinamento resultarão em correspondência de intents. É preciso fornecer muitos dados de treinamento se você quiser um limiar alto.
Os agentes precisam ter uma intent de fallback. Sem os intents de fallback, as consultas de usuário sem correspondência resultarão em respostas vazias.
Os agentes precisam fornecer exemplos negativos. Exemplos negativos impedem que haja correspondências não intencionais de intents nas consultas do usuário que são um pouco semelhantes às frases de treinamento.
Não defina entidades que correspondam a praticamente tudo. Isso degrada o desempenho e a qualidade do ML. Quase tudo em cada frase de treinamento será avaliado como uma correspondência possível. Considere o uso de @sys.any em vez disso. Da mesma forma, entidades compostas não podem conter um único @sys.any como sinônimo.
Não defina entidades compostas de pausas discursivas ou texto sem sentido. Exemplos de pausas discursivas e texto sem sentido são: "hmmm", "vamos ver", "por favor" e "você poderia". Se você estiver tentando usar entidades como essa para introduzir uma variedade, estará apenas degradando o desempenho do ML. O Dialogflow já aumenta os dados para lidar com uma variedade como essa. Adicione frases como essa nas frases de treinamento, não nas entidades.
As entidades precisam ter um escopo limitado que capture valores distintos de um tipo de informação. Mantenha suas entidades focadas, curtas e simples. Se os valores de entidade forem complicados, talvez as frases de treinamento de intent sejam mais adequadas para sua situação. Por exemplo, considere estas expressões de usuário final: "Como posso fazer uma chamada internacional com o plano A?" e "Uso de roaming de dados internacional com o plano B". Não crie entidades para as ações ("Como posso fazer uma chamada internacional" e "Uso de roaming de dados internacional") e os planos ("Plano A", "Plano B"). Em vez disso, use frases de treinamento e correspondência de intent para detectar as ações/entidades e os planos.
O texto anotado nas frases de treinamento precisa ter variedade. Por exemplo, se você fornece valores de tempo que precisam ser analisados como entidades de sistema @sys.time em frases de treinamento, não forneça o mesmo horário em todas essas frases. As frases de treinamento precisam ter uma variedade de exemplos de horários como: "7h", "20h" e "9 horas".
Intents com muitos parâmetros também precisam ter muitas frases de treinamento. Como regra, tente ter pelo menos três vezes mais frases de treinamento do que parâmetros. O recomendado é ter, no mínimo, 10 a 20 frases de treinamento (dependendo da complexidade da intent).
Cada parâmetro precisa ser usado em muitas frases de treinamento. Como regra, cada parâmetro precisa ser usado em pelo menos cinco frases de treinamento.
Evite usar várias entidades @sys.any em uma frase de treinamento. Uma frase de treinamento não pode conter duas entidades @sys.any consecutivas ou um total de três entidades @sys.any. O Dialogflow pode não conseguir distingui-las.
Não use frases de treinamento semelhantes em intents diferentes. Intents diferentes não precisam conter frases de treinamento similares, porque isso evitará que o Dialogflow aprenda a reconhecer essas frases.
Ative a correção ortográfica automática. Se você estiver usando entrada de texto, será preciso ativar a correção ortográfica automática.
Não aninhe entidades compostas. Não use mais de um nível de aninhamento em entidades compostas. Cada nível de aninhamento degrada a qualidade de modo significativo.
Evite caracteres especiais em frases de treinamento. Caracteres especiais em frases de treinamento, como {, _, # e [ serão ignorados. Emojis são uma exceção. Eles funcionam como esperado.

Recursos úteis para intents

Prática recomendada Detalhes
Os agentes precisam aceitar solicitações contextuais. Por exemplo, caso seu agente processe solicitações sobre a previsão do tempo e um usuário diga "Tempo em São Francisco", adicione contextos para aceitar outras solicitações, como "E amanhã?".
Os agentes precisam ter continuidades para "sim", "não", "cancelar", "avançar", "voltar" etc. As intents de continuidade são usadas para responder a respostas comuns. Para adicionar uma intent de continuidade, passe o mouse sobre uma intent e clique em Adicionar continuidade.
Os intents precisam ter pelo menos uma resposta de texto. A seção de resposta está na parte inferior da página de intents. Adicionar variações embaralhará a resposta escolhida, criando uma experiência menos repetitiva.
Os agentes precisam coletar todas as informações necessárias para atender à solicitação do usuário. Pense em definir os parâmetros obrigatórios necessários. O agente continuará a fazer solicitações ao usuário até conseguir as informações necessárias. Isso é chamado de preenchimento de slot.
As respostas precisam repetir informações conforme necessário, como confirmar um pedido. Quando um usuário faz uma solicitação, como um pedido ou alteração de informações, o agente precisa repetir o que está acontecendo para fins de confirmação. Ao criar essas respostas de confirmação, inclua todas as combinações possíveis de entidades e parâmetros repetidos.

Correção da conversa

Prática recomendada Detalhes
Os agentes precisam ter prompts de recuperação úteis para cada etapa do diálogo. Por exemplo, se o prompt inicial for "Que cor você quer?" e o usuário responder com "papagaio da selva", um intent de continuidade/fallback precisa reformular a pergunta, como "Desculpe, qual é a cor?".
Os agentes precisam ter respostas personalizadas e específicas para a marca no intent de fallback padrão. Quando um usuário diz algo que não corresponde a uma intent, a correspondência é feita com a intent de fallback padrão. Ela precisa ser personalizada para refletir sua marca, bem como fornecer informações que orientam o usuário a fazer uma solicitação válida.
Para fulfillment personalizado, os agentes precisam ter uma intent que permita aos usuários repetir informações. Uma intent pode processar solicitações como "fale de novo", "repita", "reproduza novamente" etc. Essa pode ser uma intent de continuidade.

Perfil

Prática recomendada Detalhes
As respostas dos agentes precisam ter estilo e tom adequados à marca e ser consistentes. À medida que os usuários conversam com o agente, o ideal é que eles tenham a impressão de que estão conversando com uma pessoa. Verifique se a personalidade e as qualidades escolhidas estão representadas em todas as respostas.
Os agentes precisam ser conscientes em relação a culturas, gêneros, crenças religiosas, deficiências e idades. Estereótipos podem ofender os usuários, mesmo em piadas, fazendo com que eles deixem de usar seu agente.

Como testar

Prática recomendada Detalhes
Teste seu aplicativo completamente com alguém que não esteve envolvido no desenvolvimento. Pedir a alguém que não está familiarizado com o agente para usar o aplicativo trará insights sobre como as conversas fluem naturalmente. Peça à essa pessoa que preste atenção na precisão, nas pausas longas, na falta de caminhos de conversa, no ritmo, nas transições estranhas etc.
Teste seu aplicativo em todas as plataformas em que você queira que haja compatibilidade. Se o agente estiver disponível em uma ou mais plataformas, verifique se respostas e mensagens avançadas serão exibidas como esperado em todas as plataformas.

Guias de criação de conversas extras

Consulte o guia de criação de conversas fornecido pela equipe do Actions on Google.