Partilhar via


Projetar navegação de bot

APLICA-SE A: SDK v4

Os usuários podem navegar em sites usando trilhas de navegação, aplicativos usando menus e navegadores da Web usando botões como avançar e voltar. No entanto, nenhuma dessas técnicas de navegação bem estabelecidas aborda inteiramente os requisitos de navegação dentro de um bot. Conforme discutido em Design e controle de fluxo de conversa, os usuários geralmente interagem com bots de forma não linear, tornando desafiador projetar a navegação de bots que oferece consistentemente uma ótima experiência ao usuário.

Considere os seguintes dilemas:

  • Como você garante que um usuário não se perca em uma conversa com um bot?
  • Um usuário pode navegar "de volta" em uma conversa com um bot?
  • Como um usuário navega para o "menu principal" durante uma conversa com um bot?
  • Como um usuário "cancela" uma operação durante uma conversa com um bot?

As especificidades do design de navegação do bot dependem em grande parte dos recursos e funcionalidades suportados pelo bot. Independentemente do tipo de bot que você está desenvolvendo, você vai querer evitar as armadilhas comuns de interfaces de conversação mal projetadas. Este artigo descreve essas armadilhas em termos de cinco personalidades: o "bot teimoso", o "bot sem noção", o "bot misterioso", o "bot óbvio capitão" e o "bot que não pode esquecer".

Gorjeta

Mitigar cada tipo dessas personalidades para seu bot geralmente pode ser feito lidando corretamente com as interrupções do usuário.

O "bot teimoso"

O bot teimoso insiste em manter o curso atual da conversa, mesmo quando o usuário tenta direcionar as coisas em uma direção diferente.

Considere o seguinte cenário:

Example of a stubborn bot asking the same question over and over again.

Os usuários muitas vezes mudam de ideia, decidem cancelar ou, às vezes, querem começar de novo.

Gorjeta

Fazer: projete seu bot para considerar que um usuário pode tentar mudar o curso da conversa a qualquer momento.

Não: projete seu bot para ignorar a entrada do usuário e continuar repetindo a mesma pergunta em um loop infinito.

Uma maneira de evitar que um bot faça a mesma pergunta infinitamente é especificar um número máximo de tentativas para cada pergunta. Se projetado dessa maneira, o bot não faz nada inteligente para entender a entrada do usuário, mas evita fazer a mesma pergunta em um loop infinito.

O "bot sem noção"

O bot sem noção responde de maneira absurda quando não entende a tentativa de um usuário de acessar determinada funcionalidade. Um usuário pode tentar comandos comuns de palavras-chave como "ajuda" ou "cancelar" com expectativas razoáveis de que o bot responderá adequadamente.

Considere o seguinte cenário:

Example of a clueless bot accepting 'help' as a product code.

Embora você possa ficar tentado a projetar cada diálogo dentro do seu bot para ouvir e responder adequadamente a certas palavras-chave, essa abordagem não é recomendada.

Gorjeta

Fazer: implemente um middleware que examinará a entrada do usuário para as palavras-chave especificadas (por exemplo, "ajuda", "cancelar", "começar de novo" e assim por diante) e responderá adequadamente.

Não: crie todas as caixas de diálogo para examinar a entrada do usuário para obter uma lista de palavras-chave.

Ao definir a lógica em seu middleware, você a torna acessível a todas as trocas com o usuário. Em seguida, caixas de diálogo e prompts individuais podem ser feitos para ignorar com segurança as palavras-chave, se necessário.

O "bot misterioso"

O bot misterioso não reconhece imediatamente a entrada do usuário de forma alguma.

Considere o seguinte cenário:

Example of a mysterious bot that doesn't respond to any of a user's messages.

Em alguns casos, essa situação pode ser um indício de que o bot está tendo uma interrupção. No entanto, pode ser que o bot esteja ocupado processando a entrada do usuário e ainda não tenha terminado de compilar sua resposta.

Gorjeta

Fazer: projete seu bot para reconhecer imediatamente a entrada do usuário, mesmo nos casos em que o bot pode levar algum tempo para compilar sua resposta.

Não: projete seu bot para adiar a confirmação da entrada do usuário até que o bot termine de compilar sua resposta.

Ao reconhecer imediatamente a entrada do usuário, você elimina qualquer potencial de confusão quanto ao estado do bot. Se sua resposta demorar muito tempo para compilar, considere enviar uma mensagem de "digitação" para indicar o funcionamento do bot e, em seguida, fazer o acompanhamento com uma mensagem proativa.

O "capitão bot óbvio"

O bot capitão óbvio fornece informações não solicitadas que são completamente óbvias e, portanto, inúteis para o usuário.

Considere o seguinte cenário:

Example of a bot stating many things that are obvious to the user.

Gorjeta

Fazer: projete seu bot para fornecer informações que serão úteis para o usuário.

Não: projete seu bot para fornecer informações não solicitadas que provavelmente não serão úteis para o usuário.

Ao projetar seu bot para fornecer informações úteis, você está aumentando as chances de que o usuário se envolva com seu bot.

O "bot que não pode esquecer"

O bot que não pode esquecer integra inadequadamente informações de conversas passadas na conversa atual.

Considere o seguinte cenário:

Example of a bot that insists on completing an interaction from months ago.

Gorjeta

Fazer: projete seu bot para manter o tópico atual da conversa, a menos que o usuário expresse o desejo de revisitar um tópico anterior.

Não: projete seu bot para interjeitar informações de conversas anteriores quando elas não forem relevantes para a conversa atual.

Ao manter o tópico atual da conversa, você reduz o potencial de confusão e frustração e aumenta as chances de que o usuário continue a se envolver com seu bot.

Próximos passos

Ao projetar seu bot para evitar essas armadilhas comuns de interfaces de conversação mal projetadas, você está dando um passo importante para garantir uma ótima experiência do usuário.

Em seguida, saiba mais sobre os elementos de UX nos quais os bots normalmente se baseiam para trocar informações com os usuários.