Design para cauda longa
Não exagere
Na fase de requisitos, você definiu um conjunto claro de principais casos de uso. Lembre-se dessas prioridades e evite adicionar casos extremos a essa lista. Conforme você entra nos detalhes do design, surgem novos cenários que você não havia considerado. Antes de expandir o escopo do design para lidar com esses novos cenários, considere o impacto.
A cabeça | O corpo | A cauda longa |
---|---|---|
Principais casos de uso Esses são os caminhos de conversa mais importantes e comuns que os usuários seguirão pelo seu recurso. Concentre a maior parte de seu esforço em tornar esses caminhos uma ótima experiência do usuário. |
Desvios São caminhos de conversa menos comuns e, com frequência, menos diretos ou menos bem-sucedidos por meio de seu recurso. Dedique um tempo para apoiá-los adequadamente, mas evite gastar muito tempo e esforço para criá-los. |
Casos extremos Esses caminhos são altamente incomuns. Verifique se solicitações genéricas como "Desculpe, não sei como ajudar" são boas o suficiente ou se você pode ser um pouco mais específico com uma solução minimamente viável. |
Use a regra 80/20, ou Princípio de Pareto, para evitar o excesso de design.
Para o design de conversas, essa regra é uma maneira de dizer que nem todos os caminhos são criados da mesma forma. 80% dos usuários seguem os 20% mais comuns de caminhos possíveis em uma caixa de diálogo. Portanto, invista recursos para ter o maior impacto.
Da mesma forma, há compensações em termos de perfeição ou integridade. Pode ser necessário 80% do trabalho para realmente polir os últimos 20% do projeto. Nesses casos, o esforço refinado pode ser "bom o suficiente".
![](https://developers.google.cn/static/assistant/conversation-design/images/8020diagram.png?authuser=8&hl=pt-br)
Desvios comuns
Entre os principais casos de uso e os casos extremos estão alguns desvios um pouco comuns. Normalmente, esses são novos cenários que você não tinha considerado até que eles tenham sido revelados durante o teste ou descobertos durante o desenvolvimento. E, na maioria das vezes, elas exigem processamento mais longo e menos direto no caminho alternativo.
Veja alguns desvios comuns a serem considerados:
Contas desvinculadas
![](https://developers.google.cn/static/assistant/conversation-design/images/unlinkedaccounts.png?authuser=8&%3Bhl=pt-br&hl=pt-br)
Nesse caso, o usuário não vinculou a conta.
Ações incompatíveis
![](https://developers.google.cn/static/assistant/conversation-design/images/common-detours2.png?authuser=8&%3Bhl=pt-br&hl=pt-br)
Os usuários podem pedir ações incompatíveis com sua ação.
Cobertura de intents
A criação de conversas envolve a escrita de uma metade de uma caixa de diálogo, esperando que ela seja robusta o bastante para que qualquer pessoa possa intervir e agir. Ao desenvolver para a cauda longa, concentre-se no que o usuário pode dizer em todas as etapas da caixa de diálogo para definir os intents (também chamados de gramáticas).
Uma intent representa um mapeamento entre o que o usuário diz e o que a ação precisa fazer. Por exemplo, a solicitação "Você gosta de pizza?" requer intents para "sim" e "não". Cada intent deve ter uma variedade de frases de treinamento associadas, incluindo sinônimos como "sim" e "não", além de variações como "Adoro" ou "É nojento". Elas podem ser ponderadas pela frequência com que ocorrem. As intents também podem incluir uma anotação, por exemplo, categorizando "muçarela fresca" como um sabor de pizza na resposta do usuário "somente se for feito com muçarela fresca".
Se você estiver usando o Dialogflow, clique aqui para ler mais sobre intents.
É melhor evitar erros do que resolvê-los depois.
![](https://developers.google.cn/static/assistant/conversation-design/images/intentcoverage-do.png?authuser=8&hl=pt-br)
O que fazer:
Inclua uma intent "concluído" com frases de treinamento como "Terminei" ou "Isso é tudo".
![](https://developers.google.cn/static/assistant/conversation-design/images/intentcoverage-dont.png?authuser=8&hl=pt-br)
O que não fazer:
Se a ação estiver esperando apenas perguntas sobre E/S, a resposta do usuário acionará um erro de "Sem correspondência".
Tratamento de erros
Mesmo com intents robustas, ainda há espaço para erros. Os usuários podem desativar o script ao permanecerem silenciosos (um erro "Sem entrada") ou dizendo algo inesperado (um erro "Sem correspondência"). Use solicitações de erro para orientar os usuários suavemente nos caminhos de sucesso ou redefinir as expectativas sobre o que é ou não possível.
Um bom tratamento de erros é específico do contexto. Portanto, as solicitações para erros "Sem entrada" e "Sem correspondência" precisam ser projetadas para cada turno na caixa de diálogo.