Há décadas, implementamos interações entre usuários e sistemas usando tela, mouse e teclado. Entretanto, acreditamos que os tempos mudaram. Cada vez mais, encontramos formas mais criativas e, por que não dizer, humanas dos usuários interagir com sistemas de software. Dentre as novidades, nesse sentido, a adoção de “chatbots” é a mais popular. [tweet]Utilizados corretamente, chatbots, tanto para “conversas” por escrito ou faladas, tem potencial para humanizar a interação com computadores.[/tweet]
Bots podem oferecer, com certas adaptações, acesso às mesmas operações que interfaces convencionais. Além disso, permitem que a interação aconteça em outros meios, não limitados aos fornecidos pelo sistema, eliminando barreiras de adoção.
Na prática, chatbots podem transformar aplicações como Facebook Messenger, Whatsapp, Slack, Microsoft Teams, etc em frontends dos softwares que desenvolvemos. Tudo isso, de maneira integrada a rotina dos usuários e passível de combinação com outras ferramentas e recursos que também funcionam nessas aplicações.
Veja também
O desenvolvimento de um bom chatbot entretanto, não é uma tarefa trivial. Para uma experiência mais “humanizada”, o chatbot precisa ser inteligente e, por isso, seu desenvolvimento demanda adoção de técnicas de IA – começando, mas não restrito, pelo processamento de linguagem natural. Além disso, será essencial garantir integração com os meios certos e, invariavelmente, isso dá trabalho. De maneira pragmática, independentemente do tamanho da equipe ou do tempo disponível, acreditamos que é sempre preferível optar pela a utilização de um serviço externo para “encurtar caminho”.
Serviços como o Azure Bot Service, da Microsoft, reduzem drasticamente o nível de expertise necessário para o desenvolvimento de chatbots, possibilitando, até, que desenvolvedores sem nenhuma experiência consigam fazer a implementação. Ele permite o gerenciamento dos recursos, disponibilizando rotas HTTP para que aplicações customizadas possam interagir, além de expor conectores pré-configurados para facilitar a integração com mensageiros – como Slack, Facebook Messenger e Skype. Além disso, é possível conectar os bots ao serviço de monitoramento do Azure, o Application Insights, permitindo acompanhamento fino da eficácia. Finalmente, o uso dos serviços cognitivos do ecossistema da Microsoft permitem adicionar sofisticação as interações.
Em termos arquiteturais, é importante considerar abstrações para para suportar os novos mecanismos de interação com o sistema. São elementos novos: os conectores com as aplicações clientes, a implementação propriamente dita do bot e a interação com o sistema que suporta o bot – em nossa visão fornecida através de uma API externa.
Veja também
O bot desenvolvido com o suporte do Azure Bot Service poderá ser implementado em C#, node.js, Python ou Java (no momento da escrita desse post em preview)
Chatbots tornam a interação com usuários e, sobretudo, com clientes escalável e padronizada. Além disso, com os avanços da computação e dos recursos cognitivos como os oferecidos pela nuvem, os chatbots já têm condições de superar até mesmo as expectativas dos mais exigentes. É, sem dúvidas, oportunidade para saltos consideráveis de produtividade.